mppx 0.8.13 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/Errors.d.ts +10 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +11 -2
- package/dist/Errors.js.map +1 -1
- package/dist/Method.d.ts +105 -3
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +102 -2
- package/dist/Method.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +12 -2
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/MethodChallenge.d.ts +17 -0
- package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
- package/dist/client/internal/MethodChallenge.js +11 -0
- package/dist/client/internal/MethodChallenge.js.map +1 -0
- package/dist/server/Mppx.d.ts +23 -4
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +91 -82
- package/dist/server/Mppx.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +1 -0
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +1 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +7 -2
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.js +2 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +38 -77
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +289 -209
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +12 -1
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +4 -0
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Relay.d.ts +48 -0
- package/dist/tempo/server/Relay.d.ts.map +1 -0
- package/dist/tempo/server/Relay.js +177 -0
- package/dist/tempo/server/Relay.js.map +1 -0
- package/dist/tempo/server/SponsorBudget.d.ts +59 -0
- package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
- package/dist/tempo/server/SponsorBudget.js +144 -0
- package/dist/tempo/server/SponsorBudget.js.map +1 -0
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +9 -4
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/CredentialState.d.ts +5 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +37 -19
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Runtime.d.ts +8 -0
- package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
- package/dist/tempo/session/client/Runtime.js +17 -0
- package/dist/tempo/session/client/Runtime.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +15 -5
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +93 -36
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +8 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +54 -26
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/Transports.d.ts +7 -5
- package/dist/tempo/session/client/Transports.d.ts.map +1 -1
- package/dist/tempo/session/client/Transports.js +48 -24
- package/dist/tempo/session/client/Transports.js.map +1 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Chain.js +96 -8
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/tempo/session/precompile/Channel.d.ts +2 -0
- package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Channel.js +4 -0
- package/dist/tempo/session/precompile/Channel.js.map +1 -1
- package/dist/tempo/session/server/RequestState.js +3 -1
- package/dist/tempo/session/server/RequestState.js.map +1 -1
- package/package.json +1 -1
- package/src/Errors.test.ts +23 -0
- package/src/Errors.ts +21 -2
- package/src/Method.test.ts +102 -1
- package/src/Method.ts +241 -5
- package/src/client/Mppx.test-d.ts +3 -3
- package/src/client/internal/Fetch.ts +16 -7
- package/src/client/internal/MethodChallenge.ts +30 -0
- package/src/server/Mppx.test-d.ts +2 -0
- package/src/server/Mppx.test.ts +205 -0
- package/src/server/Mppx.ts +167 -103
- package/src/tempo/PublicExports.test-d.ts +20 -0
- package/src/tempo/internal/fee-payer.ts +7 -3
- package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
- package/src/tempo/legacy/client/ChannelOps.ts +2 -1
- package/src/tempo/server/Charge.test.ts +337 -63
- package/src/tempo/server/Charge.ts +435 -267
- package/src/tempo/server/Methods.ts +11 -0
- package/src/tempo/server/Relay.test.ts +523 -0
- package/src/tempo/server/Relay.ts +288 -0
- package/src/tempo/server/SponsorBudget.test.ts +125 -0
- package/src/tempo/server/SponsorBudget.ts +213 -0
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/client/ChannelOps.test.ts +17 -2
- package/src/tempo/session/client/ChannelOps.ts +12 -4
- package/src/tempo/session/client/CredentialState.ts +61 -20
- package/src/tempo/session/client/Runtime.test.ts +12 -0
- package/src/tempo/session/client/Runtime.ts +22 -0
- package/src/tempo/session/client/Session.test.ts +235 -2
- package/src/tempo/session/client/Session.ts +130 -41
- package/src/tempo/session/client/SessionManager.test.ts +102 -4
- package/src/tempo/session/client/SessionManager.ts +71 -27
- package/src/tempo/session/client/Transports.test.ts +32 -1
- package/src/tempo/session/client/Transports.ts +79 -35
- package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
- package/src/tempo/session/precompile/Chain.test.ts +197 -10
- package/src/tempo/session/precompile/Chain.ts +102 -8
- package/src/tempo/session/precompile/Channel.test.ts +9 -0
- package/src/tempo/session/precompile/Channel.ts +5 -0
- package/src/tempo/session/server/RequestState.test.ts +8 -1
- package/src/tempo/session/server/RequestState.ts +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated — do not edit.
|
|
2
|
-
export const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let te;function ne(){return typeof window>`u`?ie():C({name:`iframe`},e=>{let{host:t}=e;if(te&&te.host===t)return te.refs.store=e.store,te.refs.fallback.destroy(),te.refs.fallback=re()(e),te.instance.syncTheme(e.theme),te.instance;te?.instance.destroy();let n={fallback:re()(e),store:e.store},r=!1,i=oe(),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),ae(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{ue(),ie(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let ne=!1,ie=()=>{ne&&(ne=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},se=()=>{ne||(ne=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},ce=!1,le=()=>{ce||(ce=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ue=()=>{if(ce){ce=!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`)}},de={close(){n.fallback.close(),r=!1,ue(),ie()},destroy(){te?.instance===de&&(te=void 0),n.fallback.close(),r=!1,ie(),ue(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,le(),se())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(ee()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return te={host:t,instance:de,refs:n},de})}function re(e={}){if(typeof window>`u`)return ie();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=oe(),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 ie(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ae(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function oe(){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 se,ce=o((()=>{se=`1.2.3`})),le,ue=o((()=>{ce(),le=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@${se}`].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 de(e,t){return e.exec(t)?.groups}var fe,pe,me,he=o((()=>{fe=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,pe=/^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)?$/,me=/^\\(.+?\\).*?$/}));function ge(e){let t=e.type;if(_e.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+=ge(i),r<n-1&&(t+=`, `)}let r=de(_e,e.type);return t+=`)${r?.array||``}`,ge({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var _e,ve=o((()=>{he(),_e=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ye(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=ge(i),r!==n-1&&(t+=`, `)}return t}var be=o((()=>{ve()}));function xe(e){return e.type===`function`?`function ${e.name}(${ye(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ye(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ye(e.inputs)})`:e.type===`error`?`error ${e.name}(${ye(e.inputs)})`:e.type===`constructor`?`constructor(${ye(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Se=o((()=>{be()}));function Ce(e){return Ie.test(e)}function we(e){return de(Ie,e)}function Te(e){return Le.test(e)}function Ee(e){return de(Le,e)}function De(e){return Re.test(e)}function Oe(e){return de(Re,e)}function ke(e){return ze.test(e)}function Ae(e){return de(ze,e)}function je(e){return Be.test(e)}function Me(e){return de(Be,e)}function Ne(e){return Ve.test(e)}function Pe(e){return de(Ve,e)}function Fe(e){return He.test(e)}var Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge=o((()=>{he(),Ie=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Re=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,ze=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Be=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,He=/^receive\\(\\) external payable$/,Ue=new Set([`indexed`]),We=new Set([`calldata`,`memory`,`storage`])})),Ke,qe,Je=o((()=>{ue(),Ke=class extends le{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},qe=class extends le{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`})}}})),Ye,Xe,Ze,Qe,$e,et=o((()=>{ue(),Ye=class extends le{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Xe=class extends le{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`})}},Ze=class extends le{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`})}},Qe=class extends le{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`})}},$e=class extends le{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`})}}})),tt,nt,rt,it=o((()=>{ue(),tt=class extends le{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},nt=class extends le{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},rt=class extends le{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`})}}})),at,ot=o((()=>{ue(),at=class extends le{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`})}}})),st,ct=o((()=>{ue(),st=class extends le{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 lt(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 ut,dt=o((()=>{ut=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 ft(e,t={}){if(De(e))return pt(e,t);if(Te(e))return mt(e,t);if(Ce(e))return ht(e,t);if(je(e))return gt(e,t);if(Ne(e))return _t(e);if(Fe(e))return{type:`receive`,stateMutability:`payable`};throw new nt({signature:e})}function pt(e,t={}){let n=Oe(e);if(!n)throw new tt({signature:e,type:`function`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:We,structs:t,type:`function`}));let o=[];if(n.returns){let e=yt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(vt(e[n],{modifiers:We,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function mt(e,t={}){let n=Ee(e);if(!n)throw new tt({signature:e,type:`event`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:Ue,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function ht(e,t={}){let n=we(e);if(!n)throw new tt({signature:e,type:`error`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function gt(e,t={}){let n=Me(e);if(!n)throw new tt({signature:e,type:`constructor`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function _t(e){let t=Pe(e);if(!t)throw new tt({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function vt(e,t){let n=lt(e,t?.type,t?.structs);if(ut.has(n))return ut.get(n);let r=me.test(e),i=de(r?wt:Ct,e);if(!i)throw new Ye({param:e});if(i.name&&xt(i.name))throw new Xe({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=yt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(vt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Tt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!bt(c))throw new qe({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Ze({param:e,type:t?.type,modifier:i.modifier});if(We.has(i.modifier)&&!St(c,!!i.array))throw new Qe({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ut.set(n,u),u}function yt(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?yt(o,[...t,n.trim()]):yt(o,t,`${n}${i}`,r);case`(`:return yt(o,t,`${n}${i}`,r+1);case`)`:return yt(o,t,`${n}${i}`,r-1);default:return yt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new st({current:n,depth:r});return t.push(n.trim()),t}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||fe.test(e)||pe.test(e)}function xt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||fe.test(e)||pe.test(e)||Et.test(e)}function St(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Ct,wt,Tt,Et,Dt=o((()=>{he(),Je(),et(),it(),ct(),dt(),Ge(),Ct=/^(?<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$_]*))?$/,wt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Tt=/^u?int$/,Et=/^(?: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 Ot(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!ke(n))continue;let i=Ae(n);if(!i)throw new tt({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=vt(t,{type:`struct`});o.push(n)}if(!o.length)throw new rt({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]=kt(a,t)}return r}function kt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(me.test(i.type))r.push(i);else{let e=de(At,i.type);if(!e?.type)throw new $e({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new at({type:o});r.push({...i,type:`tuple${a??``}`,components:kt(t[o],t,new Set([...n,o]))})}else if(bt(o))r.push(i);else throw new Ke({type:o})}}return r}var At,jt=o((()=>{he(),Je(),et(),it(),ot(),Ge(),Dt(),At=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Mt(e){let t=Ot(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];ke(r)||n.push(ft(r,t))}return n}var Nt=o((()=>{Ge(),jt(),Dt()})),Pt=o((()=>{ue(),Se(),ve(),be(),Nt(),Je(),Ge(),jt(),Dt(),et(),it(),ct(),ot()}));function T(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Ft(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new hn(e.type);return`${e.name}(${It(e.inputs,{includeName:t})})`}function It(e,{includeName:t=!1}={}){return e?e.map(e=>Lt(e,{includeName:t})).join(t?`, `:`,`):``}function Lt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${It(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Rt=o((()=>{gn()}));function E(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var zt=o((()=>{}));function Bt(e){return E(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Vt=o((()=>{zt()})),Ht,Ut=o((()=>{Ht=`2.55.6`}));function Wt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Wt(e.cause,t):t?null:e}var Gt,D,O=o((()=>{Ut(),Gt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Ht}`},D=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Gt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Gt.version?[`Version: ${Gt.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=Ht}walk(e){return Wt(this,e)}}})),Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn=o((()=>{Rt(),Vt(),O(),Kt=class extends D{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},qt=class extends D{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},Jt=class extends D{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${It(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}},Yt=class extends D{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Xt=class extends D{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Zt=class extends D{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Bt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Qt=class extends D{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},$t=class extends D{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},en=class extends D{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},tn=class extends D{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},nn=class extends D{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},rn=class extends D{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},an=class extends D{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},on=class extends D{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},sn=class extends D{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},cn=class extends D{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ft(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Ft(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},ln=class extends D{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},un=class extends D{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${It(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},dn=class extends D{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Ft(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},fn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},pn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},mn=class extends D{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},hn=class extends D{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),_n,vn,yn,bn=o((()=>{O(),_n=class extends D{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},vn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},yn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function xn(e,{dir:t,size:n=32}={}){return typeof e==`string`?Sn(e,{dir:t,size:n}):Cn(e,{dir:t,size:n})}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new vn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Cn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new vn({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 wn=o((()=>{bn()})),Tn,En,Dn,On,kn,An,jn,Mn,Nn=o((()=>{O(),Tn=class extends D{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},En=class extends D{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Dn=class extends D{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},On=class extends D{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},kn=class extends D{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},An=class extends D{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},jn=class extends D{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},Mn=class extends D{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Pn(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 Fn=o((()=>{}));function In(e,{size:t}){if(Bt(e)>t)throw new Mn({givenSize:Bt(e),maxSize:t})}function k(e,t={}){let{signed:n}=t;t.size&&In(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 Ln(e,t={}){let n=e;if(t.size&&(In(n,{size:t.size}),n=Pn(n)),Pn(n)===`0x00`)return!1;if(Pn(n)===`0x01`)return!0;throw new Dn(n)}function Rn(e,t={}){let n=k(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Tn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var zn=o((()=>{Nn(),Vt(),Fn()}));function Bn(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(e,t):typeof e==`string`?Un(e,t):typeof e==`boolean`?Vn(e,t):Hn(e,t)}function Vn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{size:t.size})):n}function Hn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Wn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(In(r,{size:t.size}),xn(r,{dir:`right`,size:t.size})):r}function A(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tn({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?xn(s,{size:r}):s}function Un(e,t={}){return Hn(Gn.encode(e),t)}var Wn,Gn,j=o((()=>{Nn(),wn(),zn(),Wn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Gn=new TextEncoder}));function Kn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Xn(e,t):typeof e==`boolean`?qn(e,t):E(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`?(In(n,{size:t.size}),xn(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&&(In(n,{size:t.size}),n=xn(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 D(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Xn(e,t){return Yn(A(e,t))}function Zn(e,t={}){let n=Qn.encode(e);return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{dir:`right`,size:t.size})):n}var Qn,$n,er=o((()=>{O(),zt(),wn(),zn(),j(),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,256/8)}));function di(e,t){let n=t||`hex`,r=li(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}var fi=o((()=>{ui(),zt(),er(),j()}));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 D(`Unable to normalize signature.`);return i}var _i=o((()=>{O()})),vi,yi=o((()=>{Pt(),_i(),vi=e=>gi(typeof e==`string`?e:xe(e))}));function bi(e){return pi(vi(e))}var xi=o((()=>{hi(),yi()})),Si,Ci=o((()=>{xi(),Si=bi})),wi,Ti=o((()=>{O(),wi=class extends D{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),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 E(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>Bt(e)-1)throw new _n({offset:t,position:`start`,size:Bt(e)})}function Hi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Bt(e)!==n-t)throw new _n({offset:n,position:`end`,size:Bt(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((()=>{bn(),zt(),Vt()})),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 Qt({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 fn(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];r?t+=32:t+=Bt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(A(t+i,{size:32})),r.push(s),i+=Bt(s)):n.push(s)}return Ri([...n,...r])}function $i(e){if(!Mi(e))throw new wi({address:e});return{dynamic:!1,encoded:Sn(e.toLowerCase())}}function ea(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new mn(e);if(!r&&e.length!==t)throw new Xt({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([A(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=Bt(e);if(!n){let t=e;return r%32!=0&&(t=Sn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ri([Sn(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Zt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Sn(e,{dir:`right`})}}function na(e){if(typeof e!=`boolean`)throw new D(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Sn(Vn(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 Tn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:A(e,{size:32,signed:t})}}function ia(e){let t=Un(e),n=Math.ceil(Bt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Sn(Bi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ri([Sn(A(Bt(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((()=>{gn(),Ti(),O(),Nn(),Fi(),zi(),wn(),Vt(),Gi(),j(),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=E(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 cn({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((()=>{gn(),zt(),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 an(r,{docsPath:_a});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:_a});return{abi:[i],functionName:la(Ft(i))}}var _a,va=o((()=>{gn(),ua(),Rt(),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((()=>{O(),Ta=class extends D{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ea=class extends D{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Da=class extends D{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&&In(e,{size:t.size}),k(Hn(e,t),t)}function Na(e,t={}){let n=e;if(t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n)),n.length>1||n[0]>1)throw new En(n);return!!n[0]}function Pa(e,t={}){return t.size!==void 0&&In(e,{size:t.size}),Rn(Hn(e,t),t)}function Fa(e,t={}){let n=e;return t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n,{dir:`right`})),new TextDecoder().decode(n)}var Ia=o((()=>{Nn(),Fn(),zn(),j()}));function La(e,t){let n=typeof t==`string`?Yn(t):t,r=ka(n);if(Bt(n)===0&&e.length>0)throw new Yt;if(Bt(t)&&Bt(t)<32)throw new Jt({data:typeof t==`string`?t:Hn(t),params:e,size:Bt(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 pn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function za(e){return[Oi(Hn(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),[Hn(i),32]}return[Hn(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((()=>{gn(),ji(),ja(),Vt(),Gi(),Ia(),er(),j(),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 Yt({cause:r});let a=[...t||[],Sa,Ca].find(e=>e.type===`error`&&i===la(Ft(e)));if(!a)throw new tn(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(),gn(),Gi(),ua(),Ya(),Rt()})),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((()=>{O(),vo=class extends D{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},yo=class extends D{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=o((()=>{po(),ho(),O(),So=class extends D{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},Co=class extends D{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},wo=class extends D{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`})}},To=class extends D{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},Eo=class extends D{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Do=class extends D{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Oo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=xo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},ko=class extends D{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`})}},Ao=class extends D{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`})}},jo=class extends D{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}},Mo=class extends D{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Po(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 Fo(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Io,Lo,Ro=o((()=>{Io=e=>e,Lo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),zo,Bo,Vo,Ho,Uo,Wo,Go=o((()=>{ha(),wa(),Za(),Rt(),to(),ma(),po(),ho(),gn(),O(),bo(),No(),Ro(),zo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=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}},Bo=class extends D{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?Ft(s,{includeName:!0}):void 0,u=xo({address:r&&Io(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}},Vo=class extends D{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=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?Ft(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 tn&&(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}},Ho=class extends D{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},Uo=class extends D{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Wo=class extends D{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Ko,qo,Jo,Yo,Xo=o((()=>{$a(),O(),Ro(),Ko=class extends D{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Lo(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}},qo=class extends D{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}},Jo=class extends D{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Lo(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}},Yo=class extends D{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Lo(t)}`,`Request body: ${Qa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds=o((()=>{O(),Xo(),Zo=-1,Qo=class extends D{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Jo?e.code:t??Zo}},$o=class extends Qo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},es=class e extends Qo{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(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),ts=class e extends Qo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),ns=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),rs=class e extends Qo{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(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),is=class e extends Qo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),as=class e extends Qo{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(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),os=class e extends Qo{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(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),ss=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),cs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ls=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),us=class e extends Qo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ds=class e extends Qo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),fs=class e extends $o{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ps=class e extends $o{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(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ms=class e extends $o{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),hs=class e extends $o{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),gs=class e extends $o{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),_s=class e extends $o{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),vs=class e extends $o{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(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),ys=class e extends $o{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),bs=class e extends $o{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),xs=class e extends $o{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Ss=class e extends $o{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Cs=class e extends $o{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(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),ws=class e extends $o{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Ts=class e extends $o{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(Ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Es=class extends Qo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));gn(),O(),Go(),Xo(),Ds();function Os(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Wo?e:e instanceof D?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Bo(e instanceof Yt?new Ho({functionName:a,cause:e}):[3,is.code].includes(c)&&(l||u||d||f)||c===as.code&&u===`execution reverted`&&l?new Vo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Jo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ji(),fi();function ks(e){return Oi(`0x${di(`0x${e.substring(4)}`).substring(26)}`)}function As(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 js(e,t,n){return e&t^~e&n}function Ms(e,t,n){return e&t^e&n^t&n}var Ns,Ps,Fs,Is,Ls=o((()=>{Gr(),Ns=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;As(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()}},Ps=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Fs=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Is=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs=o((()=>{Ls(),Sr(),Gr(),Rs=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]),zs=new Uint32Array(64),Bs=class extends Ns{constructor(e=32){super(64,e,8,!1),this.A=Ps[0]|0,this.B=Ps[1]|0,this.C=Ps[2]|0,this.D=Ps[3]|0,this.E=Ps[4]|0,this.F=Ps[5]|0,this.G=Ps[6]|0,this.H=Ps[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)zs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=zs[e-15],n=zs[e-2],r=Pr(t,7)^Pr(t,18)^t>>>3,i=Pr(n,17)^Pr(n,19)^n>>>10;zs[e]=i+zs[e-7]+r+zs[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+js(o,s,c)+Rs[e]+zs[e]|0,d=(Pr(n,2)^Pr(n,13)^Pr(n,22))+Ms(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(zs)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}},Vs=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))),Hs=Vs[0],Us=Vs[1],Ws=new Uint32Array(80),Gs=new Uint32Array(80),Ks=class extends Ns{constructor(e=64){super(128,e,16,!1),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}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)Ws[n]=e.getUint32(t),Gs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Ws[e-15]|0,n=Gs[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=Ws[e-2]|0,o=Gs[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,Gs[e-7],Gs[e-16]),u=yr(l,r,s,Ws[e-7],Ws[e-16]);Ws[e]=u|0,Gs[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,Us[e],Gs[e]),S=xr(x,g,t,y,Hs[e],Ws[e]),C=x|0,w=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=lr(n,r,28)^dr(n,r,34)^dr(n,r,39),te=n&i^n&o^i&o,ne=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=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 re=gr(C,ee,ne);n=_r(re,S,w,te),r=re|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(Ws,Gs)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},qs=class extends Ks{constructor(){super(48),this.Ah=Fs[0]|0,this.Al=Fs[1]|0,this.Bh=Fs[2]|0,this.Bl=Fs[3]|0,this.Ch=Fs[4]|0,this.Cl=Fs[5]|0,this.Dh=Fs[6]|0,this.Dl=Fs[7]|0,this.Eh=Fs[8]|0,this.El=Fs[9]|0,this.Fh=Fs[10]|0,this.Fl=Fs[11]|0,this.Gh=Fs[12]|0,this.Gl=Fs[13]|0,this.Hh=Fs[14]|0,this.Hl=Fs[15]|0}},Js=Br(()=>new Bs),Ys=Br(()=>new Ks),Xs=Br(()=>new qs)})),Qs,$s,ec=o((()=>{Gr(),Qs=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()}},$s=(e,t,n)=>new Qs(e,t).update(n).digest(),$s.create=(e,t)=>new Qs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction tc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function nc(e){if(!tc(e))throw Error(`Uint8Array expected`)}function rc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function ic(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ac(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Cc:BigInt(`0x`+e)}function oc(e){if(nc(e),Tc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Ec[e[n]];return t}function sc(e){if(e>=Dc._0&&e<=Dc._9)return e-Dc._0;if(e>=Dc.A&&e<=Dc.F)return e-(Dc.A-10);if(e>=Dc.a&&e<=Dc.f)return e-(Dc.a-10)}function cc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Tc)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=sc(e.charCodeAt(i)),a=sc(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 lc(e){return ac(oc(e))}function uc(e){return nc(e),ac(oc(Uint8Array.from(e).reverse()))}function dc(e,t){return cc(e.toString(16).padStart(t*2,`0`))}function fc(e,t){return dc(e,t).reverse()}function pc(e,t,n){let r;if(typeof t==`string`)try{r=cc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(tc(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 mc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];nc(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 hc(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 gc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function _c(e,t,n){return Oc(e)&&Oc(t)&&Oc(n)&&t<=e&&e<n}function vc(e,t,n,r){if(!_c(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function yc(e){let t;for(t=0;e>Cc;e>>=wc,t+=1);return t}function bc(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=Ac(e),i=Ac(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ac(0))=>{i=s(jc([0]),e),r=s(),e.length!==0&&(i=s(jc([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 mc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function xc(e,t,n={}){let r=(t,n,r)=>{let i=Mc[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 Sc(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 Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc=o((()=>{Cc=BigInt(0),wc=BigInt(1),Tc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Ec=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Dc={_0:48,_9:57,A:65,F:70,a:97,f:102},Oc=e=>typeof e==`bigint`&&Cc<=e,kc=e=>(wc<<BigInt(e))-wc,Ac=e=>new Uint8Array(e),jc=e=>Uint8Array.from(e),Mc={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`||tc(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 Pc(e,t){let n=e%t;return n>=Xc?n:t+n}function Fc(e,t,n){let r=e;for(;t-->Xc;)r*=r,r%=n;return r}function Ic(e,t){if(e===Xc)throw Error(`invert: expected non-zero number`);if(t<=Xc)throw Error(`invert: expected positive modulus, got `+t);let n=Pc(e,t),r=t,i=Xc,a=Zc,o=Zc,s=Xc;for(;n!==Xc;){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!==Zc)throw Error(`invert: does not exist`);return Pc(i,t)}function Lc(e,t){let n=(e.ORDER+Zc)/el,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Rc(e,t){let n=(e.ORDER-tl)/nl,r=e.mul(t,Qc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Qc),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 zc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Zc,n=0;for(;t%Qc===Xc;)t/=Qc,n++;let r=Qc,i=Kc(e);for(;Wc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Lc;let a=i.pow(r,t),o=(t+Zc)/Qc;return function(e,r){if(e.is0(r))return r;if(Wc(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=Zc<<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 Bc(e){return e%el===$c?Lc:e%nl===tl?Rc:zc(e)}function Vc(e){return xc(e,rl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Hc(e,t,n){if(n<Xc)throw Error(`invalid exponent, negatives unsupported`);if(n===Xc)return e.ONE;if(n===Zc)return t;let r=e.ONE,i=t;for(;n>Xc;)n&Zc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Zc;return r}function Uc(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 Wc(e,t){let n=(e.ORDER-Zc)/Qc,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 Gc(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 Kc(e,t,n=!1,r={}){if(e<=Xc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Gc(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:kc(i),ZERO:Xc,ONE:Zc,create:t=>Pc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Xc<=t&&t<e},is0:e=>e===Xc,isOdd:e=>(e&Zc)===Zc,neg:t=>Pc(-t,e),eql:(e,t)=>e===t,sqr:t=>Pc(t*t,e),add:(t,n)=>Pc(t+n,e),sub:(t,n)=>Pc(t-n,e),mul:(t,n)=>Pc(t*n,e),pow:(e,t)=>Hc(s,e,t),div:(t,n)=>Pc(t*Ic(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ic(t,e),sqrt:r.sqrt||(t=>(o||=Bc(e),o(s,t))),toBytes:e=>n?fc(e,a):dc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?uc(e):lc(e)},invertBatch:e=>Uc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function qc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Jc(e){let t=qc(e);return t+Math.ceil(t/2)}function Yc(e,t,n=!1){let r=e.length,i=qc(t),a=Jc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Pc(n?uc(e):lc(e),t-Zc)+Zc;return n?fc(o,i):dc(o,i)}var Xc,Zc,Qc,$c,el,tl,nl,rl,il=o((()=>{Gr(),Nc(),Xc=BigInt(0),Zc=BigInt(1),Qc=BigInt(2),$c=BigInt(3),el=BigInt(4),tl=BigInt(5),nl=BigInt(8),rl=[`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 al(e,t){let n=t.negate();return e?n:t}function ol(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function sl(e,t){ol(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:kc(e),maxNumber:i,shiftBy:BigInt(e)}}function cl(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+=gl);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 ll(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 ul(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 dl(e){return vl.get(e)||1}function fl(e,t){return{constTimeNegate:al,hasPrecomputes(e){return dl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>hl;)n&gl&&(r=r.add(i)),i=i.double(),n>>=gl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=sl(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=sl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=cl(i,e,s);i=t,c?o=o.add(al(u,r[d])):a=a.add(al(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=sl(n,t);for(let e=0;e<o.windows&&i!==hl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=cl(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=_l.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&_l.set(t,n(r))),r},wNAFCached(e,t,n){let r=dl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=dl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){ol(n,t),vl.set(e,n),_l.delete(e)}}}function pl(e,t,n,r){ll(n,e),ul(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=yc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=kc(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 ml(e){return Vc(e.Fp),xc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Gc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var hl,gl,_l,vl,yl=o((()=>{il(),Nc(),hl=BigInt(0),gl=BigInt(1),_l=new WeakMap,vl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction bl(e){e.lowS!==void 0&&rc(`lowS`,e.lowS),e.prehash!==void 0&&rc(`prehash`,e.prehash)}function xl(e){let t=ml(e);xc(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 Sl(e,t){return oc(dc(e,t))}function Cl(e){let t=xl(e),{Fp:n}=t,r=Kc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return mc(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,Nl),Pl),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 _c(e,jl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(tc(e)&&(e=oc(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:lc(pc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Pc(o,a)),vc(`private key`,o,jl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=Sc((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=Sc(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=Uc(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(pc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return pl(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,Nl),{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,Nl),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;vc(`scalar`,e,Al,i);let a=h.ZERO;if(e===Al)return a;if(this.is0()||e===jl)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>Al||l>Al;)s&jl&&(u=u.add(f)),l&jl&&(d=d.add(f)),f=f.double(),s>>=jl,l>>=jl;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;vc(`scalar`,e,jl,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===Al||t===jl||!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===jl)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===jl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return rc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return rc(`isCompressed`,e),oc(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=fl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function wl(e){let t=ml(e);return xc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function Tl(e){let t=wl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Pc(e,r)}function l(e){return Ic(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Cl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=mc;return rc(`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=lc(i);if(!_c(e,jl,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&jl)===jl;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>jl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>lc(e.slice(t,n));class _{constructor(e,t,n){vc(`r`,e,jl,r),vc(`s`,t,jl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=pc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=kl.toSig(pc(`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(pc(`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+Sl(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 cc(this.toDERHex())}toDERHex(){return kl.hexFromSig(this)}toCompactRawBytes(){return cc(this.toCompactHex())}toCompactHex(){let e=i;return Sl(this.r,e)+Sl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Jc(t.n);return Yc(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=pc(`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=lc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=kc(a);function ee(e){return vc(`num < 2^`+a,e,Al,w),dc(e,i)}function te(e,r,i=ne){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=pc(`msgHash`,e),bl(i),f&&(e=pc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[ee(y),ee(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(pc(`extraEntropy`,e))}let x=mc(...b),w=v;function te(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===Al)return;let a=c(n*c(w+i*y));if(a===Al)return;let o=(r.x===i?0:2)|Number(r.y&jl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:te}}let ne={lowS:t.lowS,prehash:!1},re={lowS:t.lowS,prehash:!1};function ie(e,n,r=ne){let{seed:i,k2sig:a}=te(e,n,r),o=t;return bc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ae(e,n,r,i=re){let a=e;n=pc(`msgHash`,n),r=pc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(bl(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`||tc(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 kl.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:ie,verify:ae,ProjectivePoint:u,Signature:_,utils:v}}function El(e,t){let n=e.ORDER,r=Al;for(let e=n-jl;e%Ml===Al;e/=Ml)r+=jl;let i=r,a=Ml<<i-jl-jl,o=a*Ml,s=(n-jl)/o,c=(s-jl)/Ml,l=o-jl,u=a,d=e.pow(t,s),f=e.pow(t,(s+jl)/Ml),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>jl;t--){let n=t-Ml;n=Ml<<n-jl;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%Pl===Nl){let n=(e.ORDER-Nl)/Pl,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 Dl(e,t){if(Vc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=El(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=Uc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Ol,kl,Al,jl,Ml,Nl,Pl,Fl=o((()=>{yl(),il(),Nc(),Ol=class extends Error{constructor(e=``){super(e)}},kl={Err:Ol,_tlv:{encode:(e,t)=>{let{Err:n}=kl;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=ic(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?ic(i.length/2|128):``;return ic(e)+a+i+t},decode(e,t){let{Err:n}=kl,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}=kl;if(e<Al)throw new t(`integer: negative integers are not allowed`);let n=ic(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}=kl;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 lc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=kl,i=pc(`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}=kl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Al=BigInt(0),jl=BigInt(1),Ml=BigInt(2),Nl=BigInt(3),Pl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Il(e){return{hash:e,hmac:(t,...n)=>$s(e,t,zr(...n)),randomBytes:Vr}}function Ll(e,t){let n=t=>Tl({...e,...Il(t)});return{...n(t),create:n}}var Rl=o((()=>{ec(),Gr(),Fl()}));function zl(e,t){if(Vl(e),Vl(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 Bl(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 Vl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Hl(e,t,n,r){nc(e),nc(t),Vl(n),t.length>255&&(t=r(mc(gc(`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=mc(t,zl(t.length,1)),c=zl(0,a),l=zl(n,2),u=Array(o),d=r(mc(c,e,l,zl(0,1),s));u[0]=r(mc(d,zl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(mc(Bl(d,u[e-1]),zl(e+1,1),s));return mc(...u).slice(0,n)}function Ul(e,t,n,r,i){if(nc(e),nc(t),Vl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(gc(`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(zl(n,2)).update(t).update(zl(t.length,1)).digest()}function Wl(e,t,n){xc(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;nc(e),Vl(t);let l=typeof c==`string`?gc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Hl(e,l,f,o);else if(s===`xof`)p=Ul(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]=Pc(ql(o),r)}m[e]=t}return m}function Gl(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]=Uc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Kl(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=Wl(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(Wl(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 ql,Jl=o((()=>{il(),Nc(),ql=lc})),Yl=c({encodeToCurve:()=>Tu,hashToCurve:()=>wu,schnorr:()=>bu,secp256k1:()=>du,secp256k1_hasher:()=>Cu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Xl(e){let t=iu,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=Fc(Fc(Fc(u,n,t)*u%t,n,t)*u%t,cu,t)*l%t,f=Fc(d,i,t)*d%t,p=Fc(f,a,t)*f%t,m=Fc(p,s,t)*p%t,h=Fc(Fc(Fc(Fc(Fc(Fc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,cu,t);if(!uu.eql(uu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Zl(e,...t){let n=fu[e];if(n===void 0){let t=Js(Uint8Array.from(e,e=>e.charCodeAt(0)));n=mc(t,t),fu[e]=n}return Js(mc(n,...t))}function Ql(e){let t=du.utils.normPrivateKeyToScalar(e),n=_u.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:gu(-t),bytes:pu(n)}}function $l(e){vc(`x`,e,su,iu);let t=hu(e*e),n=Xl(hu(t*e+BigInt(7)));n%cu!==ou&&(n=hu(-n));let r=new _u(e,n,su);return r.assertValidity(),r}function eu(...e){return gu(yu(Zl(`BIP0340/challenge`,...e)))}function tu(e){return Ql(e).bytes}function nu(e,t,n=Vr(32)){let r=pc(`message`,e),{bytes:i,scalar:a}=Ql(t),o=pc(`auxRand`,n,32),s=Zl(`BIP0340/nonce`,mu(a^yu(Zl(`BIP0340/aux`,o))),i,r),c=gu(yu(s));if(c===ou)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Ql(c),d=eu(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(mu(gu(u+d*a)),32),!ru(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function ru(e,t,n){let r=pc(`signature`,e,64),i=pc(`message`,t),a=pc(`publicKey`,n,32);try{let e=$l(yu(a)),t=yu(r.subarray(0,32));if(!_c(t,su,iu))return!1;let n=yu(r.subarray(32,64));if(!_c(n,su,au))return!1;let o=eu(mu(t),pu(e),i),s=vu(e,n,gu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu=o((()=>{Zs(),Gr(),Rl(),Jl(),il(),Nc(),Fl(),iu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),au=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),ou=BigInt(0),su=BigInt(1),cu=BigInt(2),lu=(e,t)=>(e+t/cu)/t,uu=Kc(iu,void 0,void 0,{sqrt:Xl}),du=Ll({a:ou,b:BigInt(7),Fp:uu,n:au,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=au,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-su*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=lu(a*e,t),c=lu(-r*e,t),l=Pc(e-s*n-c*i,t),u=Pc(-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}}}},Js),fu={},pu=e=>e.toRawBytes(!0).slice(1),mu=e=>dc(e,32),hu=e=>Pc(e,iu),gu=e=>Pc(e,au),_u=du.ProjectivePoint,vu=(e,t,n)=>_u.BASE.multiplyAndAddUnsafe(e,t,n),yu=lc,bu={getPublicKey:tu,sign:nu,verify:ru,utils:{randomPrivateKey:du.utils.randomPrivateKey,lift_x:$l,pointToBytes:pu,numberToBytesBE:dc,bytesToNumberBE:lc,taggedHash:Zl,mod:Pc}},xu=Gl(uu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),Su=Dl(uu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:uu.create(BigInt(`-11`))}),Cu=Kl(du.ProjectivePoint,e=>{let{x:t,y:n}=Su(uu.create(e[0]));return xu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:uu.ORDER,m:1,k:128,expand:`xmd`,hash:Js}),wu=Cu.hashToCurve,Tu=Cu.encodeToCurve}));zt(),Vt(),zn(),j();async function Du({hash:e,signature:t}){let n=E(e)?e:Bn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Eu(),Yl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Ou(Number(a??i));return new r.Signature(k(e),k(n)).addRecoveryBit(o)}let e=E(t)?t:Bn(t);if(Bt(e)!==65)throw Error(`invalid signature length`);let n=Ou(Rn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Ou(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 ku({hash:e,signature:t}){return ks(await Du({hash:e,signature:t}))}O(),ja(),er(),j();function Au(e,t=`hex`){let n=ju(e),r=ka(new Uint8Array(n.length));return n.encode(r),t===`hex`?Hn(r.bytes):r.bytes}function ju(e){return Array.isArray(e)?Mu(e.map(e=>ju(e))):Nu(e)}function Mu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Pu(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 Nu(e){let t=typeof e==`string`?Yn(e):e,n=Pu(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 Pu(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new D(`Length is too large.`)}zi(),er(),j(),fi();function Fu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=di(Ri([`0x05`,Au([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Yn(a):a}async function Iu(e){let{authorization:t,signature:n}=e;return ku({hash:Fu(t),signature:n??t})}po(),ho(),O(),No();var Lu=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=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}},Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu=o((()=>{ho(),O(),Ru=class extends D{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Ru,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),zu=class extends D{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(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Bu=class extends D{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(Bu,\"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/}),Vu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Hu=class extends D{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Uu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Wu=class extends D{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Gu=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Ku=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),qu=class extends D{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Ju=class extends D{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(Ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Yu=class extends D{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Zu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof D?e.walk(e=>e?.code===Ru.code):e;return r instanceof D?new Ru({cause:e,message:r.details}):Ru.nodeMessage.test(n)?new Ru({cause:e,message:e.details}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Bu.nodeMessage.test(n)?new Bu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e,nonce:t?.nonce}):Wu.nodeMessage.test(n)?new Wu({cause:e}):Gu.nodeMessage.test(n)?new Gu({cause:e,gas:t?.gas}):Ku.nodeMessage.test(n)?new Ku({cause:e,gas:t?.gas}):qu.nodeMessage.test(n)?new qu({cause:e}):Ju.nodeMessage.test(n)?new Ju({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Yu({cause:e})}var Qu=o((()=>{O(),Xu()}));Xu(),Qu();function $u(e,{docsPath:t,...n}){return new Lu((()=>{let t=Zu(e,n);return t instanceof Yu?e:t})(),{docsPath:t,...n})}function ed(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 td=o((()=>{}));function nd(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 rd=o((()=>{}));function id(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=ad(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Hn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=A(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=A(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=A(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=A(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=A(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=A(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=od[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function ad(e){return e.map(e=>({address:e.address,r:e.r?A(BigInt(e.r)):e.r,s:e.s?A(BigInt(e.s)):e.s,chainId:A(e.chainId),nonce:A(e.nonce),...e.yParity===void 0?{}:{yParity:A(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:A(e.v)}:{}}))}var od,sd,cd=o((()=>{j(),rd(),od={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},sd=nd(`transactionRequest`,id)}));function ld(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new yn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new yn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function ud(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=A(t)),n!==void 0&&(o.nonce=A(n)),r!==void 0&&(o.state=ld(r)),i!==void 0){if(o.state)throw new yo;o.stateDiff=ld(i)}return o}function dd(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]=ud(r)}return t}var fd=o((()=>{Ti(),bn(),bo(),Fi(),j()})),pd,md=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)),pd=2n**256n-1n}));function hd(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>pd)throw new zu({maxFeePerGas:n});if(r&&n&&r>n)throw new Ju({maxFeePerGas:n,maxPriorityFeePerGas:r})}var gd=o((()=>{ha(),md(),Ti(),Xu(),Fi()}));ho(),O();var _d=class extends D{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},vd=class extends D{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},yd=class extends D{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${mo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};O();var bd=class extends D{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};zn(),rd();let xd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Sd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Rn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?xd[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=wd(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 Cd=nd(`transaction`,Sd);function wd(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 Td(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:Sd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}j();async function Ed(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:A(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new bd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Td)(s,`getBlock`)}async function Dd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}zn();async function Od(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await T(e,Ed,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?k(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):T(e,Ed,`getBlock`)({}),T(e,Dd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new vd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function kd(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 _d;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await T(e,Ed,`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 vd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Od(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await T(e,Dd,`getGasPrice`)({}))}}function Ad(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new D(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var jd=o((()=>{O(),j()}));jd(),zn();async function Md(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ad({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Rn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}er(),j();function Nd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Hn(e))}er(),j();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=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=>Hn(e))}Zs();let Fd=Js;zt(),er(),j();function Id(e,t){let n=t||`hex`,r=Fd(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}j();function Ld(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Id(t,`bytes`);return i.set([n],0),r===`bytes`?i:Hn(i)}function Rd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Ld({commitment:e,to:r,version:n}));return i}O();var zd=class extends D{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Bd=class extends D{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Vd=class extends D{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Hd=class extends D{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ja(),Vt(),er(),j();function Ud(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Yn(e.data):e.data,r=Bt(n);if(!r)throw new Bd;if(r>761855)throw new zd({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=>Hn(e.bytes))}function Wd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Ud({data:t,to:r}),a=e.commitments??Nd({blobs:i,kzg:n,to:r}),o=e.proofs??Pd({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}No();function Gd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new wo({transaction:e})}Xu(),No(),Qu();function Kd(e,{docsPath:t,...n}){return new Oo((()=>{let t=Zu(e,n);return t instanceof Yu?e:t})(),{docsPath:t,...n})}zn();async function qd(e){return Rn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ha(),td(),cd(),gd();async function Jd(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 T(e,qd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();hd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||id)({...ed(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||Sd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await T(e,Ed,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new _d;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Kd(n,{...t,chain:e.chain})}}ha(),Di(),gd();let Yd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Xd=new Map,Zd=new Ei(128);async function Qd(e,t){let n=t;n.account??=e.account,n.parameters??=Yd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await T(e,qd,`getChainId`)({}),c):n.chainId)}let u=r&&M(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}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}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Zd.get(e.uid)===!1)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||[`fees`,`gas`].some(e=>o.includes(e))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`))?await T(e,Jd,`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 Zd.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`)})&&Zd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await T(e,Ed,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await T(e,Md,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Nd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Rd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Wd({blobs:p,commitments:e,proofs:Pd({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=Gd(n)}catch{let t=Xd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Xd.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 kd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new yd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new vd;if(n.gasPrice===void 0){let{gasPrice:t}=await kd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await T(e,$d,`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`})),hd(n),delete n.parameters,n}ha(),O(),j(),td(),cd(),fd(),gd();async function $d(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 Iu({authorization:t.authorizationList[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Qd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,C=dd(b);hd(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||id)({...ed(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[ee,S??e.experimental_blockTag??`latest`,C]:S?[ee,S]:[ee]}))}catch(n){throw $u(n,{...t,account:i,chain:e.chain})}}ha(),ba();async function ef(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 T(e,$d,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Os(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?M(s.account):void 0)?.address})}}function tf(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 nf=o((()=>{Ti(),Fi()}));function rf(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}gn(),Oa(),Vt(),Ci(),Ya(),Rt();let af=`/docs/contract/decodeEventLog`;function of(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new nn({docsPath:af});let c=t.find(e=>e.type===`event`&&o===Si(Ft(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new rn(o,{docsPath:af});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new dn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=sf({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 Jt||e instanceof Ea?new un({abiItem:c,data:n,params:g,size:Bt(n)}):e}else if(a)throw new un({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function sf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(La([e],t)||[])[0]}nf(),er(),fi(),Ci();function cf(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`?rf(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=of({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=of({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)||!lf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function lf(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`?tf(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 uf(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 an(r,{docsPath:df});a=e}if(a.type!==`function`)throw new an(void 0,{docsPath:df});if(!a.outputs)throw new on(a.name,{docsPath:df});let o=La(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var df,ff=o((()=>{gn(),Ya(),ma(),df=`/docs/contract/decodeFunctionResult`})),pf,mf=o((()=>{pf=`0.1.1`}));function hf(){return pf}var gf=o((()=>{mf()}));function _f(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?_f(e.cause,t):t?null:e}var N,vf=o((()=>{gf(),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 _f(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${hf()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function yf(e,t){if(qf(e)>t)throw new op({givenSize:qf(e),maxSize:t})}function bf(e,t){if(typeof t==`number`&&t>0&&t>qf(e)-1)throw new sp({offset:t,position:`start`,size:qf(e)})}function xf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&qf(e)!==n-t)throw new sp({offset:n,position:`end`,size:qf(e)})}function Sf(e){if(e>=Tf.zero&&e<=Tf.nine)return e-Tf.zero;if(e>=Tf.A&&e<=Tf.F)return e-(Tf.A-10);if(e>=Tf.a&&e<=Tf.f)return e-(Tf.a-10)}function Cf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new cp({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 wf(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 Tf,Ef=o((()=>{lp(),Tf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Df(e,t){if(vp(e)>t)throw new Ap({givenSize:vp(e),maxSize:t})}function Of(e,t){if(typeof t==`number`&&t>0&&t>vp(e)-1)throw new jp({offset:t,position:`start`,size:vp(e)})}function kf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&vp(e)!==n-t)throw new jp({offset:n,position:`end`,size:vp(e)})}function Af(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new Mp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function jf(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 Mf=o((()=>{R()}));function Nf(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=>Nf(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)}:${Nf(r)}`),t},[]).join(`,`)}}`}function Pf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(If)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Ff(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+If:n,n)}var If,Lf=o((()=>{If=`#__bigint`}));function Rf(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 ap(e)}function zf(...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 Bf(e){return e instanceof Uint8Array?e:typeof e==`string`?Hf(e):Vf(e)}function Vf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Hf(e,t={}){let{size:n}=t,r=e;n&&(Df(e,n),r=gp(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=Sf(i.charCodeAt(t++)),r=Sf(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 Uf(e,t={}){let{size:n}=t,r=rp.encode(e);return typeof n==`number`?(yf(r,n),Gf(r,n)):r}function Wf(e,t){return hc(e,t)}function Gf(e,t){return Cf(e,{dir:`right`,size:t})}function Kf(e){return crypto.getRandomValues(new Uint8Array(e))}function qf(e){return e.length}function Jf(e,t,n,r={}){let{strict:i}=r;bf(e,t);let a=e.slice(t,n);return i&&xf(a,t,n),a}function Yf(e,t={}){let{size:n}=t;return n!==void 0&&yf(e,n),L(pp(e,t),t)}function Xf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(yf(r,n),r=$f(r)),r.length>1||r[0]>1)throw new ip(r);return!!r[0]}function Zf(e,t={}){let{size:n}=t;return n!==void 0&&yf(e,n),xp(pp(e,t),t)}function Qf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(yf(r,n),r=ep(r)),np.decode(r)}function $f(e){return wf(e,{dir:`left`})}function ep(e){return wf(e,{dir:`right`})}function tp(e){try{return Rf(e),!0}catch{return!1}}var np,rp,ip,ap,op,sp,cp,lp=o((()=>{Nc(),vf(),R(),Ef(),Mf(),Lf(),np=new TextDecoder,rp=new TextEncoder,ip=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`})}},ap=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Ff(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`})}},op=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`})}},sp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},cp=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function up(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Dp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Op(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function dp(e){return e instanceof Uint8Array?pp(e):Array.isArray(e)?pp(new Uint8Array(e)):e}function fp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Df(n,t.size),hp(n,t.size)):n}function pp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Tp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Df(r,t.size),gp(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 Ep({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?hp(s,r):s}function mp(e,t={}){return pp(wp.encode(e),t)}function hp(e,t){return Af(e,{dir:`left`,size:t})}function gp(e,t){return Af(e,{dir:`right`,size:t})}function _p(e){return pp(Kf(e))}function I(e,t,n,r={}){let{strict:i}=r;Of(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&kf(a,t,n),a}function vp(e){return Math.ceil((e.length-2)/2)}function yp(e){return jf(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&Df(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function bp(e,t={}){return Hf(e,t)}function xp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function Sp(e,t={}){let{size:n}=t,r=Hf(e);return n&&(yf(r,n),r=ep(r)),new TextDecoder().decode(r)}function Cp(e,t={}){let{strict:n=!1}=t;try{return up(e,{strict:n}),!0}catch{return!1}}var wp,Tp,Ep,Dp,Op,kp,Ap,jp,Mp,R=o((()=>{lp(),vf(),Ef(),Mf(),Lf(),wp=new TextEncoder,Tp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ep=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`})}},Dp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Ff(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexTypeError`})}},Op=class extends 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`})}},kp=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`})}},Ap=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`})}},jp=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`})}},Mp=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 Np(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Pp=o((()=>{R()}));function Fp(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(Np)}}}var Ip=o((()=>{R(),Pp()})),Lp,Rp,zp,Bp,Vp,Hp,Up=o((()=>{Lp=[{inputs:[{components:[{name:`target`,type:`address`},{name:`allowFailure`,type:`bool`},{name:`callData`,type:`bytes`}],name:`calls`,type:`tuple[]`}],name:`aggregate3`,outputs:[{components:[{name:`success`,type:`bool`},{name:`returnData`,type:`bytes`}],name:`returnData`,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{name:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],Rp=[{name:`query`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple[]`,name:`queries`,components:[{type:`address`,name:`sender`},{type:`string[]`,name:`urls`},{type:`bytes`,name:`data`}]}],outputs:[{type:`bool[]`,name:`failures`},{type:`bytes[]`,name:`responses`}]},{name:`HttpError`,type:`error`,inputs:[{type:`uint16`,name:`status`},{type:`string`,name:`message`}]}],zp=[{inputs:[{name:`dns`,type:`bytes`}],name:`DNSDecodingFailed`,type:`error`},{inputs:[{name:`ens`,type:`string`}],name:`DNSEncodingFailed`,type:`error`},{inputs:[],name:`EmptyAddress`,type:`error`},{inputs:[{name:`status`,type:`uint16`},{name:`message`,type:`string`}],name:`HttpError`,type:`error`},{inputs:[],name:`InvalidBatchGatewayResponse`,type:`error`},{inputs:[{name:`errorData`,type:`bytes`}],name:`ResolverError`,type:`error`},{inputs:[{name:`name`,type:`bytes`},{name:`resolver`,type:`address`}],name:`ResolverNotContract`,type:`error`},{inputs:[{name:`name`,type:`bytes`}],name:`ResolverNotFound`,type:`error`},{inputs:[{name:`primary`,type:`string`},{name:`primaryAddress`,type:`bytes`}],name:`ReverseAddressMismatch`,type:`error`},{inputs:[{internalType:`bytes4`,name:`selector`,type:`bytes4`}],name:`UnsupportedResolverProfile`,type:`error`}],[...zp],[...zp],Bp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Vp=[{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],outputs:[{type:`bool`}],stateMutability:`nonpayable`,type:`function`,name:`isValidSig`}],Hp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Wp=o((()=>{})),Gp,Kp,qp,Jp,Yp=o((()=>{Gp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Kp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,qp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Jp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Xp,Zp,Qp,$p,em,tm=o((()=>{O(),Xp=class extends D{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Zp=class extends D{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},Qp=class extends D{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},$p=class extends D{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},em=class extends D{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function nm(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Kt({docsPath:rm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new qt({docsPath:rm});return Ri([r,Yi(i.inputs,n)])}var rm,im=o((()=>{gn(),zi(),ca(),rm=`/docs/contract/encodeDeployData`}));function am({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Xp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Xp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var om=o((()=>{tm()}));function sm(e,{docsPath:t,...n}){return new zo((()=>{let t=Zu(e,n);return t instanceof Yu?e:t})(),{docsPath:t,...n})}var cm=o((()=>{Go(),Xu(),Qu()}));function lm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var um=o((()=>{}));function dm({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>fm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>fm.get(t)||[],l=e=>fm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=lm();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var fm,pm=o((()=>{um(),fm=new Map})),mm,hm,gm,_m=o((()=>{$a(),O(),Ro(),mm=class extends D{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Lo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},hm=class extends D{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Lo(t)}`,`Response: ${Qa(e)}`],name:`OffchainLookupResponseMalformedError`})}},gm=class extends D{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function vm(e){let{abi:t,data:n}=e,r=Bi(n,0,4),i=t.find(e=>e.type===`function`&&r===la(Ft(e)));if(!i)throw new sn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?La(i.inputs,Bi(n,4)):void 0}}var ym=o((()=>{gn(),Gi(),ua(),Ya(),Rt()}));function bm(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 en(n,{docsPath:xm});i=e}if(i.type!==`error`)throw new en(void 0,{docsPath:xm});let a=la(Ft(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new $t(i.name,{docsPath:xm});o=Yi(i.inputs,r)}return Ri([a,o])}var xm,Sm=o((()=>{gn(),zi(),ua(),ca(),Rt(),ma(),xm=`/docs/contract/encodeErrorResult`}));function Cm(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 an(n,{docsPath:wm});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:wm});if(!i.outputs)throw new on(i.name,{docsPath:wm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new mn(r)})();return Yi(i.outputs,a)}var wm,Tm=o((()=>{gn(),ca(),ma(),wm=`/docs/contract/encodeFunctionResult`}));async function Em(e){let{data:t,ccipRequest:n}=e,{args:[r]}=vm({abi:Rp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Em({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Dm(e)}})),Cm({abi:Rp,functionName:`query`,result:[i,a]})}function Dm(e){return e.name===`HttpRequestError`&&e.status?bm({abi:Rp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):bm({abi:[Sa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Om=o((()=>{Up(),wa(),ym(),Sm(),Tm()})),km=c({ccipRequest:()=>jm,offchainLookup:()=>Am,offchainLookupAbiItem:()=>Nm,offchainLookupSignature:()=>Mm});async function Am(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Xa({data:r,abi:[Nm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:jm;try{if(!tf(a,s))throw new gm({sender:s,to:a});let{data:r}=await Fm(e,{blockNumber:t,blockTag:n,data:Ii([u,Yi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Em({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?Po(i.signal):Fo(e)?e:new mm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function jm({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw Po(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 Ko({body:c,details:a?.error?Qa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!E(a)){i=new hm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Po(t.signal);if(Fo(e))throw e;i=new Ko({body:c,details:e.message,url:o})}}throw i}var Mm,Nm,Pm=o((()=>{Km(),_m(),Xo(),Ro(),Za(),ca(),nf(),zi(),zt(),Om(),$a(),Mm=`0x556f1830`,Nm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function Fm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:ee,...te}=t,ne=n?M(n):void 0;if(f&&(m||h))throw new D(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new D(\"Cannot provide both `code` & `to` as parameters.\");let re=f&&p,ie=m&&h&&C&&p,ae=re||ie,oe=re?Vm({code:f,data:p}):ie?Hm({data:p,factory:m,factoryData:h,to:C}):p;try{hd(t);let n=Ad({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Fp(d):void 0,p=dd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||id)({...ed(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:oe,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ae?void 0:C,value:w},`call`);if(i&&Im({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=zm(e,{blockNumber:o,deployless:t});if(!n||!Bm(p,n))return await Rm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof $p)&&!(e instanceof Xp))throw e}let re=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ie=await e.request({method:`eth_call`,params:re},S);return ie===`0x`?{data:void 0}:{data:ie}}catch(n){if(S?.signal?.aborted)throw Po(S.signal);if(Fo(n))throw n;let r=Um(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Pm(),km));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ae&&r?.slice(0,10)===`0x101bb98d`?new Uo({factory:m}):sm(n,{...t,account:ne,chain:e.chain})}}function Im({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Lm(e){if(!e)return`default`;let t=Gm.get(e);if(t!==void 0)return t;let n=Wm++;return Gm.set(e,n),n}async function Rm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?zm(e,{blockNumber:o,deployless:r}):u,h=Ad({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=dm({id:`${e.uid}.${g}.${Lm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=ya({abi:Lp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Vm({code:Jp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return uf({abi:Lp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Wo({data:y});return y===`0x`?{data:void 0}:{data:y}}function zm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return am({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new $p}function Bm(e,t){return e?Object.keys(e).some(e=>tf(e,t)):!1}function Vm(e){let{code:t,data:n}=e;return nm({abi:Mt([`constructor(bytes, bytes)`]),bytecode:Gp,args:[t,n]})}function Hm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return nm({abi:Mt([`constructor(address, bytes, address, bytes)`]),bytecode:Kp,args:[i,t,n,r]})}function Um(e){if(!(e instanceof D))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Wm,Gm,Km=o((()=>{Pt(),Ip(),ha(),Up(),Wp(),Yp(),O(),tm(),Go(),Ro(),ff(),im(),ba(),nf(),jd(),om(),cm(),td(),cd(),pm(),fd(),gd(),Wm=0,Gm=new WeakMap}));ff(),ba(),Km();async function qm(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 T(e,Fm,`call`)({...o,data:s,to:r});return uf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Os(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ha(),ff(),ba(),Km();async function Jm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?M(s.account):e.account,l=ya({abi:n,args:i,functionName:a});try{let{data:u}=await T(e,Fm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:uf({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 Os(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Ym=new Map,Xm=new Map,Zm=0;function Qm(e,t,n){let r=++Zm,i=()=>Ym.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Ym.delete(e),Xm.delete(e);return}Ym.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Xm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Ym.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Xm.set(e,l),o}Ro();async function $m(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Po(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Po(t))};t?.addEventListener(`abort`,o,{once:!0})})}function eh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await $m(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await $m(r),s())};s()})(),a}let th=new Map,nh=new Map;function rh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,th),r=t(e,nh);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function ih(e,{cacheKey:t,cacheTime:n=1/0}){let r=rh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let ah=e=>`blockNumber.${e}`;async function oh(e,{cacheTime:t=e.cacheTime}={}){let n=await ih(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ah(e.uid),cacheTime:t});return BigInt(n)}O();var sh=class extends D{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},ch=class extends D{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};tm();function lh({chain:e,currentChainId:t}){if(!e)throw new Qp;if(t!==e.id)throw new Zp({chain:e,currentChainId:t})}async function uh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ha(),O(),zi(),td(),cd(),Di(),gd();let dh=new Ei(128);async function fh(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new sh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?M(n):null,b;try{hd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Iu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await T(e,qd,`getChainId`)({}),r&&lh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||id)({...ed(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=dh.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(dh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(dh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,qd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await T(e,Qd,`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:y.nonceManager,parameters:[...Yd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await T(e,uh,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new ch({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ch({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof ch?e:(b&&y?.nonceManager?.reset(b),Kd(e,{...t,account:y,chain:t.chain||void 0}))}}ha(),ba();async function z(e,t){return z.internal(e,fh,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new sh({docsPath:`/docs/contract/writeContract`});let u=a?M(a):null,d=ya({abi:i,args:s,functionName:c});try{return await T(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Os(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),O();var ph=class extends D{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Ro();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(Po(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await $m(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Po(i));return}if(Fo(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}zn(),rd();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=>rf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Rn(e.transactionIndex):null,status:e.status?hh[e.status]:null,type:e.type?xd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let _h=nd(`transactionReceipt`,gh);ha(),O(),Ds(),ba(),zi(),zn(),j();let vh=A(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?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?A(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:A(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new vs(new D(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new ws(new D(e,{details:e}))}let t=[];for(let n of d){try{let i=await fh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?k(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Ii([...t.map(e=>e.status===`fulfilled`?e.value:vh),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Kd(n,{...t,account:l,chain:t.chain})}}Gi(),Fn(),zn();async function bh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Pn(Wi(t,-64,-32)),r=Wi(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:Rn(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Rn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:k(e.blockNumber),gasUsed:k(e.gasUsed),status:hh[e.status]}))??[],statusCode:l,status:c,version:o}}O(),um(),$a();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=Qa([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=lm(),p,m=Qm(l,{resolve:d,reject:f},t=>{let s=eh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await mh(async()=>{let t=await T(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 D{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>256*2){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)}ha();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?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: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`,`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}jd();async function kh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ad({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}md(),Ti(),O(),tm(),Xu(),Fi(),Vt(),Gi(),zn();function Ah(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 em({chainId:t})}Mh(e)}function jh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Bd;for(let e of t){let t=Bt(e),n=Rn(Bi(e,0,1));if(t!==32)throw new Vd({hash:e,size:t});if(n!==1)throw new Hd({hash:e,version:n})}}Mh(e)}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new em({chainId:t});if(i&&!Mi(i))throw new wi({address:i});if(r&&r>pd)throw new zu({maxFeePerGas:r});if(n&&r&&n>r)throw new Ju({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Nh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new em({chainId:t});if(a&&!Mi(a))throw new wi({address:a});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>pd)throw new zu({maxFeePerGas:r})}function Ph(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 em({chainId:t});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>pd)throw new zu({maxFeePerGas:r})}Ti(),No(),Fi();function Fh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Do({storageKey:i[e]});if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push([r,i])}return t}No(),zi(),Fn(),j();function Ih(e,t){let n=Gd(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 Ri([`0x04`,Au([A(r),a?A(a):`0x`,l?A(l):`0x`,c?A(c):`0x`,i?A(i):`0x`,o??`0x`,s?A(s):`0x`,d??`0x`,f,p,...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=>Hn(e)),n=e.kzg,r=Nd({blobs:t,kzg:n});f===void 0&&(f=Rd({commitments:r})),p===void 0&&(p=Wd({blobs:t,commitments:r,proofs:Pd({blobs:t,commitments:r,kzg:n})}))}let m=Fh(u),h=[A(n),i?A(i):`0x`,l?A(l):`0x`,c?A(c):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,d??`0x`,m,s?A(s):`0x`,f??[],...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 Ri([`0x03`,Au(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 Ri([`0x02`,Au([A(n),i?A(i):`0x`,c?A(c):`0x`,s?A(s):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,u??`0x`,d,...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 Ri([`0x01`,Au([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(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?A(a):`0x`,c?A(c):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new So({v:t.v});return e})(),r=Pn(t.r),i=Pn(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Au(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=Pn(n.r),o=Pn(n.s);return[typeof i==`number`?i?A(1):`0x`:r===0n?`0x`:r===1n?A(1):r===27n?`0x`:A(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}j();function 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?Bn(e):`0x`,a,r?Bn(r):`0x`,...Hh({},i)])}return t}ji(),nf();async function Wh({address:e,authorization:t,signature:n}){return tf(ki(e),await Iu({authorization:t,signature:n}))}Di();let Gh=new Ei(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}O(),Xo(),Ds(),Ro(),$a();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 ls(Error(`method not supported`),{method:u});if(c?.aborted)throw Po(c);return Kh(()=>mh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Po(c);if(Fo(e))throw e;let t=e;switch(t.code){case es.code:throw new es(t);case ts.code:throw new ts(t);case ns.code:throw new ns(t,{method:n.method});case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t);case ls.code:throw new ls(t,{method:n.method});case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case Cs.code:throw new Cs(t);case ws.code:throw new ws(t);case 5e3:throw new fs(t);case Ts.code:throw new Ts(t);default:throw e instanceof D?e:new Es(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Ko){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}.${Qa(n)}`):void 0})}}function Jh(e){return Fo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===us.code||e.code===is.code||e.code===429:e instanceof Ko&&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{}}O(),Nn(),ja(),er(),j();let Qh=1024;function $h(e,t=`hex`){let n=ka((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new On(e);return Yn(e)}return e})(),{recursiveReadLimit:1/0}),r=eg(n,t);if(n.position<n.bytes.length)throw new jn({count:n.bytes.length-n.position});return r}function eg(e,t=`hex`,n=0){if(n>=Qh)throw new kn({limit:Qh});if(e.bytes.length===0)return t===`hex`?Hn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=tg(e,r,128),i=e.readBytes(n);return t===`hex`?Hn(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 D(`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 An({consumed:e.position-i,declared:t});return a}zt(),Vt();function rg(e){return E(e)&&Bt(e)===32}Ro();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&&Fo(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();Xo(),Ro(),$a();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:Qa(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 Yo({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 Ko({body:i,details:Qa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Po(p):Fo(e)||e instanceof Ko||e instanceof qo||e instanceof Yo?e:new Ko({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 qo({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new qo({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 qo({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}}}zi(),Vt(),j();function ug(e){let t=typeof e==`string`?Un(e):typeof e.raw==`string`?e.raw:Hn(e.raw);return Ii([Un(`\u0019Ethereum Signed Message:\n${Bt(t)}`),t])}fi();function dg(e,t){return di(ug(e),t)}$a(),O();var fg=class extends D{constructor({domain:e}){super(`Invalid domain \"${Qa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},pg=class extends D{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},mg=class extends D{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};gn(),Ti(),Fi(),Vt(),j(),Ji(),$a();function hg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return Qa({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function gg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(qi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Mi(o))throw new wi({address:o});let c=r.match(Ki);if(c){let[e,t]=c;if(t&&Bt(o)!==Number.parseInt(t,10))throw new ln({expectedSize:Number.parseInt(t,10),givenSize:Bt(o)})}let l=i[r];l&&(vg(r),a(l,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 _g({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 vg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new mg({type:e})}ca(),zi(),j(),fi();function yg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:_g({domain:t}),...e.types};gg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(bg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(xg({data:n,primaryType:r,types:i})),di(Ii(a))}function bg({domain:e,types:t}){return xg({data:e,primaryType:`EIP712Domain`,types:t})}function xg({data:e,primaryType:t,types:n}){return di(Sg({data:e,primaryType:t,types:n}))}function Sg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Cg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Eg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Yi(r,i)}function Cg({primaryType:e,types:t}){return di(Bn(wg({primaryType:e,types:t})))}function wg({primaryType:e,types:t}){let n=``,r=Tg({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 Tg({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])Tg({primaryType:e.type,types:t},n);return n}function Eg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},di(Sg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},di(r)];if(n===`string`)return[{type:`bytes32`},di(Bn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Eg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},di(Yi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Dg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.2.4`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Og(e,t){return e.exec(t)?.groups}let kg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ag=/^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)?$/,jg=/^\\(.+?\\).*?$/,Mg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Ng(e){let t=e.type;if(Mg.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+=Ng(i),r<n-1&&(t+=`, `)}let r=Og(Mg,e.type);return t+=`)${r?.array||``}`,Ng({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Pg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Ng(i),r!==n-1&&(t+=`, `)}return t}function Fg(e){return e.type===`function`?`function ${e.name}(${Pg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Pg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Pg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Pg(e.inputs)})`:e.type===`constructor`?`constructor(${Pg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Ig=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Lg(e){return Ig.test(e)}function Rg(e){return Og(Ig,e)}let zg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Bg=new Set([`calldata`,`memory`,`storage`]);var Vg=class extends Dg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Hg=class extends Dg{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`})}},Ug=class extends Dg{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`})}},Wg=class extends Dg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Gg=class extends Dg{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`})}},Kg=class extends Dg{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`})}},qg=class extends Dg{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`})}},Jg=class extends Dg{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`})}},Yg=class extends Dg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Xg=class extends Dg{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`})}},Zg=class extends Dg{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`})}},Qg=class extends Dg{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 $g(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 e_=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}]]),t_=/^(?<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$_]*))?$/,n_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,r_=/^u?int$/;function i_(e,t){let n=$g(e,t?.type,t?.structs);if(e_.has(n))return e_.get(n);let r=jg.test(e),i=Og(r?n_:t_,e);if(!i)throw new Wg({param:e});if(i.name&&c_(i.name))throw new Gg({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=a_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(i_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(r_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!o_(c))throw new Hg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Kg({param:e,type:t?.type,modifier:i.modifier});if(Bg.has(i.modifier)&&!l_(c,!!i.array))throw new qg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return e_.set(n,u),u}function a_(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?a_(o,[...t,n.trim()]):a_(o,t,`${n}${i}`,r);case`(`:return a_(o,t,`${n}${i}`,r+1);case`)`:return a_(o,t,`${n}${i}`,r-1);default:return a_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Qg({current:n,depth:r});return t.push(n.trim()),t}function o_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||kg.test(e)||Ag.test(e)}let s_=/^(?: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 c_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||kg.test(e)||Ag.test(e)||s_.test(e)}function l_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function u_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Lg(n))continue;let i=Rg(n);if(!i)throw new Yg({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=i_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Xg({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]=f_(a,t)}return r}let d_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function f_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(jg.test(i.type))r.push(i);else{let e=Og(d_,i.type);if(!e?.type)throw new Jg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Zg({type:o});r.push({...i,type:`tuple${a??``}`,components:f_(t[o],t,new Set([...n,o]))})}else if(o_(o))r.push(i);else throw new Vg({type:o})}}return r}function p_(e){let t=[];if(typeof e==`string`){let n=a_(e),r=n.length;for(let e=0;e<r;e++)t.push(i_(n[e],{modifiers:zg}))}else{let n=u_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Lg(r))continue;let a=a_(r),o=a.length;for(let e=0;e<o;e++)t.push(i_(a[e],{modifiers:zg,structs:n}))}}if(t.length===0)throw new Ug({params:e});return t}let m_={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;ec(),ui(),lp(),R();function h_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=li(Bf(e));return n===`Bytes`?r:pp(r)}function g_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=$s(Fd,Bf(e),Bf(t));return r===`Bytes`?i:pp(i)}function __(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Fd(Bf(e));return n===`Bytes`?r:pp(r)}function v_(e){return Cp(e)&&vp(e)===32}lp(),vf(),R(),Lf();function y_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new E_({prefix:r,cause:new O_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new E_({prefix:r,cause:new D_});return}throw new T_({publicKey:e})}function b_(e){let t=(()=>{if(Cp(e))return S_(e);if(tp(e))return x_(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 y_(t),t}function x_(e){return S_(pp(e))}function S_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new k_({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 C_(e,t={}){return Hf(w_(e,t))}function w_(e,t={}){y_(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 T_=class extends N{constructor({publicKey:e}){super(`Value \\`${Ff(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},E_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},D_=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`})}},O_=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`})}},k_=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 ${vp(dp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};lp(),vf();let A_=/^0x[a-fA-F0-9]{40}$/;function j_(e,t={}){let{strict:n=!0}=t;if(!A_.test(e))throw new L_({address:e,cause:new R_});if(n){if(e.toLowerCase()===e)return;if(M_(e)!==e)throw new L_({address:e,cause:new z_})}}function M_(e){if(m_.has(e))return m_.get(e);j_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=h_(Uf(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 m_.set(e,i),i}function N_(e,t={}){let{checksum:n=!1}=t;return j_(e),n?M_(e):e}function P_(e,t={}){return N_(`0x${h_(`0x${w_(e).slice(4)}`).substring(26)}`,t)}function F_(e,t){return j_(e,{strict:!1}),j_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function I_(e,t={}){let{strict:n=!0}=t??{};try{return j_(e,{strict:n}),!0}catch{return!1}}var L_=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`})}},R_=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`})}},z_=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 B_=/^(.*)\\[([0-9]*)\\]$/,V_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,H_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let U_=2n**256n-1n;lp(),vf(),R();function W_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=cv(t.type);if(a){let[n,o]=a;return K_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return X_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return G_(e,{checksum:r});if(t.type===`bool`)return q_(e);if(t.type.startsWith(`bytes`))return J_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Y_(e,t);if(t.type===`string`)return Z_(e,{staticPosition:i});throw new Tv(t.type)}function G_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?M_(e):e)(pp(Jf(e.readBytes(32),-20))),32]}function K_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Zf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Zf(e.readBytes(32)),s=lv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=W_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(lv(t)){let n=a+Zf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=W_(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]=W_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function q_(e){return[Xf(e.readBytes(32),{size:32}),32]}function J_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Zf(e.readBytes(32));e.setPosition(n+t);let r=Zf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[pp(i),32]}return[pp(e.readBytes(Number.parseInt(i,10),32)),32]}function Y_(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?Yf(i,{signed:n}):Zf(i,{signed:n}),32]}function X_(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(lv(t)){let n=i+Zf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=W_(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]=W_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Z_(e,{staticPosition:t}){let n=t+Zf(e.readBytes(32));e.setPosition(n);let r=Zf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Qf($f(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Q_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push($_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function $_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=cv(r.type);if(i){let[t,a]=i;return nv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return sv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return tv(n,{checksum:e});if(r.type===`bool`)return iv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=H_.exec(r.type)??[];return av(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return rv(n,{type:r.type});if(r.type===`string`)return ov(n);throw new Tv(r.type)}function ev(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=vp(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+=vp(s)):n.push(s)}return P(...n,...r)}function tv(e,t){let{checksum:n=!1}=t;return j_(e,{strict:n}),{dynamic:!1,encoded:hp(e.toLowerCase())}}function nv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new wv(e);if(!a&&e.length!==r)throw new xv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=$_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=ev(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 rv(e,{type:t}){let[,n]=t.split(`bytes`),r=vp(e);if(!n){let t=e;return r%32!=0&&(t=gp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(hp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Sv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:gp(e)}}function iv(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:hp(fp(e))}}function av(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Ep({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:F(e,{size:32,signed:t})}}function ov(e){let t=mp(e),n=Math.ceil(vp(t)/32),r=[];for(let e=0;e<n;e++)r.push(gp(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(gp(F(vp(t),{size:32})),...r)}}function sv(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=$_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?ev(a):P(...a.map(({encoded:e})=>e))}}function cv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function lv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(lv);let n=cv(e.type);return!!(n&&lv({...e,type:n[1]}))}vf();let uv={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 mv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new pv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new fv({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 fv({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 dv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(uv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var fv=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`})}},pv=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`})}},mv=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`})}};lp(),vf(),R();function hv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Hf(t):t,o=dv(a);if(qf(a)===0&&e.length>0)throw new bv;if(qf(a)&&qf(a)<32)throw new yv({data:typeof t==`string`?t:pp(t),parameters:e,size:qf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];o.setPosition(s);let[a,l]=W_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function gv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Cv({expectedLength:e.length,givenLength:t.length});let i=ev(Q_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function _v(e,t){if(e.length!==t.length)throw new Cv({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(_v.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return j_(e),hp(e.toLowerCase(),r?32:0)}if(e===`string`)return mp(n);if(e===`bytes`)return n;if(e===`bool`)return hp(fp(n),r?32:1);let i=e.match(H_);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(V_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Sv({expectedSize:Number.parseInt(t,10),value:n});return gp(n,r?32:0)}let o=e.match(B_);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 Tv(e)}e.encode=t})(_v||={});function vv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?p_(e):e}var yv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Pg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},bv=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`})}},xv=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`})}},Sv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${vp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Cv=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`})}},wv=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`})}},Tv=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`})}};lp(),vf(),R();function Ev(e){return Dv(e,`Hex`)}function Dv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Ov(dv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new kp(e);return Hf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Ov(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?pp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=kv(e,n,128),i=e.readBytes(r);return t===`Hex`?pp(i):i}return Av(e,kv(e,n,192),t)}function kv(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 Av(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Ov(e,n));return i}function jv(e,t){let{as:n}=t,r=Nv(e),i=dv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?pp(i.bytes):i.bytes}function Mv(e,t={}){let{as:n=`Hex`}=t;return jv(e,{as:n})}function Nv(e){return Array.isArray(e)?Pv(e.map(e=>Nv(e))):Fv(e)}function Pv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Iv(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 Fv(e){let t=typeof e==`string`?Hf(e):e,n=Iv(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 Iv(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.`)}vf(),R(),Lf();function Lv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Zv({signature:e});if(e.r<0n||e.r>U_)throw new Qv({value:e.r});if(e.s<0n||e.s>U_)throw new $v({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new ey({value:e.yParity})}function Rv(e){return zv(pp(e))}function zv(e){if(e.length!==130&&e.length!==132)throw new Xv({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 Jv(t)}catch{throw new ey({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Bv(e){if(e.r!==void 0&&e.s!==void 0)return Vv(e)}function Vv(e){let t=typeof e==`string`?zv(e):e instanceof Uint8Array?Rv(e):typeof e.r==`string`?Uv(e):e.v?Hv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Lv(t),t}function Hv(e){return{r:e.r,s:e.s,yParity:Jv(e.v)}}function Uv(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=Jv(t)),typeof n!=`number`)throw new ey({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Wv(e){let[t,n,r]=e;return Vv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Gv(e){Lv(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(Yv(e.yParity),{size:1}):`0x`)}function Kv(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 qv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:yp(F(t)),n===0n?`0x`:yp(F(n))]}function Jv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ty({value:e})}function Yv(e){if(e===0)return 27;if(e===1)return 28;throw new ey({value:e})}var Xv=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${vp(dp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Zv=class extends N{constructor({signature:e}){super(`Signature \\`${Ff(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Qv=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`})}},$v=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`})}},ey=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`})}},ty=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};R();function ny(e,t={}){return typeof e.chainId==`string`?ry(e):{...e,...t.signature}}function ry(e){let{address:t,chainId:n,nonce:r}=e,i=Bv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function iy(e){return e.map(ry)}function ay(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Kv(i)}}function oy(e){return e.map(ay)}Eu(),lp(),R();function sy(e){let{privateKey:t}=e;return b_(du.ProjectivePoint.fromPrivateKey(dp(t).slice(2)))}function cy(e){return P_(ly(e))}function ly(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return b_(new du.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(dp(t).substring(2)))}function uy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=du.sign(Bf(r),Bf(i),{extraEntropy:typeof t==`boolean`?t:dp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function dy(e){let{hash:t,payload:n}=e;return e.address?F_(e.address,cy({payload:n,signature:e.signature})):du.verify(e.signature,Bf(n),C_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}vf(),R();let fy=vv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function py(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new gy(e)}else Lv(e.authorization)}function my(e){py(e);let t=xp(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=hv(fy,n);return{authorization:ny({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 hy(e){try{return py(e),!0}catch{return!1}}var gy=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`})}};No(),Gi(),zn();function _y(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`&&Rn(t)>=192)return`legacy`;throw new To({serializedType:t})}Ti(),No(),Fi(),zt(),wn(),Fn(),zn();function vy(e){let t=_y(e);return t===`eip1559`?xy(e):t===`eip2930`?Sy(e):t===`eip4844`?by(e):t===`eip7702`?yy(e):Cy(e)}function yy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Eo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Rn(n),type:`eip7702`};return E(s)&&s!==`0x`&&(h.to=s),E(o)&&o!==`0x`&&(h.gas=k(o)),E(l)&&l!==`0x`&&(h.data=l),E(r)&&(h.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(h.value=k(c)),E(a)&&a!==`0x`&&(h.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(h.accessList=Ty(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ey(d)),Ah(h),{...t.length===13?Dy(t):void 0,...h}}function by(e){let t=wy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new Eo({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Rn(a),to:u,type:`eip4844`};return E(l)&&l!==`0x`&&(S.gas=k(l)),E(f)&&f!==`0x`&&(S.data=f),E(o)&&(S.nonce=o===`0x`?0:Rn(o)),E(d)&&d!==`0x`&&(S.value=k(d)),E(m)&&m!==`0x`&&(S.maxFeePerBlobGas=k(m)),E(c)&&c!==`0x`&&(S.maxFeePerGas=k(c)),E(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=k(s)),p.length!==0&&p!==`0x`&&(S.accessList=Ty(p)),y&&b&&x&&(S.sidecars=Wd({blobs:y,commitments:b,proofs:x})),jh(S),{...r.length===14?Dy(r):void 0,...S}}function xy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new Eo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Rn(n),type:`eip1559`};return E(s)&&s!==`0x`&&(m.to=s),E(o)&&o!==`0x`&&(m.gas=k(o)),E(l)&&l!==`0x`&&(m.data=l),E(r)&&(m.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(m.value=k(c)),E(a)&&a!==`0x`&&(m.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(m.accessList=Ty(u)),Mh(m),{...t.length===12?Dy(t):void 0,...m}}function Sy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new Eo({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Rn(n),type:`eip2930`};return E(o)&&o!==`0x`&&(p.to=o),E(a)&&a!==`0x`&&(p.gas=k(a)),E(c)&&c!==`0x`&&(p.data=c),E(r)&&(p.nonce=r===`0x`?0:Rn(r)),E(s)&&s!==`0x`&&(p.value=k(s)),E(i)&&i!==`0x`&&(p.gasPrice=k(i)),l.length!==0&&l!==`0x`&&(p.accessList=Ty(l)),Nh(p),{...t.length===11?Dy(t):void 0,...p}}function Cy(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 Eo({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(E(a)&&a!==`0x`&&(d.to=a),E(i)&&i!==`0x`&&(d.gas=k(i)),E(s)&&s!==`0x`&&(d.data=s),E(n)&&(d.nonce=n===`0x`?0:Rn(n)),E(o)&&o!==`0x`&&(d.value=k(o)),E(r)&&r!==`0x`&&(d.gasPrice=k(r)),Ph(d),t.length===6)return d;let f=E(c)&&c!==`0x`?k(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new So({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function wy(e){return $h(`0x${e.slice(4)}`,`hex`)}function Ty(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=>rg(e)?e:Pn(e))})}return t}function Ey(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Rn(r),nonce:a===`0x`?0:Rn(a),...Dy([o,s,c])})}return t}function Dy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:k(t[0]);if(n!==0n&&n!==1n)throw new Co({yParity:n});let r=n===0n?27n:28n;return{r:Sn(t[1],{size:32}),s:Sn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}uo();function Oy(e,t){return no(e,t)}uo();function ky(e,t){return ao(e,t)}No(),j();async function Ay(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:A(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,A(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,A(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,A(s)]},{dedupe:!0})),!u)throw new ko({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||Sd)(u,`getTransaction`)}No();async function jy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Ao({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||gh)(n,`getTransactionReceipt`)}Up(),Yp(),gn(),O(),Go(),ff(),ba(),om(),pm(),$a();async function My(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return am({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=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=Os(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?Ny(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]):T(e,qm,`readContract`)({...h===null?{code:Jp}:{address:h},abi:Lp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new Yt;if(!a)throw new Wo({data:r});let e=uf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Os(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 D(`multicall results mismatch`);return S}async function Ny(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=dm({id: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=>T(e,qm,`readContract`)({...i===null?{code:Jp}:{address:i},...a,abi:Lp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}vf();function Py(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 Fy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return I_(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)=>Fy(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=>Fy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Iy(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 Iy(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`))&&I_(n[r],{strict:!1}))return o}}vf(),R();function Ly(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Cp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ry(e)===I(t,0,4):e.type===`event`&&By(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Hy({name:t});if(o.length===1)return{...o[0],...i?{hash:By(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:By(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?Fy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Iy(e.inputs,s.inputs,r);if(t)throw new Vy({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 Hy({name:t});return{...c,...i?{hash:By(c)}:{}}}function Ry(...e){return I(By((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})()),0,4)}function zy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})();return Py(typeof t==`string`?t:Fg(t))}function By(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:h_(mp(zy(t)))}var Vy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Py(Fg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Py(Fg(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`})}},Hy=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 Uy(e){return Ry(e)}vf(),R();function Wy(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new qy(e)}function Gy(e){let{data:t,signature:n,to:r}=e;return P(gv(vv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Ky(e){try{return Wy(e),!0}catch{return!1}}var qy=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`})}};Eu(),zn(),er();function Jy({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 du.Signature(k(e),k(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Yn(o)}Up(),Yp(),Go(),im(),ba(),ji(),nf(),zi(),zt(),zn(),j(),Km();async function Yy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return E(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Jy(e):Hn(e)})();try{if(s===`eoa`)try{if(tf(ki(n),await ku({hash:i,signature:c})))return!0}catch{}return hy(c)?await Xy(e,{...t,multicallAddress:o,signature:c}):await Zy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(tf(ki(n),await ku({hash:i,signature:c})))return!0}catch{}if(e instanceof $y)return!1;throw e}}async function Xy(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}=my(t.signature);if(await kh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Ri([`0xef0100`,l.address]))return await Qy(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:A(l.r,{size:32}),s:A(l.s,{size:32}),yParity:l.yParity};if(!await Wh({address:n,authorization:p}))throw new $y;let m=await T(e,qm,`readContract`)({...s?{address:s}:{code:Jp},authorizationList:[p],abi:Lp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:ya({abi:Bp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new $y}async function Zy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Ky(o)?o:Gy({data:i,signature:o,to:r}))(),u=s?{to:s,data:ya({abi:Vp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:nm({abi:Vp,args:[n,a,l],bytecode:qp}),...c},{data:d}=await T(e,Fm,`call`)(u).catch(e=>{throw e instanceof zo?new $y:e});if(Ln(d??`0x0`))return!0;throw new $y}async function Qy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await T(e,qm,`readContract`)({address:n,abi:Bp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof Bo?new $y:e})).startsWith(`0x1626ba7e`))return!0;throw new $y}var $y=class extends Error{};zn(),$a();function eb(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?!(e.transport.type===`webSocket`||e.transport.type===`ipc`||e.transport.type===`fallback`&&(e.transport.transports[0].config.type===`webSocket`||e.transport.transports[0].config.type===`ipc`)):a,c;return s?Qm(Qa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>eh(async()=>{try{let t=await T(e,oh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Qm(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=k(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}No(),um(),$a();async function tb(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=Qa([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=lm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Mo({hash:i}))},c):void 0;return h=Qm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await T(e,jy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=T(e,eb,`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 T(e,Ay,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await T(e,jy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof ko||n instanceof Ao){if(!d){m=!1;return}try{f=d,m=!0;let n=await mh(()=>T(e,Ed,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof bd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await T(e,jy,`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 nb(e){let{scheme:t,statement:n,...r}=e.match(rb)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(ib)?.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 rb=/^(?:(?<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)?/,ib=/(?: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>.+))?/;Fi(),nf(),ba();function ab(e,t){return{amount:e,decimals:t,formatted:Oy(e,t)}}function ob(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return ky(e.formatted,sb(n))}function sb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function cb(e,t){return typeof e==`bigint`?t:e.decimals??t}function lb(e,t){let{decimals:n,token:r}=t,i=ub(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Mi(r,{strict:!1}))return{address:r,decimals:n??pb(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 ub(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=fb(n,t);if(i)return db(i,r);if(Mi(t,{strict:!1}))for(let e of n){let n=db(e,r);if(n&&tf(n.address,t))return n}}function db(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 fb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function pb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=db(e,r);if(n&&tf(n.address,t))return n.decimals}}function mb(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 hb(e){return{...e,data:ya(e),to:e.address}}Up();async function gb(e,t){return gb.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return hb(_b(e,t))}e.call=n;async function r(t,n){return ef(t,{...mb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...mb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=cf({abi:Hp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(gb||={});function _b(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=lb(e,{token:i});return{abi:Hp,address:a,args:[r,ob(n,o)],functionName:`approve`}}No();async function vb(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 jo({receipt:a});return a}ha(),O(),No(),zi(),td(),cd(),Di(),gd();let yb=new Ei(128);async function bb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new sh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?M(n):null,C;try{hd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Iu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await T(e,qd,`getChainId`)({}),r&&lh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||id)({...ed(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`),ee=yb.get(e.uid),te=ee?`wallet_sendTransaction`:`eth_sendTransaction`,ne=await(async()=>{try{return await e.request({method:te,params:[w]},{retryCount:0})}catch(t){if(ee===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[w]},{retryCount:0}).then(t=>(yb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(yb.set(e.uid,!1),n):r});throw n}})(),re=await T(e,tb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:ne,pollingInterval:g,timeout:x});if(_&&re.status===`reverted`)throw new jo({receipt:re});return re}if(S?.type===`local`){if(S.nonceManager&&h===void 0){let t=b.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,qd,`getChainId`)({}))();C={address:S.address,chainId:n}}let r=await T(e,Qd,`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:S.nonceManager,parameters:[...Yd,`sidecars`],type:v,value:y,...b,to:n}),g=i?.serializers?.transaction,x=await S.signTransaction(r,{serializer:g});return await T(e,vb,`sendRawTransactionSync`)({serializedTransaction:x,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new ch({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ch({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof ch?e:(C&&!(e instanceof jo)&&S?.nonceManager?.reset(C),Kd(e,{...t,account:S,chain:t.chain||void 0}))}}async function xb(e,t){return z.internal(e,bb,`sendTransactionSync`,t)}async function Sb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=lb(e,{token:r}),o=cb(n,a),s=await gb.inner(xb,e,{...t,throwOnReceiptRevert:i}),{args:c}=gb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Oy(c.value,o)},receipt:s}}Up();async function Cb(e,t){return Cb.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return hb(wb(e,t))}e.call=n;async function r(t,n){return ef(t,{...mb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...mb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=cf({abi:Hp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Cb||={});function wb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=lb(e,{token:a}),c=ob(n,s);return r?{abi:Hp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Hp,address:o,args:[i,c],functionName:`transfer`}}async function Tb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=lb(e,{token:r}),o=cb(n,a),s=await Cb.inner(xb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Cb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Oy(c.value,o)},receipt:s}}j();async function Eb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:A(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}im();function Db(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=nm({abi:n,args:r,bytecode:i});return fh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}ji();async function Ob(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Oi(e))}ha(),j();async function kb(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?M(n):void 0,a=r?[i?.address,[A(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Ab(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ha(),nf();async function jb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new sh({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 T(e,qd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await T(e,Md,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&tf(o.address,a.address))&&(s.nonce+=1)),s}ji();async function Mb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>ki(e))}async function Nb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Pb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await T(e,yh,`sendCalls`)(t);return await T(e,xh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Fb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ha();async function Ib(e,t){let{account:n=e.account}=t;if(!n)throw new sh({docsPath:`/docs/eip7702/signAuthorization`});let r=M(n);if(!r.signAuthorization)throw new ch({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await jb(e,t);return r.signAuthorization(i)}ha(),j();async function Lb(e,{account:t=e.account,message:n}){if(!t)throw new sh({docsPath:`/docs/actions/wallet/signMessage`});let r=M(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Un(n):n.raw instanceof Uint8Array?Bn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ha(),j(),cd(),gd();async function Rb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new sh({docsPath:`/docs/actions/wallet/signTransaction`});let a=M(n);hd({account:a,...t});let o=await T(e,qd,`getChainId`)({});r!==null&&lh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||id;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}ha();async function zb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new sh({docsPath:`/docs/actions/wallet/signTypedData`});let o=M(n),s={EIP712Domain:_g({domain:r}),...t.types};if(gg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=hg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}j();async function Bb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:A(t)}]},{retryCount:0})}async function Vb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Hb(e){return{addChain:t=>Eb(e,t),deployContract:t=>Db(e,t),fillTransaction:t=>Jd(e,t),getAddresses:()=>Ob(e),getCallsStatus:t=>bh(e,t),getCapabilities:t=>kb(e,t),getChainId:()=>qd(e),getPermissions:()=>Ab(e),prepareAuthorization:t=>jb(e,t),prepareTransactionRequest:t=>Qd(e,t),requestAddresses:()=>Mb(e),requestPermissions:t=>Nb(e,t),sendCalls:t=>yh(e,t),sendCallsSync:t=>Pb(e,t),sendRawTransaction:t=>uh(e,t),sendRawTransactionSync:t=>vb(e,t),sendTransaction:t=>fh(e,t),sendTransactionSync:t=>bb(e,t),showCallsStatus:t=>Fb(e,t),signAuthorization:t=>Ib(e,t),signMessage:t=>Lb(e,t),signTransaction:t=>Rb(e,t),signTypedData:t=>zb(e,t),switchChain:t=>Bb(e,t),waitForCallsStatus:t=>xh(e,t),watchAsset:t=>Vb(e,t),writeContract:t=>z(e,t),writeContractSync:t=>xb(e,t),token:{approve:Oh(e,gb),approveSync:Oh(e,Sb),transfer:Oh(e,Cb),transferSync:Oh(e,Tb)}}}function Ub(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Eh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Hb)}function Wb({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 Gb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Wb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}O();var Kb=class extends D{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Xo(),pm();let qb=0,Jb=new WeakMap;function Yb(e){if(!e)return`default`;let t=Jb.get(e);if(t!==void 0)return t;let n=qb++;return Jb.set(e,n),n}function Xb(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 Kb;let x=sg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Wb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=dm({id:`${b}.${Yb(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 Jo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}vf(),R();function Zb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&j_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>v_(e)?e:yp(e))})}return t}function Qb(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(vp(r[e])!==32)throw new $b({storageKey:r[e]});n&&j_(n,{strict:!1}),t.push([n,r])}return t}var $b=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${vp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};lp();let ex=new TextEncoder,tx=new TextDecoder,nx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),rx={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function ix(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]=nx[r>>18],i[t+1]=nx[r>>12&63],i[t+2]=nx[r>>6&63],i[t+3]=nx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=tx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ax(e,t={}){return ix(Hf(e),t)}function ox(e,t={}){return ix(Uf(e),t)}function sx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);ex.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(rx[r[e]]<<18)+(rx[r[e+1]]<<12)+(rx[r[e+2]]<<6)+rx[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 cx(e){return Qf(sx(e))}let lx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ux={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function dx(e,t={}){if(!e)return null;let n=Bv(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=iy(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=ux[e.type]??e.type),n&&(r.v=Yv(n.yParity)),r}lp(),vf(),R();function fx(e,t={}){let{as:n=`Hex`}=t,r=Ex(e),i=dv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?pp(i.bytes):i.bytes}var px=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`})}},mx=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`})}},hx=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`})}},gx=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`})}},_x=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`})}},vx=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`})}},yx=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`})}},bx=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},xx=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`})}},Sx=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`})}},Cx=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`})}},wx=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`})}},Tx=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 Ex(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 Ex.number(e);if(typeof e==`bigint`)throw new yx;if(typeof e==`string`)return Ex.string(e);if(Array.isArray(e))return Ex.array(e);if(e instanceof Uint8Array)return Ex.byteString(e);if(e instanceof ArrayBuffer)return Ex.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Ex.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Ex.map(e);if(typeof e==`object`)return Ex.object(e);throw new bx({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 xx({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 xx({number:e.toString(10)})}e.number=t;function n(e){let t=Uf(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 Sx({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 Cx({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 Tx({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 wx({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 wx({size:i})}e.map=o})(Ex||={});function Dx(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Dx.readUnsignedInteger(e,r);case 1:return Dx.readNegativeInteger(e,r);case 2:return Dx.readByteString(e,r);case 3:return Dx.readTextString(e,r);case 4:return Dx.readArray(e,r);case 5:return Dx.readMap(e,r);case 6:throw new gx({tag:r});case 7:return Dx.readSimpleOrFloat(e,r);default:throw new px({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 hx:new mx({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 _x({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 _x({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Qf(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 vx({value:t});return}throw new mx({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}})(Dx||={}),vf();function Ox(e){let t=C_(e),n=t.slice(1,33),r=t.slice(33,65);return fx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Zs(),Rl(),il();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet kx=Kc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Ax=Ll({a:kx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:kx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Js),jx=Kc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Ll({a:jx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:jx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Xs);let Mx=Kc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Ll({a:Mx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Mx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Ys);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Nx=Ax,Px=Ax;lp(),R();function Fx(e){let{privateKey:t}=e;return b_(Px.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):pp(t).slice(2)))}function Ix(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Px.sign(r instanceof Uint8Array?r:Hf(r),i instanceof Uint8Array?i:Hf(i),{extraEntropy:typeof t==`boolean`?t:dp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Lx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Px.verify(i,n instanceof Uint8Array?n:Hf(n),w_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Rx=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 zx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Bx(r.error);return r.result}function Bx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Qx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Qx.code?new Qx(t):n===Hx.code?new Hx(t):n===Zx.code?new Zx(t):n===Yx.code?new Yx(t):n===qx.code?new qx(t):n===Xx.code?new Xx(t):n===Kx.code?new Kx(t):n===$x.code?new $x(t):n===Ux.code?new Ux(t):n===Wx.code?new Wx(t):n===Gx.code?new Gx(t):n===Jx.code?new Jx(t):new Qx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Vx=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??``}},Hx=class e extends Vx{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(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Ux=class e extends Vx{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Wx=class e extends Vx{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Gx=class e extends Vx{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Kx=class e extends Vx{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var qx=class e extends Vx{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(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Jx=class e extends Vx{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Yx=class e extends Vx{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(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Xx=class e extends Vx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Zx=class e extends Vx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Qx=class e extends Vx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var $x=class e extends Vx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),vf();var eS=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}},tS=class extends eS{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(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var nS=class extends eS{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var rS=class extends eS{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var iS=class extends eS{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var aS=class extends eS{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(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var oS=class extends eS{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var sS=class extends eS{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var cS=class extends eS{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var lS=class extends eS{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var uS=class extends eS{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var dS=class extends eS{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var fS=class extends eS{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var pS=class extends eS{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(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function mS(){let e=new Rx.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 hS(e,t={}){if(!e)throw new _S;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?zx(n):n}catch(e){throw gS(e)}}}}function gS(e){let t=Bx(e);if(t instanceof Qx){if(!t.data)return t;let{code:e}=t.data;if(e===iS.code)return new iS(t);if(e===aS.code)return new aS(t);if(e===tS.code)return new tS(t);if(e===nS.code)return new nS(t);if(e===rS.code)return new rS(t);if(e===oS.code)return new oS(t);if(e===fS.code)return new fS(t);if(e===pS.code)return new pS(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);if(e===sS.code)return new sS(t)}return t}var _S=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function vS(e={}){let t=e.id??0;return{prepare(e){return yS({id:t++,...e})},get id(){return t}}}function yS(e){return{...e,jsonrpc:`2.0`}}function bS(){return null}R();function xS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=oy(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=lx[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}vf();let SS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function CS(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function wS(e,t=`wei`){return CS(e,SS.gwei-SS[t])}vf();var TS=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${wS(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},ES=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`})}},DS=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`})}},OS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${wS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${wS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function kS(e){let t=Nx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function AS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(__(mp(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=pp(new Uint8Array(16)),s=pp(t.id);return P(a,o,F(t.id.length,{size:2}),s,Ox(t.publicKey))}function jS(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:ax(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}lp(),vf(),R();function MS(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:sx(e),type:`public-key`})):[{id:sx(t),type:`public-key`}]}:{},challenge:Hf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function NS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=AS({flag:i,rpId:o,signCount:s}),u=jS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=__(mp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function PS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:MS(n);try{let e=await t(r);if(!e)throw new FS;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=kS(o);return{id:s,metadata:{authenticatorData:pp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new FS({cause:e})}}var FS=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 IS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Hf(s);if(u.length<37||a!==void 0&&!Wf(u.slice(0,32),__(mp(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||pp(sx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Lx({hash:!0,payload:zf(u,__(Uf(c),{as:`Bytes`})),publicKey:i,signature:o})}let LS=NS;async function RS(e){return PS(e)}function zS(e){return IS(e)}lp();async function BS(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=b_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function VS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Bf(t)),i=Vf(new Uint8Array(r)),a=Yf(Jf(i,0,32)),o=Yf(Jf(i,32,64));return o>Nx.CURVE.n/2n&&(o=Nx.CURVE.n-o),{r:a,s:o}}vf(),R();let HS=`0x${`00`.repeat(32)}`;function US(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&vp(t)!==32)throw new XS({reason:`salt must be 32 bytes`});if(r.length===0)throw new XS({reason:`owners cannot be empty`});if(r.length>10)throw new XS({reason:`too many owners`});if(Number(n)<1)throw new XS({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!I_(e.owner)||L(e.owner)===0n)throw new XS({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new XS({reason:`owner weight cannot be zero`});let t=L(e.owner);if(a!==void 0&&a>=t)throw new XS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new XS({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new XS({reason:`threshold exceeds total owner weight`})}function WS(e){let t=[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),n={salt:e.salt?hp(e.salt,32):HS,threshold:e.threshold,owners:t};return US(n),n}function GS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?hp(t,32):HS,threshold:n===`0x`?0:xp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:xp(n)}})}}function KS(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:JS(e);return N_(I(h_(P(mp(`tempo:multisig:account`),t)),12,32))}function qS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:KS(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:JS(e.genesisConfig);return h_(P(mp(`tempo:multisig:signature`),dp(t),n,r))}function JS(e){US(e);let t=h_(P(mp(`tempo:multisig:config`),hp(e.salt??HS,32),F(e.threshold,{size:4}),F(e.owners.length,{size:4}),...e.owners.flatMap(e=>[e.owner,F(e.weight,{size:4})])));if(L(t)===0n)throw new XS({reason:`config ID cannot be zero`});return t}function YS(e){US(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]);return[e.salt?hp(e.salt,32):HS,F(e.threshold),t]}var XS=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`})}};vf(),R(),Lf();let ZS=`0x01`,QS=`0x02`,$S=`0x03`,eC=`0x04`,tC=`0x05`,nC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function rC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:rC({...e,signature:t.inner}):t.type===`multisig`?t.account:P_(iC(e))}function iC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return ly({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return iC({payload:t,signature:n.inner});case`multisig`:throw new pC({envelope:n})}}function aC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-vp(nC)):e;if(vp(t)===65){let e=zv(t);return Lv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=vp(r);if(n===ZS){if(i!==129)throw new mC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,64,96)),y:L(I(r,96,128))},prehash:xp(I(r,128,129))!==0,signature:{r:L(I(r,0,32)),s:L(I(r,32,64))},type:`p256`}}if(n===QS){if(i<128)throw new mC({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=Sp(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 mC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,e+64,e+96)),y:L(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:L(I(r,e,e+32)),s:L(I(r,e+32,e+64))},type:`webAuthn`}}if(n===$S||n===eC)return{userAddress:I(r,0,20),inner:aC(I(r,20)),type:`keychain`,version:n===eC?`v2`:`v1`};if(n===tC){let[e,t,n,i]=Ev(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>aC(e)),...i&&i!==`0x`?{init:GS(i)}:{}}}throw new mC({reason:`Unknown signature type identifier: ${n}. Expected ${ZS} (P256), ${QS} (WebAuthn), ${$S} (Keychain V1), ${eC} (Keychain V2), or ${tC} (Multisig)`,serialized:t})}function oC(e,t){if(typeof e==`string`)return aC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=cC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?KS(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?JS(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>oC(e)),...s?{init:WS(s)}:{},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:P_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:P_(ly({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function sC(e){if(e.type===`secp256k1`)return{signature:Uv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=vp(t),r,i;for(let e=37;e<n;e++){let n=Sp(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 mC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:sC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`account`in e&&`configId`in e&&`signatures`in e){let t=e;return{type:`multisig`,account:t.account,genesisConfigId:t.configId,signatures:t.signatures.map(e=>aC(e)),...t.init?{init:WS(t.init)}:{}}}throw new pC({envelope:e})}function cC(e){if(typeof e!=`object`||!e)throw new pC({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&&`genesisConfigId`in e||`genesisConfig`in e)&&`signatures`in e)return`multisig`;throw new pC({envelope:e})}function lC(e,t={}){let n=cC(e);if(n===`secp256k1`)return P(Gv(e.signature),t.magic?nC:`0x`);if(n===`p256`){let n=e;return P(ZS,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?nC:`0x`)}if(n===`webAuthn`){let n=e,r=P(n.metadata.authenticatorData,mp(n.metadata.clientDataJSON));return P(QS,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?nC:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?$S:eC,n.userAddress,lC(n.inner),t.magic?nC:`0x`)}if(n===`multisig`){let n=e;return P(tC,Mv([n.account,n.genesisConfigId,n.signatures.map(e=>lC(e)),n.init?YS(n.init):`0x`]),t.magic?nC:`0x`)}throw new pC({envelope:e})}function uC(e){let{payload:t,signatures:n}=e,r=qS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:L(rC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function dC(e){let t=cC(e);if(t===`secp256k1`)return{...Kv(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,mp(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{type:`keychain`,userAddress:t.userAddress,signature:dC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;return{type:`multisig`,account:t.account,configId:t.genesisConfigId,signatures:t.signatures.map(e=>lC(e)),...t.init?{init:t.init}:{}}}throw new pC({envelope:e})}function fC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return P_(t.publicKey)})();if(!r)return!1;let i=oC(e);if(i.type===`secp256k1`)return r?dy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return F_(P_(i.publicKey),r)?Lx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return F_(P_(i.publicKey),r)?zS({challenge:dp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new hC(`Unable to verify signature envelope of type \"${i.type}\".`)}var pC=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${Ff(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},mC=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},hC=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};vf(),R();function gC(e){return e.startsWith(`tempo`)?_C(e).address:e}function _C(e){if(!e.startsWith(`tempox`))throw new vC({address:e});let t=e.slice(6);return up(t,{strict:!0}),{address:M_(t)}}var vC=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function yC(e,t={}){if(typeof e.chainId==`string`)return bC(e);let n={...e,address:gC(e.address)};return t.signature?{...n,signature:t.signature}:n}function bC(e){let{address:t,chainId:n,nonce:r}=e,i=sC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function xC(e){return e.map(e=>bC(e))}function SC(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=aC(i)),yC(a)}function CC(e){let t=[];for(let n of e)t.push(SC(n));return t}function wC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:dC(i)}}function TC(e){return e.map(e=>wC(e))}function EC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?lC(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function DC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(EC(n));return t}R();let OC=`0x20c0`;function kC(e){let t=gC(e);if(!t.toLowerCase().startsWith(OC))throw Error(`invalid tip20 address.`);return L(I(t,6))}function AC(e){if(typeof e==`string`){let t=gC(e);return j_(t),t}let t=F(e,{size:18});return P(OC,t)}R();let jC=vv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),MC=vv(`bytes32, bytes32, bytes32, uint256, address`),NC=vv(`bytes32, bytes32, uint96`),PC=h_(mp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),FC=h_(mp(`TIP20 Channel Reserve`)),IC=h_(mp(`1`)),LC=`0x0000000000000000000000000000000000000000`,RC=`0x4d50500000000000000000000000000000000000`,zC=h_(mp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function BC(e){let{authorizedSigner:t=LC,expiringNonceHash:n,operator:r=LC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:WC(t),expiringNonceHash:n,operator:WC(r),payee:WC(i),payer:WC(a),salt:o,token:typeof s==`string`?WC(s):AC(s)}}function VC(e,t){let n=BC(e);return h_(gv(jC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,RC,BigInt(t.chainId)]))}function HC(e){return h_(gv(MC,[PC,FC,IC,BigInt(e.chainId),RC]))}function UC(e){let t=h_(gv(NC,[zC,e.channelId,e.cumulativeAmount]));return h_(P(`0x1901`,HC({chainId:e.chainId}),t))}function WC(e){return N_(e)}R();function GC(e,t={}){if(`keyId`in e)return KC(e);let n=e;n.witness!==void 0&&ow(n.witness);let r={...n,address:gC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:gC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:gC(e.address),selector:aw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>gC(e))}:{}}))}:{}};return t.signature?{...r,signature:oC(t.signature)}:r}function KC(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=sC(e.signature);s!==void 0&&ow(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:iw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:L(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&rw(e.period)>0?{period:rw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function qC(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=sw(c)?void 0:rw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:nw(n),...r===void 0?{}:{period:rw(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,_=sw(d)?void 0:d;_!==void 0&&ow(_);let v=(()=>{if(!sw(f)){if(f!==`0x01`)throw new lw(f);return!0}})(),y=sw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:L(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};return n&&(x.signature=aC(n)),GC(x)}function JC(e){return XC(e)}function YC(e){return qC(Ev(e))}function XC(e){let[t]=$C(e);return h_(Mv(t))}function ZC(e){return Mv($C(e))}function QC(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;c!==void 0&&ow(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:aw(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:gC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:tw(n)}:{}})),signature:dC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function $C(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&ow(o);let l=e.signature?lC(e.signature):void 0,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,ew(e.limit)];return e.period&&e.period>0&&t.push(tw(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([aw(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?tw(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[[ew(n),u,t,...g],...l?[l]:[]]}function ew(e){return e===0n?`0x`:F(e)}function tw(e){return e===0?`0x`:F(e)}function nw(e){return e===`0x`?0n:BigInt(e)}function rw(e){return e===`0x`?0:xp(e)}function iw(e){return typeof e==`string`?e:Array.isArray(e)?pp(new Uint8Array(e)):e}function aw(e){if(e)return e.startsWith(`0x`)?e:Ry(e)}function ow(e){if(vp(e)!==32)throw new cw(e)}function sw(e){return e===void 0||e===`0x`}var cw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${vp(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},lw=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`})}};R();let uw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function dw(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:h_(mp(uw[e]??e))}let fw={...lx,tempo:`0x76`},pw={...ux,\"0x76\":`tempo`};function mw(e,t={}){if(!e)return null;let n=dx(e);return n.type=pw[e.type],e.aaAuthorizationList&&(n.authorizationList=xC(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=sC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=KC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Uv(e.feePayerSignature),n.feePayerSignature.v=Yv(n.feePayerSignature.yParity)),n}R();function hw(e){let t=xS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=TC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?gC(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?gC(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=AC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=QC(e.keyAuthorization)),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 _p(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.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=fw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}vf(),R();let gw=`tempo`;function _w(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Tw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Ew({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&j_(e.to,{strict:!1});if(n<=0)throw new ES({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new TS({feeCap:r});if(i&&r&&i>r)throw new OS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function vw(e){let t=Ev(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 DS({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:gw});let y={chainId:Number(n),type:gw};Cp(a)&&a!==`0x`&&(y.gas=BigInt(a)),Cp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Cp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Cp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Cp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Cp(u)&&u!==`0x`&&(y.validBefore=Number(u)),Cp(d)&&d!==`0x`&&(y.validAfter=Number(d)),Cp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Zb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=CC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||I_(p)?(y.feePayerSignature=null,I_(p)&&(y.from=p)):y.feePayerSignature=Wv(p)),_&&(y.keyAuthorization=qC(_));let b=v?aC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=rC({payload:Sw(yw(y)),signature:b,root:!0})}catch{}return _w(y),y}function yw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?vw(e):e;return i.from&&=gC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:gC(e.to)}:{}})),_w(i),{...i,...r?{signature:oC(r)}:{},...n?{feePayerSignature:Vv(n)}:{},type:`tempo`}}function bw(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;_w(e);let h=Qb(n),g=t.signature||e.signature,_=DC(r),v=i.map(e=>[e.to?gC(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=oC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return P_(t.publicKey);if(t.type===`secp256k1`)return cy({payload:Sw(yw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?qv(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`)?AC(o):`0x`,b,_,...c?[$C(c)]:[],...g?[lC(oC(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,Mv(x))}function xw(e){return bw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Sw(e,t={}){let n=Cw(e,{presign:!0});return t.from?h_(P(`0x04`,n,gC(t.from))):n}function Cw(e,t={}){return h_(t.presign?xw(e):bw(e))}function ww(e,t){let n=gC(t.sender);return h_(bw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Tw=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Ew=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Dw=[{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`}]}],Ow=[{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:[]}],kw=[{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:[]}],Aw=[{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:[]}],jw=[{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:[]}],Mw=[{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:[]}],Nw=[{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:[]}],Pw=[{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`}]}],Fw=[{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:[]}],Iw=[{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:[]}],Lw=[{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:[]}],Rw=[{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`}]}],zw=[{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:[]}],Bw=[{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:[]}],Vw=[...Dw,...Ow,...kw,...Aw,...jw,...Mw,...zw,...B,...Nw,...Pw,...Fw,...Iw,...Lw,...Rw,...Bw];R();function Hw(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:Gd(e)}function Uw(e){try{return Hw(e)===`tempo`}catch{return!1}}function Ww(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?Kw(e):vy(e)}async function Gw(e,t){if(!Uw(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:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return Ih(e,t)}if(Hw(e)===`tempo`)return qw(e,t);throw Error(`Unsupported transaction type`)}function Kw(e){let{feePayerSignature:t,nonce:n,...r}=vw(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 qw(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return oC({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=uC({payload:Sw(yw(d)),signatures:e.signatures.map(e=>oC(e)),genesisConfig:e.multisig});return oC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=yw(u,{signature:f}),n=ww(t,{sender:e.from??rC({payload:Sw(t),root:!0,signature:f})});return bw(t,{feePayerSignature:Vv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?bw(d,{signature:f}):f?bw(d,{format:`feePayer`,sender:e.from,signature:f}):bw(d,{feePayerSignature:null}):bw(d,{feePayerSignature:void 0,signature:f})}R(),ha(),fi();function Jw(e){let{access:t}=e;return t?oT(e):aT(e)}function Yw(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Fx({privateKey:e});return Jw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=LS({...t,challenge:n,rpId:i,origin:a});return lC({metadata:r,signature:Ix({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function Xw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Fx({privateKey:e});return Jw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return lC({signature:Ix({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function Zw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=sy({privateKey:e});return Jw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Gv(uy({payload:n,privateKey:e}))}})}function Qw(e,t={}){let{id:n}=e,r=S_(e.publicKey);return Jw({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await RS({...t,challenge:e,credentialId:n});return lC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function $w(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return Jw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return lC({signature:await VS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function eT(e,t){let n=tT(t);return nT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function tT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return UC({chainId:t,channelId:typeof n==`string`?n:VC(n,{chainId:t}),cumulativeAmount:r})}function nT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function rT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=sT(r),d=nT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=JC({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return GC({address:l,chainId:n,signature:oC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function iT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??P_(e.publicKey),o=w_(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?lC(oC({userAddress:n,inner:oC(o),type:`keychain`,version:i})):o}return{address:M_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=oC(await s({hash:Fu({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:dg(t)})},async signTransaction(e,t){let{serializer:n=Gw}=t??{},r=di(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:qS({payload:r,genesisConfig:i}),raw:!0}):await n(e,oC(await s({hash:r})))},async signTypedData(e){return await s({hash:yg(e)})},async signVoucher(e){let t=tT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function aT(e){let t=iT(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}=sT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return GC({address:l,chainId:r,signature:oC(await t.sign({hash:JC({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function oT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=M(t);return{...iT({...e,parentAddress:r}),accessKeyAddress:P_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function sT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:P_(S_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let cT=`0xaAAAaaAA00000000000000000000000000000000`,lT=`0xdec0000000000000000000000000000000000000`,uT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function dT(e,t){return uT.indexOf(e)<uT.indexOf(t)}nf(),ba();function fT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=mT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=AC(r);return{address:i,decimals:n??(e?gT(e,i):void 0)}}function pT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=mT(e,t);if(n)return n}let i=AC(t);for(let e of n){let t=hT(e,r);if(t&&tf(t.address,i))return t}}function mT(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 hT(e,r)}function hT(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 gT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=hT(e,r);if(n&&tf(n.address,t))return n.decimals}}async function _T(e,t){let{address:n,decimals:r}=fT(e,t);return r===void 0?{address:n,decimals:await qm(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function vT(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 yT(e){return e.length===2?e:[void 0,e[0]]}function V(e){return{...e,data:ya(e),to:e.address}}ha();let bT={0:`secp256k1`,1:`p256`,2:`webAuthn`},xT={true:`limited`,false:`unlimited`};async function ST(e,t){return ST.inner(fh,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await rT(M(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]=cf({abi:Dw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(ST||={});async function CT(e,t){return CT.inner(z,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return V({address:cT,abi:Dw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=cf({abi:Dw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(CT||={});async function wT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n),o=await qm(e,{...i,account:null,...wT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:bT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:xT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:cT,abi:Dw,functionName:`getKey`,args:[t,jT(n)]})}e.call=t})(wT||={});async function TT(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&&dT(s,`t3`))return{remaining:await qm(e,{...a,...TT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await qm(e,{...a,...TT.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:cT,abi:Dw,functionName:`getRemainingLimit`,args:[t,jT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:cT,abi:Dw,functionName:`getRemainingLimitWithPeriod`,args:[t,jT(n),r]})}e.callWithPeriod=n})(TT||={});async function ET(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return qm(e,{...i,account:null,...ET.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:cT,abi:Dw,functionName:`isAdminKey`,args:[t,jT(n)]})}e.call=t})(ET||={});async function DT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return qm(e,{...i,account:null,...DT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:cT,abi:Dw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(DT||={});async function OT(e,t){return OT.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:cT,abi:Dw,functionName:`revokeKey`,args:[jT(t)]})}e.call=n;function r(e){let[t]=cf({abi:Dw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(OT||={});async function kT(e,t){return kT.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:cT,abi:Dw,functionName:`updateSpendingLimit`,args:[jT(t),n,r]})}e.call=n;function r(e){let[t]=cf({abi:Dw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(kT||={});async function AT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return qm(e,{...o,...AT.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:jw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(AT||={});function jT(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ha();async function MT(e,t){return MT.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:lT,abi:Mw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(MT||={});async function NT(e,t){return NT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:lT,abi:Mw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=cf({abi:Mw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(NT||={});async function PT(e,t){return PT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:lT,abi:Mw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=cf({abi:Mw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(PT||={});async function FT(e,t){return FT.inner(z,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return V({address:lT,abi:Mw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=cf({abi:Mw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(FT||={});async function IT(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 qm(e,{...i,...IT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:lT,abi:Mw,args:[t,n],functionName:`balanceOf`})}e.call=t})(IT||={});async function LT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return qm(e,{...a,...LT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:lT,abi:Mw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(LT||={});async function RT(e,t){let{orderId:n,...r}=t;return qm(e,{...r,...RT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:lT,abi:Mw,args:[t],functionName:`getOrder`})}e.call=t})(RT||={});async function zT(e,t){let{base:n,quote:r,...i}=t;return qm(e,{...i,...zT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=KT(t,n);return V({address:lT,abi:Mw,args:[r],functionName:`books`})}e.call=t})(zT||={});async function BT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await qm(e,{...a,...BT.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:lT,abi:Mw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(BT||={});async function VT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return qm(e,{...a,...VT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:lT,abi:Mw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(VT||={});async function HT(e,t){return HT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:lT,abi:Mw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=cf({abi:Mw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){return UT.inner(z,e,t)}(function(e){async function t(t,n,r){let{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:lT,abi:Mw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=cf({abi:Mw,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})(UT||={});async function WT(e,t){return WT.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:lT,abi:Mw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(WT||={});async function GT(e,t){return GT.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:lT,abi:Mw,functionName:`withdraw`,args:[t,n]})}e.call=n})(GT||={});function KT(e,t){return h_(P(e,t))}R(),ha(),ba();async function qT(e,t){return qT.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=yT(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=fT(t,{token:a});return V({address:o,abi:B,functionName:`approve`,args:[i,ob(r,s)]})}e.call=n;async function r(t,n){return ef(t,{...vT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...vT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=cf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(qT||={});async function JT(e,t){return JT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=yT(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=fT(t,{token:a});return V({address:o,abi:B,functionName:`burnBlocked`,args:[r,ob(i,s)]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(JT||={});async function YT(e,t){return YT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=yT(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=fT(t,{token:a}),c=ob(r,s),l=i?{functionName:`burnWithMemo`,args:[c,hp(i,32)]}:{functionName:`burn`,args:[c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(YT||={});async function XT(e,t){return XT.inner(z,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,policyId:i}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(XT||={});async function ZT(e,t){return ZT.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?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]=yT(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=_p(32)}=n;return V({address:`0x20fc000000000000000000000000000000000000`,abi:Pw,args:typeof o==`string`?[r,i,a,fT(t,{token:s}).address,c,l,o]:[r,i,a,fT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=cf({abi:Pw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(ZT||={});async function QT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([qm(e,{...o,...QT.call(e,{account:n,spender:i,token:a})}),_T(e,{decimals:r,token:a})]);return ab(s,c)}(function(e){function t(...e){let[t,n]=yT(e);return V({address:fT(t,n).address,abi:B,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(QT||={});async function $T(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new sh;let o=M(n).address,[s,{decimals:c}]=await Promise.all([qm(e,{...a,...$T.call(e,{account:o,token:i})}),_T(e,{decimals:r,token:i})]);return ab(s,c)}(function(e){function t(...e){let[t,n]=yT(e),r=n.account??t?.account;if(!r)throw new sh;let i=M(r).address;return V({address:fT(t,n).address,abi:B,functionName:`balanceOf`,args:[i]})}e.call=t})($T||={});async function eE(e,t){let{token:n,...r}=t,{address:i}=fT(e,{token:n}),a=B,o=pT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return kC(i)===kC(`0x20c0000000000000000000000000000000000000`)?My(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a])=>({name:tE(r),symbol:tE(i),currency:tE(e),decimals:tE(t),logoURI:tE(n,``),totalSupply:tE(a),...s})):My(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:tE(i),symbol:tE(c),currency:tE(e),decimals:tE(t),logoURI:tE(n,``),quoteToken:tE(r),totalSupply:tE(l),paused:tE(a),supplyCap:tE(o),transferPolicyId:tE(u),...s}))}function tE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function nE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([qm(e,{...i,...nE.call(e,{token:r})}),_T(e,{decimals:n,token:r})]);return ab(a,o)}(function(e){function t(...e){let[t,n]=yT(e);return V({address:fT(t,n).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(nE||={});async function rE(e,t){return qm(e,{...t,...rE.call(e,t)})}(function(e){function t(...e){let[t,n]=yT(e),{role:r,token:i}=n;return V({address:fT(t,{token:i}).address,abi:B,functionName:`getRoleAdmin`,args:[dw(r)]})}e.call=t})(rE||={});async function iE(e,t){let{account:n=e.account}=t,r=n?M(n).address:void 0;if(!r)throw Error(`account is required.`);return qm(e,{...t,...iE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=yT(e),{account:r,role:i,token:a}=n;return V({address:fT(t,{token:a}).address,abi:B,functionName:`hasRole`,args:[r,dw(i)]})}e.call=t})(iE||={});async function aE(e,t){return aE.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,to:i,role:a}=n,o=dw(a);return V({address:fT(t,{token:r}).address,abi:B,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=cf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(aE||={});async function oE(e,t){return oE.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(...e){let[t,n]=yT(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=fT(t,{token:o}),l=ob(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,hp(a,32)]}:{functionName:`mint`,args:[r,l]};return V({address:s,abi:B,...u})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(oE||={});async function sE(e,t){return sE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(sE||={});async function cE(e,t){return cE.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,role:i}=n,a=dw(i);return V({address:fT(t,{token:r}).address,abi:B,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=cf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(cE||={});async function lE(e,t){return lE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,from:i,role:a}=n,o=dw(a);return V({address:fT(t,{token:r}).address,abi:B,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=cf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(lE||={});async function uE(e,t){return uE.inner(z,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,supplyCap:i}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(uE||={});async function dE(e,t){return dE.inner(z,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,role:i,adminRole:a}=n,o=dw(i),s=dw(a);return V({address:fT(t,{token:r}).address,abi:B,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(dE||={});async function fE(e,t){return fE.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=yT(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=fT(t,{token:o}),l=ob(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,hp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,hp(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 ef(t,{...vT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...vT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=cf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(fE||={});async function pE(e,t){return pE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(pE||={});async function mE(e,t){return mE.inner(z,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=yT(e),{token:r,quoteToken:i}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`setNextQuoteToken`,args:[fT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(mE||={});async function hE(e,t){return hE.inner(z,e,t)}(function(e){async function t(t,n,r){let{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]=yT(e),{token:r}=n;return V({address:fT(t,{token:r}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=cf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(hE||={}),R(),ha(),cd();function gE(e){if(!Uw(e))return Sd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=mw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:F(n.r,{size:32}),s:F(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:fw[a.type],type:a.type}}function _E(e){return gh(e)}function vE(e,t){let n=e,r=n.account?M(n.account):void 0;if(!Uw(n))return id(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=hw({...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,yE(n.keyData)]:[n.keyType,yE(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`?M(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function yE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let bE=new Map;async function xE(e){bE.set(e,(bE.get(e)??0)+1),await Promise.resolve();let t=(bE.get(e)??0)>1;return queueMicrotask(()=>{let t=bE.get(e)??0;t<=1?bE.delete(e):bE.set(e,t-1)}),t}R(),md(),nf(),cd(),fi();function SE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(_p(8))%e)}let CE={blockTime:1e3,extendSchema:Zh(),formatters:{transaction:Cd({exclude:[`aaAuthorizationList`],format:gE}),transactionReceipt:_h({format:_E}),transactionRequest:sd({format:vE})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return 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=WS(i);r.multisig=e,r.from=KS(e),r.multisigInit={salt:e.salt??HS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=wE(e),r.account?.source!==`multisig`&&delete r.account}if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await T(t,wT,`getMetadata`)({account:i,accessKey:a});tf(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`)return!0;if(i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await xE(e):!1})()?(r.nonceKey=pd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=SE()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>Gw(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return aC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?di(P(`0x04`,r,n)):r,a=(()=>{try{return rC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await wT(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:fC(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 fC(o,{address:n,payload:r})}}return await T(e,Yy,`verifyHash`)({...t,chain:null})}};function wE(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 TE=Xh({...CE,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),EE=Xh({...CE,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),DE=Xh({...CE,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),OE=Xh({...CE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function kE(e){return e.source}function AE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Wb({key:AE.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(Ww(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:AE.type})}}Za();let jE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — 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.`,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 ME(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function NE(e){let t=e.details??e.shortMessage??e.message,n=PE(e);if(n)try{let e=Xa({abi:Vw,data:n}),r=jE[e.errorName];return{...e,data:n,message:r?ME(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in jE?{errorName:`unknown`,message:jE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function PE(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 PE(t.cause);if(t.error)return PE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return PE(e)}return null}function FE(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 BS({extractable:t}),n=w_(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(!IE(n.keyPair.privateKey))throw new LE(\"`webCryptoP256` key material did not survive storage.\");return $w(n.keyPair,r)}if(n.jwk)return $w({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new LE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:S_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function IE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var LE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function RE(e){return e instanceof LE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let zE={p256:FE()};var BE;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 VE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},HE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(BE=globalThis).__zod_globalConfig??(BE.__zod_globalConfig={});let UE=globalThis.__zod_globalConfig;function WE(e){return e&&Object.assign(UE,e),UE}function GE(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 KE(e,t){return typeof t==`bigint`?t.toString():t}function qE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function JE(e){return e==null}function YE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let XE=Symbol(`evaluating`);function ZE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==XE)return r===void 0&&(r=XE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function QE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function $E(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let eD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function tD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nD(e){if(tD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(tD(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let rD=new Set([`string`,`number`,`symbol`]),iD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function aD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function oD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function sD(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error(\"Cannot specify both `message` and `error` params\");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function cD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function lD(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 oD(e,$E(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 QE(this,`shape`,r),r},checks:[]}))}function uD(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 dD(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 fD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function pD(e){return typeof e==`string`?e:e?.message}function mD(e,t,n){let r=e.message?e.message:pD(e.inst?._zod.def?.error?.(e))??pD(t?.error?.(e))??pD(n.customError?.(e))??pD(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 hD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function gD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let _D=(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,KE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},vD=H(`$ZodError`,_D),yD=H(`$ZodError`,_D,{Parent:Error}),bD=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 VE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>mD(e,a,WE())));throw eD(t,i?.callee),t}return o.value},xD=bD(yD),SD=(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=>mD(e,a,WE())));throw eD(t,i?.callee),t}return o.value})(yD),CD=(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 VE;return a.issues.length?{success:!1,error:new(e??vD)(a.issues.map(e=>mD(e,i,WE())))}:{success:!0,data:a.value}})(yD),wD=(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=>mD(e,i,WE())))}:{success:!0,data:a.value}})(yD),TD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return bD(e)(t,n,i)})(yD),ED=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},DD=/^-?\\d+n?$/,OD=/^-?\\d+(?:\\.\\d+)?$/,kD=/^(?:true|false)$/i,AD=/^null$/i,jD=/^undefined$/i,MD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ND={number:`number`,bigint:`bigint`,object:`date`},PD=H(`$ZodCheckLessThan`,(e,t)=>{MD.init(e,t);let n=ND[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})}}),FD=H(`$ZodCheckGreaterThan`,(e,t)=>{MD.init(e,t);let n=ND[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})}}),ID=H(`$ZodCheckMaxLength`,(e,t)=>{var n;MD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!JE(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=hD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),LD=H(`$ZodCheckMinLength`,(e,t)=>{var n;MD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!JE(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=hD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),RD=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;MD.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=()=>{})}),zD=H(`$ZodCheckRegex`,(e,t)=>{RD.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})}}),BD={major:4,minor:4,patch:3},VD=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=BD;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=uD(e),i;for(let a of t){if(a._zod.def.when){if(dD(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 VE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=uD(e,t))});else{if(e.issues.length===t)continue;r||=uD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(uD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new VE;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 VE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}ZE(e,`~standard`,()=>({validate:t=>{try{let n=CD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return wD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),HD=H(`$ZodString`,(e,t)=>{VD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ED(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}}),UD=H(`$ZodNumber`,(e,t)=>{VD.init(e,t),e._zod.pattern=e._zod.bag.pattern??OD,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}}),WD=H(`$ZodBoolean`,(e,t)=>{VD.init(e,t),e._zod.pattern=kD,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}}),GD=H(`$ZodBigInt`,(e,t)=>{VD.init(e,t),e._zod.pattern=DD,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}}),KD=H(`$ZodUndefined`,(e,t)=>{VD.init(e,t),e._zod.pattern=jD,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}}),qD=H(`$ZodNull`,(e,t)=>{VD.init(e,t),e._zod.pattern=AD,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}}),JD=H(`$ZodUnknown`,(e,t)=>{VD.init(e,t),e._zod.parse=e=>e});function YD(e,t,n){e.issues.length&&t.issues.push(...fD(n,e.issues)),t.value[n]=e.value}let XD=H(`$ZodArray`,(e,t)=>{VD.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=>YD(t,n,e))):YD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function ZD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...fD(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 QD(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=cD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function $D(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=>ZD(e,n,i,t,u,d))):ZD(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 eO=H(`$ZodObject`,(e,t)=>{if(VD.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=qE(()=>QD(t));ZE(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=tD,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=>ZD(n,t,e,s,r,i))):ZD(a,t,e,s,r,i)}return i?$D(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function tO(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=>!uD(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=>mD(e,r,WE())))}),t)}let nO=H(`$ZodUnion`,(e,t)=>{VD.init(e,t),ZE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),ZE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),ZE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),ZE(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=>YE(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=>tO(t,r,e,i)):tO(o,r,e,i)}}),rO=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,nO.init(e,t);let n=e._zod.parse;ZE(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=qE(()=>{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(!tD(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)}}),iO=H(`$ZodTuple`,(e,t)=>{VD.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=aO(n,`optin`),c=aO(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=>oO(t,r,e))):oO(a,r,e)}}return o.length?Promise.all(o).then(()=>sO(l,r,n,a,c)):sO(l,r,n,a,c)}});function aO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function oO(e,t,n){e.issues.length&&t.issues.push(...fD(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(...fD(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)=>{VD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!nD(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=>mD(e,r,WE())),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(...fD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...fD(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`&&OD.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=>mD(e,r,WE())),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(...fD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...fD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),lO=H(`$ZodEnum`,(e,t)=>{VD.init(e,t);let n=GE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>rD.has(typeof e)).map(e=>typeof e==`string`?aD(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}}),uO=H(`$ZodLiteral`,(e,t)=>{if(VD.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`?aD(e):e?aD(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}}),dO=H(`$ZodTransform`,(e,t)=>{VD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new HE(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 VE;return n.value=i,n.fallback=!0,n}});function fO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let pO=H(`$ZodOptional`,(e,t)=>{VD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,ZE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ZE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${YE(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=>fO(e,r)):fO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),mO=H(`$ZodNullable`,(e,t)=>{VD.init(e,t),ZE(e._zod,`optin`,()=>t.innerType._zod.optin),ZE(e._zod,`optout`,()=>t.innerType._zod.optout),ZE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${YE(e.source)}|null)$`):void 0}),ZE(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)}),hO=H(`$ZodPipe`,(e,t)=>{VD.init(e,t),ZE(e._zod,`values`,()=>t.in._zod.values),ZE(e._zod,`optin`,()=>t.in._zod.optin),ZE(e._zod,`optout`,()=>t.out._zod.optout),ZE(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=>gO(e,t.in,n)):gO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>gO(e,t.out,n)):gO(r,t.out,n)}});function gO(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 _O=H(`$ZodCodec`,(e,t)=>{VD.init(e,t),ZE(e._zod,`values`,()=>t.in._zod.values),ZE(e._zod,`optin`,()=>t.in._zod.optin),ZE(e._zod,`optout`,()=>t.out._zod.optout),ZE(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=>vO(e,t,n)):vO(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>vO(e,t,n)):vO(r,t,n)}}});function vO(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=>yO(e,r,t.out,n)):yO(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>yO(e,r,t.in,n)):yO(e,r,t.in,n)}}function yO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let bO=H(`$ZodReadonly`,(e,t)=>{VD.init(e,t),ZE(e._zod,`propValues`,()=>t.innerType._zod.propValues),ZE(e._zod,`values`,()=>t.innerType._zod.values),ZE(e._zod,`optin`,()=>t.innerType?._zod?.optin),ZE(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(xO):xO(r)}});function xO(e){return e.value=Object.freeze(e.value),e}let SO=H(`$ZodTemplateLiteral`,(e,t)=>{VD.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||iD.has(typeof e))n.push(aD(`${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)}),CO=H(`$ZodCustom`,(e,t)=>{MD.init(e,t),VD.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=>wO(t,n,r,e));wO(i,n,r,e)}});function wO(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(gD(e))}}function TO(e,t){return new e({type:`string`,...sD(t)})}function EO(e,t){return new e({type:`number`,checks:[],...sD(t)})}function DO(e,t){return new e({type:`boolean`,...sD(t)})}function OO(e,t){return new e({type:`bigint`,...sD(t)})}function kO(e,t){return new e({type:`undefined`,...sD(t)})}function AO(e,t){return new e({type:`null`,...sD(t)})}function jO(e){return new e({type:`unknown`})}function MO(e,t){return new PD({check:`less_than`,...sD(t),value:e,inclusive:!0})}function NO(e,t){return new FD({check:`greater_than`,...sD(t),value:e,inclusive:!0})}function PO(e,t){return new ID({check:`max_length`,...sD(t),maximum:e})}function FO(e,t){return new LD({check:`min_length`,...sD(t),minimum:e})}function IO(e,t){return new zD({check:`string_format`,format:`regex`,...sD(t),pattern:e})}function LO(e,t,n){let r=sD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function RO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...sD(n)})}let zO=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);VD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>xD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>CD(e,t,n),e.parseAsync=async(t,n)=>SD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>wD(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)=>oD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),BO=H(`ZodMiniString`,(e,t)=>{HD.init(e,t),zO.init(e,t)});function U(e){return TO(BO,e)}let VO=H(`ZodMiniNumber`,(e,t)=>{UD.init(e,t),zO.init(e,t)});function HO(e){return EO(VO,e)}let UO=H(`ZodMiniBoolean`,(e,t)=>{WD.init(e,t),zO.init(e,t)});function WO(e){return DO(UO,e)}let GO=H(`ZodMiniBigInt`,(e,t)=>{GD.init(e,t),zO.init(e,t)});function KO(e){return OO(GO,e)}let qO=H(`ZodMiniUndefined`,(e,t)=>{KD.init(e,t),zO.init(e,t)});function JO(e){return kO(qO,e)}let YO=H(`ZodMiniNull`,(e,t)=>{qD.init(e,t),zO.init(e,t)});function XO(e){return AO(YO,e)}let ZO=H(`ZodMiniUnknown`,(e,t)=>{JD.init(e,t),zO.init(e,t)});function QO(){return jO(ZO)}let $O=H(`ZodMiniArray`,(e,t)=>{XD.init(e,t),zO.init(e,t)});function W(e,t){return new $O({type:`array`,element:e,...sD(t)})}let ek=H(`ZodMiniObject`,(e,t)=>{eO.init(e,t),zO.init(e,t),ZE(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...sD(t)};return new ek(n)}function tk(e,t){return lD(e,t)}let nk=H(`ZodMiniUnion`,(e,t)=>{nO.init(e,t),zO.init(e,t)});function K(e,t){return new nk({type:`union`,options:e,...sD(t)})}let rk=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{rO.init(e,t),zO.init(e,t)});function ik(e,t,n){return new rk({type:`union`,options:t,discriminator:e,...sD(n)})}let ak=H(`ZodMiniTuple`,(e,t)=>{iO.init(e,t),zO.init(e,t)});function ok(e,t,n){let r=t instanceof VD;return new ak({type:`tuple`,items:e,rest:r?t:null,...sD(r?n:t)})}let sk=H(`ZodMiniRecord`,(e,t)=>{cO.init(e,t),zO.init(e,t)});function ck(e,t,n){return!t||!t._zod?new sk({type:`record`,keyType:U(),valueType:e,...sD(t)}):new sk({type:`record`,keyType:e,valueType:t,...sD(n)})}let lk=H(`ZodMiniEnum`,(e,t)=>{lO.init(e,t),zO.init(e,t),e.options=Object.values(t.entries)});function uk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new lk({type:`enum`,entries:n,...sD(t)})}let dk=H(`ZodMiniLiteral`,(e,t)=>{uO.init(e,t),zO.init(e,t)});function q(e,t){return new dk({type:`literal`,values:Array.isArray(e)?e:[e],...sD(t)})}let fk=H(`ZodMiniTransform`,(e,t)=>{dO.init(e,t),zO.init(e,t)});function pk(e){return new fk({type:`transform`,transform:e})}let mk=H(`ZodMiniOptional`,(e,t)=>{pO.init(e,t),zO.init(e,t)});function J(e){return new mk({type:`optional`,innerType:e})}let hk=H(`ZodMiniNullable`,(e,t)=>{mO.init(e,t),zO.init(e,t)});function gk(e){return new hk({type:`nullable`,innerType:e})}let _k=H(`ZodMiniPipe`,(e,t)=>{hO.init(e,t),zO.init(e,t)});function vk(e,t){return new _k({type:`pipe`,in:e,out:t})}let yk=H(`ZodMiniCodec`,(e,t)=>{_k.init(e,t),_O.init(e,t)});function bk(e,t,n){return new yk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let xk=H(`ZodMiniReadonly`,(e,t)=>{bO.init(e,t),zO.init(e,t)});function Y(e){return new xk({type:`readonly`,innerType:e})}let Sk=H(`ZodMiniTemplateLiteral`,(e,t)=>{SO.init(e,t),zO.init(e,t)});function Ck(e,t){return new Sk({type:`template_literal`,parts:e,...sD(t)})}let wk=H(`ZodMiniCustom`,(e,t)=>{CO.init(e,t),zO.init(e,t)});function Tk(e,t){return LO(wk,e??(()=>!0),t)}function Ek(e,t={}){return RO(wk,e,t)}function Dk(e){return e}function Ok(e){return e}R();let X=()=>Ck([`0x`,U().check(IO(/^[0-9a-fA-F]{40}$/))],`Expected address`),kk=()=>bk(K([Z(),KO()]),KO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>F(e)}),Z=()=>Ck([`0x`,U()],`Expected hex value`),Ak=()=>bk(K([Z(),HO()]),HO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:xp(e),encode:e=>F(e)});R();let jk=G({address:X(),blockHash:Z(),blockNumber:kk(),data:Z(),logIndex:Ak(),removed:WO(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Ak()}),Mk=G({blobGasPrice:J(kk()),blobGasUsed:J(kk()),blockHash:Z(),blockNumber:kk(),contractAddress:gk(X()),cumulativeGasUsed:kk(),effectiveGasPrice:kk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:kk(),logs:W(jk),logsBloom:Z(),root:J(Z()),status:bk(Z(),uk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:gk(X()),transactionHash:Z(),transactionIndex:Ak(),type:Z()}),Nk=Tk(),Pk=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Fk=bk(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:kk(),expiry:K([Ak(),XO(),JO()]),keyId:X(),keyType:Pk,limits:J(Y(W(G({token:X(),limit:kk(),period:J(Ak())})))),signature:Nk}),Tk(),{decode(e){return KC({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=QC(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:xp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:L(e),...t?{period:xp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),Ik=G({data:J(Z()),to:J(X()),value:J(kk())}),Lk=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Ik))),chainId:J(Ak()),data:J(Z()),feePayer:J(K([WO(),U()])),feePayerSignature:J(ck(U(),QO())),feeToken:J(X()),from:J(X()),gas:J(kk()),keyAuthorization:J(Fk),keyData:J(Z()),keyId:J(X()),keyType:J(Pk),maxFeePerGas:J(kk()),maxPriorityFeePerGas:J(kk()),nonce:J(Ak()),nonceKey:J(kk()),to:J(X()),validAfter:J(Ak()),validBefore:J(Ak()),value:J(kk())});var Rk;(function(e){e.schema=Dk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(Rk||={});var zk;(function(e){e.schema=Dk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(zk||={});var Bk;(function(e){e.schema=Dk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(Bk||={});var Vk;(function(e){e.schema=Dk({method:q(`eth_sendTransaction`),params:Y(ok([Lk])),returns:Z()})})(Vk||={});var Hk;(function(e){let t=G({address:X(),decimals:HO(),direction:uk([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:HO(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=Dk({method:q(`eth_fillTransaction`),params:Y(ok([Lk])),returns:G({capabilities:G({balanceDiffs:J(ck(X(),Y(W(t)))),error:J(G({abiItem:J(ck(U(),QO())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:HO(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:HO(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:HO()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:WO()}),tx:ck(U(),QO())})})})(Hk||={});var Uk;(function(e){e.schema=Dk({method:q(`eth_signTransaction`),params:Y(ok([Lk])),returns:Z()})})(Uk||={});var Wk;(function(e){e.schema=Dk({method:q(`eth_sendTransactionSync`),params:Y(ok([Lk])),returns:Mk})})(Wk||={});var Gk;(function(e){e.schema=Dk({method:q(`eth_signTypedData_v4`),params:Y(ok([X(),U()])),returns:Z()})})(Gk||={});var Kk;(function(e){e.schema=Dk({method:q(`personal_sign`),params:Y(ok([Z(),X()])),returns:Z()})})(Kk||={});let qk=J(G({feePayer:J(K([WO(),U()])),sync:J(WO())}));var Jk;(function(e){e.schema=Dk({method:q(`wallet_sendCalls`),params:J(Y(ok([G({atomicRequired:J(WO()),calls:Y(W(Ik)),capabilities:qk,chainId:J(Ak()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(WO()),capabilities:qk,chainId:J(Ak()),id:U(),receipts:J(W(Mk)),status:J(HO()),version:J(U())})})})(Jk||={});var Yk;(function(e){e.schema=Dk({method:q(`wallet_getBalances`),params:J(Y(ok([G({account:J(X()),chainId:J(Ak()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:kk(),decimals:HO(),display:U(),name:U(),symbol:U()})))})})(Yk||={});var Xk;(function(e){e.schema=Dk({method:q(`wallet_getCapabilities`),params:J(Y(K([ok([X()]),ok([X(),Y(W(Z()))])]))),returns:ck(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`)])}))}))})})(Xk||={});var Zk;(function(e){e.showDeposit=J(K([WO(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(kk()),expiry:HO(),keyType:J(Pk),limits:J(Y(W(G({token:X(),limit:kk(),period:J(HO())})))),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:Fk,rootAddress:X()}),e.schema=Dk({method:q(`wallet_authorizeAccessKey`),params:Y(ok([e.parameters])),returns:e.returns})})(Zk||={});var Qk;(function(e){e.parameters=G({address:J(X()),expiry:HO(),keyType:J(Pk),limits:Y(W(G({token:X(),limit:kk(),period:J(HO())})).check(FO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(FO(1))),showDeposit:Zk.showDeposit})})(Qk||={});var $k;(function(e){e.schema=Dk({method:q(`wallet_revokeAccessKey`),params:Y(ok([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})($k||={});var eA;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(kk()),limits:Y(W(G({token:X(),limit:kk()})).check(FO(1)))}),e.schema=Dk({method:q(`wallet_updateAccessKey`),params:Y(ok([e.parameters])),returns:void 0})})(eA||={});var tA;(function(e){e.authorizeAccessKey=J(tk(Zk.parameters,{showDeposit:!0})),e.showDeposit=J(K([WO(),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()),returnToken:J(WO())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([WO(),G({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(WO()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(gk(U())),idToken:J(U())})),keyAuthorization:J(Fk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(gk(U())),auth:J(G({token:J(U())}))})},e.schema=Dk({method:q(`wallet_connect`),params:J(Y(ok([G({capabilities:e.capabilities.request,chainId:J(Ak()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(tA||={});var nA;(function(e){let t=J(tk(Qk.parameters,{showDeposit:!0})),n=tA.auth,r=tA.identity,i=tA.personalSign,a=tA.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(WO()),showDeposit:a})])),chainId:J(Ak()),version:J(U())})})(nA||={});var rA;(function(e){e.schema=Dk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(rA||={});var iA;(function(e){e.schema=Dk({method:q(`wallet_getCallsStatus`),params:J(Y(ok([U()]))),returns:G({atomic:WO(),chainId:Ak(),id:U(),receipts:J(W(Mk)),status:HO(),version:U()})})})(iA||={});var aA;(function(e){e.parameters=ik(`editable`,[G({amount:U(),chainId:J(Ak()),editable:J(q(!1)),feePayer:J(K([WO(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Ak()),editable:q(!0),feePayer:J(K([WO(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=Dk({method:q(`wallet_transfer`),params:J(Y(ok([e.parameters]))),returns:G({chainId:Ak(),receipt:Mk})})})(aA||={});let oA=G({amount:J(U()),pairToken:J(X()),slippage:J(HO().check(NO(0),MO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var sA;(function(e){e.schema=Dk({method:q(`wallet_swap`),params:J(Y(ok([oA]))),returns:G({receipt:Mk})})})(sA||={});var cA;(function(e){e.schema=Dk({method:q(`wallet_switchEthereumChain`),params:Y(ok([G({chainId:Ak()})])),returns:void 0})})(cA||={});var lA;(function(e){e.schema=Dk({method:q(`wallet_deposit`),params:J(Y(ok([G({address:J(X()),amount:J(U()),chainId:J(Ak()),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(Mk)))}))})})(lA||={});var uA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([WO(),U()])),token:J(X()),zoneId:J(Ak())}),e.schema=Dk({method:q(`wallet_depositZone`),params:J(Y(ok([e.parameters]))),returns:G({receipt:Mk})})})(uA||={});var dA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Ak())}),e.schema=Dk({method:q(`wallet_withdrawZone`),params:J(Y(ok([e.parameters]))),returns:G({receipt:Mk})})})(dA||={}),Qk.parameters,nA.parameters;let fA=Ok([Rk.schema,zk.schema,Hk.schema,Bk.schema,Vk.schema,Wk.schema,Uk.schema,Gk.schema,Kk.schema,Zk.schema,tA.schema,lA.schema,uA.schema,rA.schema,Yk.schema,iA.schema,Xk.schema,$k.schema,eA.schema,aA.schema,Jk.schema,sA.schema,cA.schema,dA.schema]),pA=bS();function mA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let hA=ik(`method`,fA.map(mA));function gA(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`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},_A={payment:`Payment`},vA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},yA={charge:`charge`,session:`session`,subscription:`subscription`},bA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},xA={v1:`v1`,v2:`v2`};function SA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var CA=class extends Error{status=402;hint;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},wA=class extends CA{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 CA{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{reason:t}=e;super(t?`Payment verification failed: ${t}.`:`Payment verification failed.`)}},TA=class extends CA{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 EA(e,t){if(!e)throw new wA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new wA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new TA({expires:e})}Lf();function DA(e){let t=cx(e);return JSON.parse(t)}function OA(e){return ox(Nf(e),{pad:!1,url:!0})}function kA(){return U().check(IO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function AA(){return U().check(IO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function jA(e=`Invalid ISO 8601 datetime`){return vk(K([AA(),Tk(e=>e instanceof Date)]),pk(MA)).check(Ek(e=>Number.isFinite(e.getTime()),e))}function MA(e){return e instanceof Date?e:new Date(e)}function NA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function PA(){return U().check(IO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function FA(){return U().check(IO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function IA(){return U().check(IO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}lp();let LA=G({description:J(U()),digest:J(U().check(IO(/^sha-256=/,`Invalid digest format`))),expires:J(AA()),id:U().check(FO(1)),intent:U(),method:U(),meta:J(ck(U(),U())),opaque:J(U()),realm:U(),request:ck(U(),QO())});function RA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?NA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:OA(i)),f=l?YA({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return LA.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function zA(e,t){let n=BA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=VA(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 RA({...a,request:DA(r),...i&&{opaque:i}},t)}function BA(e){let t=_A.payment,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n){r?r=!1:a===`\\\\`?r=!0:a===`\"`&&(n=!1);continue}if(a===`\"`){n=!0;continue}if(!WA(e,i,t))continue;let o=e.slice(0,i);if(o.trim()&&!o.trimEnd().endsWith(`,`))continue;let s=i+t.length;for(;s<e.length&&/\\s/.test(e[s]??``);)s++;return e.slice(s)}return null}function VA(e){let t={},n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n);if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=HA(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function HA(e,t){if(e[t]===`\"`)return UA(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function UA(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[],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 WA(e,t,n){if(!e.slice(t).toLowerCase().startsWith(n.toLowerCase()))return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function GA(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return KA(e.headers,t)}function KA(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return qA(n,t)}function qA(e,t){let n=[],r=RegExp(`${_A.payment}\\\\s+`,`gi`);for(let t of e.matchAll(r))n.push(t.index);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return zA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function JA(e){return[e.realm,e.method,e.intent,OA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?OA(e.meta):``)].join(`|`)}function YA(e,t){let n=JA(e);return ix(g_(Uf(t.secretKey),Uf(n),{as:`Bytes`}),{url:!0,pad:!1})}let XA=Symbol.for(`mppx.x402.challenge`);function ZA(e){return Object.defineProperty(e,XA,{value:!0}),e}function QA(e){return!!e?.[XA]}function $A(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=ij(n)}return t}function ej(e,t){let n=$A(e),r=dj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[ij(e)]??1,index:t}));return{definition:r,entries:i,header:nj(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)=>lj(e,t))}function nj(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${hj(n)}`}).join(`, `)}function rj(e,t,n){let r=new Map;for(let e of t){let t=ij(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(ij(e));if(!i)return[];let a=aj(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>cj(e.challenge)-cj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function ij(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function aj(e,t){let n;for(let r of t){if(!oj(e,r))continue;let t={...r,specificity:sj(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function oj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function sj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function cj(e){return+!!QA(e)}function lj(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}`);gj(r,`method`),gj(i,`intent`);let a=1;for(let t of uj(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=pj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function uj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function dj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>ij(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]=fj(t,`payment preference \"${e}\"`)}return a}function fj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return mj(e,t)}function pj(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return mj(Number(e),t)}function mj(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 hj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function gj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var _j=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},vj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function yj(e){let t=e.match(RegExp(`^${_A.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new _j;try{let e=cx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=bj(r);return{challenge:LA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:DA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new vj}}function bj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!xj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:OA(e)}}function xj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Sj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:OA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:OA(r)},payload:e.payload,...e.source&&{source:e.source}},s=ox(JSON.stringify(o),{pad:!1,url:!0});return`${_A.payment} ${s}`}var Cj=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 wj(e){}function Tj(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=wj,onError:n=wj,onRetry:r=wj,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 Cj(`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(Ej(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 Dj(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(Ej(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(Dj(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);l=r.includes(`\\0`)?void 0: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`:l=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Cj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Cj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}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 Ej(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 Dj(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 Oj=[`exact`],kj=`PAYMENT-REQUIRED`,Aj=`PAYMENT-SIGNATURE`,jj=U().check(FO(1)),Mj=HO().check(Ek(e=>e>0,`Must be positive`)),Nj=U().check(IO(/^\\d+$/,`Invalid atomic amount`)),Pj=PA(),Fj=U().check(IO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Ij=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:jj}),Lj=G({amount:Nj,asset:jj,extra:J(ck(U(),QO())),maxTimeoutSeconds:Mj,network:Fj,payTo:jj,scheme:uk(Oj)}),Rj=ck(U(),G({info:ck(U(),QO()),schema:ck(U(),QO())})),zj=G({accepts:W(Lj).check(FO(1)),error:J(U()),extensions:J(Rj),resource:Ij,x402Version:q(2)}),Bj=K([G({authorization:G({from:Pj,nonce:FA(),to:Pj,validAfter:Nj,validBefore:Nj,value:Nj}),signature:IA()}),G({permit2Authorization:G({deadline:Nj,from:Pj,nonce:Nj,permitted:G({amount:Nj,token:Pj}),spender:Pj,witness:G({to:Pj,validAfter:Nj})}),signature:IA()})]),Vj=G({accepted:Lj,extensions:J(Rj),payload:Bj,resource:J(Ij),x402Version:q(2)}),Hj=G({amount:J(Nj),errorMessage:J(U()),errorReason:J(U()),extensions:J(Rj),extra:J(ck(U(),QO())),network:jj,payer:J(U()),success:WO(),transaction:U()}),Uj=[Q.authorization,kj,`PAYMENT-RESPONSE`,Aj];function Wj(e,t,n){let r=new Headers(e.headers);for(let e of Uj)r.delete(e);return r.set(t,n),{...e,headers:r}}function Gj(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 Kj=new WeakMap;function qj(e){let t=Gj(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 Jj(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 Yj(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=LA.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 Xj(e){if(e)return`error`in e?e.error?.code===-32042?Yj(e.error.data):void 0:Yj(e.result?._meta?.[`org.paymentauth/payment-required`])}function Zj(e,t){return!e||e.id!==t?[]:Xj(e)?.challenges??[]}async function Qj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Tj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=Jj(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 $j(e){let t=Kj.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(Jj).catch(()=>void 0);if(t.includes(`text/event-stream`))return Qj(e)})();return Kj.set(e,n),n}function eM(){return{getChallenges(e,t){let n=qj(t);return e.status===402||n===void 0?[]:$j(e).then(e=>Zj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=yj(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)?[]:GA(e)},setCredential(e,t){return Wj(e,Q.authorization,t)}}}function nM(e){return{encode(t){return ox(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(cx(t)))}catch{throw new rM}}}}var rM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let iM=nM(zj),aM=nM(Vj),oM=nM(Hj);iM.encode,iM.decode;function sM(e){try{let t=JSON.parse(cx(e));return cM(t)}catch{throw new rM}}aM.encode,aM.decode,oM.encode,oM.decode;let cM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new rM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new rM;let n=Ij.parse(t.resource),r=t.extensions===void 0?void 0:Rj.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function lM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(kj);if(!t)return[];let n=sM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=Lj.safeParse(e);if(!r.success)return[];let i=r.data;return ZA(RA({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 Wj(e,Aj,t)}}}function uM(e){return e}function dM(){let e=[tM(),lM(),eM()],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 uM({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)},getChallenge(e,t){let n=e=>{let t=e[0];if(!t)throw Error(`No challenge in response.`);return t},i=r(e,t);return i instanceof Promise?i.then(n):n(i)},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)}})}let fM=new WeakMap;function pM(e,t){return fM.set(e,t),e}function mM(e){fM.delete(e)}function hM(e,t){return Promise.resolve(fM.get(e)?.(t)??t.response)}let gM=Symbol.for(`mppx.fetch.wrapper`),_M,vM=new WeakMap;function yM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=dM()}=e,l=e.eventDispatcher??SM(),u=t??ej(a),d=UM(r),f=async(e,t,r)=>{let p=HM(e,t?.headers),m=p.has(Q.acceptPayment),h=JM(p,u),g=BM(e,t,p),_=zM(e,t,p,h.header,m,n),v=await d(WM(_.input),_.init),y=VM(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,ee,te;try{for(let n=0;n<i;n++){ee=c.getChallenges?await c.getChallenges(v,y):[await c.getChallenge(v,y)];let i=(await YM(rj(ee,a,h.entries),S??s))[0];if(!i){if(n>0)return v;throw Error(`No method found for challenges: ${ee.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let u=i.challenge;w=u,te=i.method,w.expires&&EA(w.expires,w.id);let p=DM(e=>qM(u,i.method,e??b)),m=await l.emit(`challenge.received`,OM({challenge:u,challenges:ee,createCredential:p,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:p}):void 0)??await p();KM(m),await l.emit(`credential.created`,kM({challenge:u,credential:m,init:t,input:e,method:i.method,response:v}));let g=eN(v,_.input,_.input);if(v=await d(g,c.setCredential({...C,headers:_.headers},m,{challenge:u})),v.ok&&CM(l,`payment.response`)&&await l.emit(`payment.response`,AM({challenge:u,credential:m,init:t,input:e,method:i.method,response:v})),!await c.isPaymentRequired(v,y))return v.ok?hM(i.method,{challenge:u,credential:m,fetch:d,headers:_.headers,input:g,...r?{refetch:()=>f(WM(_.input),t,!1)}:{},response:v,signal:GM(e,t)}):v}return v}catch(n){throw await l.emit(`payment.failed`,jM({challenge:w,challenges:ee,error:n,init:t,input:e,method:te,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[gM]=d,p}function bM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);_M||=globalThis.fetch,globalThis.fetch=yM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(QM()?`same-origin`:`always`),fetch:globalThis.fetch})}function xM(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function SM(){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 wM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await EM(e[`*`],t,n),r}case`credential.created`:await TM(e[`credential.created`],n),await EM(e[`*`],t,n);return;case`payment.failed`:await TM(e[`payment.failed`],n),await EM(e[`*`],t,n);return;case`payment.response`:await TM(e[`payment.response`],n),await EM(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 vM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function CM(e,t){return vM.get(e)?.(t)??!0}async function wM(e,t){try{return await e(t)}catch{return}}async function TM(e,t){for(let n of e)try{await n(t)}catch{}}async function EM(e,t,n){await TM(e,Object.freeze({name:t,payload:n}))}function DM(e){let t;return n=>(t??=e(n),t)}function OM(e){return Object.freeze({challenge:IM(e.challenge),challenges:e.challenges.map(e=>IM(e)),createCredential:e.createCredential,init:MM(e.init),input:NM(e.input),method:PM(e.method),response:FM(e.response)})}function kM(e){return Object.freeze({challenge:IM(e.challenge),credential:e.credential,init:MM(e.init),input:NM(e.input),method:PM(e.method),...e.response===void 0?{}:{response:FM(e.response)}})}function AM(e){return Object.freeze({challenge:IM(e.challenge),credential:e.credential,init:MM(e.init),input:NM(e.input),method:PM(e.method),response:FM(e.response)})}function jM(e){return Object.freeze({...e.challenge?{challenge:IM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>IM(e))}:{},error:e.error,init:MM(e.init),input:NM(e.input),...e.method?{method:PM(e.method)}:{},...e.response===void 0?{}:{response:FM(e.response)}})}function MM(e){if(e)return RM({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function NM(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function PM(e){return RM(Object.assign({},e))}function FM(e){return e instanceof Response?e.clone():IM(e)}function IM(e){try{return LM(structuredClone(e))}catch{return RM(e)}}function LM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))LM(t);return e}function RM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function zM(e,t,n,r,i,a){let o=!!r&&!i&&XM(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 BM(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 VM(e,t){return t===void 0?e:{...e,body:t}}function HM(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function UM(e){let t=e;for(;t[gM];)t=t[gM];return t}function WM(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function GM(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function KM(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 qM(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}function JM(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 YM(e,t){return t?t(e):e}function XM(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=$M(e);return t===`same-origin`?!QM()||n.origin===globalThis.location.origin:t.origins.some(e=>ZM(n,e))}function ZM(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 QM(){return globalThis.location!==void 0}function $M(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,QM()?globalThis.location.href:void 0)}function eN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=$M(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 tN(e){return e}function nN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function rN(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 iN(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e),a=i;if(n&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=AE(Gb({request:t=>e(t)},{retryCount:0}),Xb(n,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),r=Wb({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:r.request,transport:{...r.config,...r.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?AE(Xb(a),Xb(n)):Xb(a);return Eh({chain:{...t,id:r},transport:o})}}let aN={mainnet:4217,testnet:42431},oN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};aN.mainnet,oN.usdc,aN.testnet,oN.pathUsd;let sN={[aN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[aN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},cN={[aN.mainnet]:`https://rpc.tempo.xyz`,[aN.testnet]:`https://rpc.moderato.tempo.xyz`},lN=[`push`,`pull`],uN=G({amount:kA(),memo:J(FA()),recipient:vk(U(),pk(e=>e))}),dN=(1n<<64n)-1n,fN={dev_second:1n,day:86400n,week:604800n},pN=vk(PA(),pk(e=>e.toLowerCase())),mN=G({accessKeyAddress:pN,keyType:uk([`p256`,`secp256k1`,`webAuthn`])}),hN=G({accessKey:J(mN),chainId:J(HO())}),gN=jA(`subscriptionExpires must be a valid date`).check(Ek(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),_N=uk([`dev_second`,`day`,`week`]),vN=vk(K([U(),KO(),Tk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),pk(e=>e.toString())).check(IO(/^[1-9]\\d*$/,`Invalid periodCount`),Ek(e=>{try{return BigInt(e)<=dN}catch{return!1}},`periodCount exceeds uint64`));function yN(e){return Ek(e=>{let{amount:t,decimals:n}=e;return ky(t,n)>0n},e)}function bN(e){let{periodCount:t,periodUnit:n}=e;try{let e=fN[n];return e!==void 0&&BigInt(t)*e<=dN}catch{return!1}}let xN=tN({name:`tempo`,intent:`charge`,schema:{credential:{payload:ik(`type`,[G({hash:FA(),type:q(`hash`)}),G({signature:IA(),type:q(`transaction`)}),G({signature:IA(),type:q(`proof`)})])},request:vk(G({amount:kA(),chainId:J(HO()),currency:U(),decimals:HO(),description:J(U()),externalId:J(U()),feePayer:J(vk(K([WO(),Tk()]),pk(e=>typeof e==`object`||e))),memo:J(FA()),recipient:J(U()),splits:J(W(uN).check(FO(1),PO(10))),supportedModes:J(W(uk(lN)).check(FO(1)))}).check(Ek(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=ky(e,t),i=n.reduce((e,n)=>e+ky(n.amount,t),0n);return n.every(e=>ky(e.amount,t)>0n)&&i<r},`Invalid splits`)),pk(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:ky(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:ky(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),SN=tN({name:`tempo`,intent:`session`,schema:{credential:{payload:ik(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:FA(),cumulativeAmount:kA(),descriptor:J(Tk()),signature:IA(),transaction:IA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:kA(),channelId:FA(),descriptor:J(Tk()),transaction:IA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:FA(),cumulativeAmount:kA(),descriptor:J(Tk()),signature:IA()}),G({action:q(`close`),channelId:FA(),cumulativeAmount:kA(),descriptor:J(Tk()),signature:IA()})])},request:vk(G({amount:kA(),chainId:J(HO()),channelId:J(FA()),currency:U(),decimals:HO(),escrowContract:J(U()),feePayer:J(vk(K([WO(),Tk()]),pk(e=>typeof e==`object`||e))),minVoucherDelta:J(kA()),operator:J(PA()),recipient:J(U()),sessionProtocol:J(uk([xA.v2,xA.v1])),sessionSnapshot:J(Tk()),suggestedDeposit:J(kA()),unitType:U()}).check(Ek(({amount:e,decimals:t})=>ky(e,t)>0n,`Session amount must be greater than 0`)),pk(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,operator:s,sessionProtocol:c,sessionSnapshot:l,suggestedDeposit:u,...d})=>({...d,amount:ky(e,r).toString(),...u?{suggestedDeposit:ky(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:ky(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[bA.sessionProtocol]:c},...l!==void 0&&{[bA.sessionSnapshot]:l}}})))}}),CN=tN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:IA(),type:q(`keyAuthorization`)})},request:vk(G({amount:kA(),accessKey:J(mN),chainId:J(HO()),currency:pN,decimals:HO(),description:J(U()),externalId:J(U()),methodDetails:J(hN),periodCount:vN,periodUnit:_N,recipient:pN,subscriptionExpires:gN}).check(yN(`Subscription amount must be greater than 0`),Ek(bN,`Subscription period exceeds uint64`)),pk(({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:ky(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Fi(),nf();let wN=(1n<<64n)-1n,TN={dev_second:1n,day:86400n,week:604800n};function EN(e){return e instanceof Date?e:new Date(e)}function DN(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 ON(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=TN[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>wN)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 kN(e){let{challengeExpires:t,request:n}=e;ON(n);let r=DN(EN(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 AN(e){return[{address:HN(e.currency,`currency`),selector:`0x95777d59`,recipients:[HN(e.recipient,`recipient`)]}]}async function jN(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=NN({accessKey:t,chainId:r,request:i});return GC(a,{signature:oC(await n.sign({hash:JC(a)}))})}function MN(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=PN(r.signature),o=FN(a);return IN({accessKey:t,authorization:a,chainId:n}),LN(a,i),zN(RN(a),i),BN(a.scopes,i),{authorization:a,source:{address:VN(a,o),chainId:n}}}function NN(e){let{accessKey:t,chainId:n,request:r}=e;return GC({address:HN(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:DN(EN(r.subscriptionExpires)),limits:[{token:HN(r.currency,`currency`),limit:BigInt(r.amount),period:ON(r)}],scopes:AN(r),type:t.keyType})}function PN(e){try{return YC(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function FN(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function IN(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!tf(n.address,HN(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function LN(e,t){if(kN({request:t}),e.expiry!==DN(EN(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function RN(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function zN(e,t){if(!tf(e.token,HN(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==ON(t))throw new $({reason:`keyAuthorization period mismatch`})}function BN(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=HN(t.currency,`currency`),r=HN(t.recipient,`recipient`),i=new Set;for(let t of e){if(!tf(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=UN(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||!tf(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function VN(e,t){let n=JC(e);try{let e=rC({payload:n,signature:t});if(!fC(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 HN(e,t){if(!Mi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function UN(e){return typeof e==`string`?e.toLowerCase():``}R(),nf();let WN=G({accessKey:J(Tk()),account:J(Tk())});function GN(e={}){let t=iN({chain:TE,getClient:e.getClient,rpcUrl:cN}),n=rN({account:e.account});return nN(CN,{context:WN,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??aN.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.\");qN(r.request),await e.validateRequest?.(r.request);let l=await KN(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!tf(MN({accessKey:c,chainId:a,payload:{signature:ZC(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Sj({challenge:r,payload:{signature:ZC(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function KN(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await jN({accessKey:n,account:r,chainId:i,request:a})||KC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:DN(EN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:ON(a)}],scopes:AN(a)}]})).keyAuthorization)}function qN(e){ON(e),DN(EN(e.subscriptionExpires))}lp(),R();let JN=I(h_(Uf(`mpp`),{as:`Hex`}),0,4);function YN(e){return bp(I(h_(Uf(e),{as:`Hex`}),0,10))}function XN(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(bp(JN),0),i[4]=1,i.set(YN(t),5),n&&i.set(YN(n),15),i.set(ZN(r),25),pp(i)}function ZN(e){return bp(I(h_(Uf(e),{as:`Hex`}),0,7))}function QN(e,t){return e.toLowerCase()===t.toLowerCase()}let $N=[oN.pathUsd,oN.usdc];function eP(e,t){let n=$T.call;return n.length>=2?n(e,t):n(t)}function tP(e,t){let n=qT.call;return n.length>=2?n(e,t):n(t)}function nP(e,t){let n=MT.call;return n.length>=2?n(e,t):n(t)}async function rP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!QN(e,i)),c=await Promise.allSettled([qm(e,eP(e,{account:n,token:i})),...s.map(t=>qm(e,eP(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 LT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[tP(e,{amount:n,spender:lT,token:l}),nP(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new aP({currency:i})}}function iP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>QN(e,t)))]:t,slippage:e.slippage??1}:!1}var aP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function oP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let sP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function cP(e){return{name:`MPP`,version:`3`,chainId:e}}function lP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function uP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:cP(n),types:sP,primaryType:`Proof`,message:lP({account:t,challengeId:r,realm:i})}}function dP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let fP=G({account:J(Tk()),autoSwap:J(Tk()),mode:J(uk(lN))});function pP(e,t){let n=fE.call;return n.length>=2?n(e,t):n(t)}function mP(e={}){let{clientId:t}=e,n=iN({chain:TE,getClient:e.getClient,rpcUrl:cN}),r=rN({account:e.account});return nN(xN,{context:fP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Sj({challenge:i,payload:{signature:await zb(c,{account:m,...uP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:dP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:XN({challengeId:i.id,clientId:t,serverId:i.realm}),_=oP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>pP(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=iP(a?.autoSwap??e.autoSwap,$N),y=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...v?{}:{calls:_}}})??m,b=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=y.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),x=[...(v?await rP(c,{account:y.address,amountOut:BigInt(d),tokenOut:h,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],S=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(b===`push`){let{receipts:e}=await Pb(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Sj({challenge:i,payload:{hash:t,type:`hash`},source:dP({address:y.address,chainId:l})})}let C=await Qd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Sj({challenge:i,payload:{signature:await Rb(c,C),type:`transaction`},source:dP({address:y.address,chainId:l})})}})}function hP(e){return`accessKeyAddress`in e}function gP(e){return hP(e)?e.accessKeyAddress:e.address}function _P(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let vP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function yP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function bP(e,t,n){return yg({domain:_P(e,t),types:vP,primaryType:`Voucher`,message:yP(n)})}async function xP(e,t,n,r,i){return zb(e,{account:t,domain:_P(r,i),types:vP,primaryType:`Voucher`,message:yP(n)})}function SP(e){let t=oC(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 Gv(t.inner.signature)}return lC(t)}function CP(e){return e.type!==`keychain`&&e.type===`secp256k1`}function wP(e){if(!CP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function TP(e,t,n,r,i,a){let o=a??t,s=gP(o),c=bP(r,i,n),l=SP(hP(o)?await o.sign({hash:c,raw:!0}):await xP(e,o,n,r,i)),u=oC(l);if(wP(u),!fC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function EP(e){return h_(gv(vv([`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 DP=[{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:[]}];ym(),ba(),Up(),ma(),ua(),Km();async function OP(e,t,n){return qm(e,{address:t,abi:DP,functionName:`getChannel`,args:[n]})}da({abi:DP,name:`open`}),da({abi:DP,name:`topUp`}),R(),ba();function kP(e,t){return t??e}function AP(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??sN[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function jP(e,t,n,r){return Sj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function MP(e,t,n,r,i,a,o){let s=kP(t,o),c=await TP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function NP(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=kP(t,n.voucherSigner),d=gP(u),f=_p(32),p=EP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=ya({abi:B,functionName:`approve`,args:[r,o]}),h=ya({abi:DP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Qd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,...l?{nonceKey:`expiring`,validBefore:g}:{}});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Rb(e,_),y=await TP(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 PP(e,t,n,r){try{let i=await OP(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 FP=G({account:J(Tk()),action:J(uk([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(kA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(kA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function IP(e={}){let{decimals:t=6}=e,n=iN({chain:TE,getClient:e.getClient,rpcUrl:cN}),r=rN({account:e.account}),i=e.maxDeposit===void 0?void 0:ky(e.maxDeposit,t),a=new Map,o=new Map,s=new Map;function c(t){e.onChannelUpdate?.(t)}function l(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function u(t,n,r){if(r){let e=a.get(r);if(e)return e}return AP(t,n,e.escrowContract)}async function d(r,d,f){let p=r.request.methodDetails,m=p?.chainId??0,h=await n({chainId:m}),g=u(r,m),_=r.request.recipient,v=r.request.currency,y=BigInt(r.request.amount),b=r.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return ky(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,w=l(_,v,g),ee=o.get(w);if(!ee){let e=f?.channelId??p?.channelId;if(e){let n=await PP(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?ky(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(w,n),s.set(n.channelId,w),a.set(n.channelId,g),ee=n,c(ee)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}ee?.opened&&ee.authorizedSigner.toLowerCase()!==gP(C).toLowerCase()&&(ee=void 0);let te;if(ee?.opened)ee.cumulativeAmount+=y,te=await MP(h,d,ee.channelId,ee.cumulativeAmount,g,m,C),c(ee);else{let e=await NP(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(w,e.entry),s.set(e.entry.channelId,w),a.set(e.entry.channelId,g),te=e.payload,c(e.entry)}return jP(r,te,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?ky(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?ky(l.additionalDeposit,t):void 0,b=u(r,d,_);a.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await TP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:gP(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 MP(f,i,_,v,b,d,g);let e=s.get(_);if(e){let t=o.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,c(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await TP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=s.get(_);if(t){let e=o.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,c(e))}break}}return jP(r,x,d,i)}return nN(SN,{canHandleChallenge({challenge:e}){let t=SA(e.request.methodDetails,bA.sessionProtocol);return t===void 0||t===xA.v1},context:FP,async createCredential({challenge:t,context:a}){let o=t.request.methodDetails?.chainId??0,s=await n({chainId:o}),c=r(s,a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,c,a);if(a?.action)return f(t,c,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let LP=(1n<<96n)-1n;function RP(e){return e>=0n&&e<=LP}function zP(e){return BP(e),e}function BP(e){if(!RP(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let VP=new Set([`open`,`topUp`,`voucher`,`close`]);function HP(e){return typeof e==`object`&&!!e}function UP(e){return typeof e==`string`&&VP.has(e)}function WP(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!UP(t.action))}function GP(e,t=`No session credential context available.`){if(!WP(e))throw Error(t);return e}function KP(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function qP(e){return HP(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function JP(e){return HP(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 YP(e){let t=cx(e),n=JSON.parse(t);if(!JP(n))throw Error(`Invalid session receipt.`);return n}function XP(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function ZP(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=QP(r);return qP(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=QP(r);return JP(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function QP(e){try{return JSON.parse(e)}catch{return null}}function $P(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function eF(){return JSON.stringify({mpp:`payment-close-request`})}function tF(e){let t=nF(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`&&JP(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`&&qP(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&JP(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function nF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let rF=`0x4d50500000000000000000000000000000000000`,iF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function aF(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:ky(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=0n,l=null,u=null,d=null,f=null,p=null,m=null,h=null,g=0n,_=0n,v=IP({account:e.account,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==i?.channelId&&(s=0n,c=0n),i=e}}),y=yM({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function ee(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function te(e){if(!h)return;let t=h;h=null,t.reject(e)}function ne(e){if(!p)return;let t=p;p=null,t.reject(e)}function re(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function ie(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ae(e){let t=e.headers.get(Q.paymentReceipt),n=t?YP(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function oe(e,t){return o=e,ae(await y(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=iF.CLOSED,r=null}if(e===`open`&&(i=iF.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 i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:oe,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await oe(e,{...s,headers:{...xM(s.headers),Accept:`text/event-stream`},...o?{signal:o}:{}}),l=a;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let n=``;try{for(;!o?.aborted;){let{done:a,value:o}=await u.read();if(a)break;n+=d.decode(o,{stream:!0});let s=n.split(`\n\n`);n=s.pop();for(let n of s){if(!n.trim())continue;let a=ZP(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);ie(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(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`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let re=(await oF(rj(GA(C),[v],ej([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!re)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=re;let ae=await v.createCredential({challenge:re,context:{}});f=null,l=re,g=0n,_=BigInt(re.request.amount);let oe=yj(ae);u=oe.payload.channelId;let ce=new n(y,p);d=ce;let le=se(ce),ue=e=>{te(Error(e)),ne(Error(e)),(ce.readyState===iF.CONNECTING||ce.readyState===iF.OPEN)&&ce.close(3008,e)},de=e=>e.challengeId===re.id&&e.channelId===u,fe=new Promise((e,t)=>{let n=()=>{ce.removeEventListener(`error`,r),le.emit(`open`,{type:`open`}),e()},r=()=>{ce.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};ce.addEventListener(`open`,n,{once:!0}),ce.addEventListener(`error`,r,{once:!0})});return ce.addEventListener(`close`,e=>{d===ce&&(d=null),l===re&&(l=null),u===oe.payload.channelId&&(u=null),m=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),le.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ce.addEventListener(`error`,()=>{le.emit(`error`,{type:`error`})}),ce.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=tF(t);if(!n){le.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,le.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!de(n.data)){ue(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ue(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),ee(n.data),le.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!==u){ue(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){ue(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:re,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});ce.send($P(r));break}case`payment-receipt`:if(!de(n.data)){ue(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){ue(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),ce.close()},{once:!0}),await fe,ce.send($P(ae)),await S(),le.socket},async close(){let e=l??a,n=u??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(d?.readyState===iF.OPEN){let t=f??await(async()=>(d.send(eF()),C()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>c?i.cumulativeAmount:c))throw Error(`close-ready spent exceeds local voucher state`);let a=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();m=o;try{let t=S(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);d.send($P(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(re(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(Q.paymentReceipt);return p?YP(p):void 0}}}async function oF(e,t){let n=t;return n?n(e):e}R();function sF(e){return h_(gv(vv([`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 cF(e){return xw(e)}function lF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function uF(e,t){return h_(P(cF(e),t.sender))}let dF=[{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`}],fF=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],pF={name:`descriptor`,type:`tuple`,components:dF},mF=[{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:[pF,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[pF,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[pF,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[pF],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[pF],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[pF],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:dF},{name:`state`,type:`tuple`,components:fF}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:fF}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:fF}]},{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 hF(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let gF={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function _F(e,t){return UC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function vF(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?_F(t,n):yg({domain:hF(e,t),types:gF,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function yF(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function bF(e,t){return eT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function xF(e,t,n,r,i){let a=oC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await bF(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return zb(e,{account:t,domain:hF(r,i),types:gF,primaryType:`Voucher`,message:n})})());if(!yF(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return lC(a)}function SF(e,t,n,r){try{let i=oC(n.signature);if(!yF(i.type)||lC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=vF(e,t,n),o=rC({payload:a,signature:i});return fC(i,{address:o,payload:a})&&QN(o,r)}catch{return!1}}R(),ba(),Fi();function CF(e){return typeof e==`object`&&!!e}function wF(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function TF(e){return wF(e.accessKeyAddress)}function EF(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(_p(8))%e)}function DF(e){return TF(e)??e.address}async function OF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Qd(e,{account:n,calls:r,...i?{feePayer:!0,...o===void 0?{}:{validAfter:o}}:{},feeToken:a})}async function kF(e,t){return await Rb(e,t)}function AF(e,t){let n=e.request.methodDetails,r=CF(n)?wF(n.escrowContract)??wF(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function jF(e,t,n,r){return Sj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function MF(e,t){return e.toLowerCase()===t.toLowerCase()}async function NF(e,t,n,r,i,a=rF){let o=sF({...n,chainId:i,escrow:a}),s=zP(r),c=await xF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function PF(e,t,n,r,i,a=rF){let o=await NF(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function FF(e,t,n){let r=DF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=_p(32),s=zP(n.deposit),c=zP(n.initialAmount),l=await kF(e,await OF(e,{account:t,calls:[{to:i,data:ya({abi:mF,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=Ww(l),d={authorizedSigner:r,expiringNonceHash:uF(lF({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=sF({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await xF(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function IF(e,t,n,r,i,a,o=rF){let s=sF({...n,chainId:i,escrow:o}),c=zP(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await kF(e,await OF(e,{account:t,calls:[{to:o,data:ya({abi:mF,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token,...a?{validAfter:EF()}:{}})),descriptor:n,additionalDeposit:c.toString()}}function LF(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function RF(e){return LF({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function zF(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(RF(t),t)},delete(t){e.delete(t)}}}Km();let BF=2n**96n-1n;function VF(e){if(e<0n||e>BF)throw new $({reason:`amount exceeds uint96 range`})}async function HF(e,t,n=rF,r){return UF(await qm(e,{address:n,abi:mF,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function UF(e){return VF(e.settled),VF(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Fi();let WF=Tk(e=>typeof e==`string`&&Mi(e,{strict:!1})),GF=Tk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),KF=nM(G({acceptedCumulative:U(),chainId:HO(),channelId:GF,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:WF,expiringNonceHash:GF,operator:WF,payee:WF,payer:WF,salt:GF,token:WF}),escrow:WF,highestVoucher:J(G({channelId:GF,cumulativeAmount:U(),signature:Tk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:U(),settled:U(),spent:U(),units:J(HO())}));function qF(e){return KF.encode(e)}function JF(e){return KF.decode(e)}let YF={status:`idle`};function XF(e){return{status:`active`,...e}}function ZF(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?nI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?nI(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:eI(e.challengeId,t.snapshot),effects:[]}:nI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?nI(e,t):{state:pI({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:tI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:nI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?nI(e,t):{state:gI(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?$F({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):nI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:nI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?nI(e,t):{state:tI(e.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]};case`settleStarted`:return e.status===`active`?{state:{status:`settling`,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[{type:`settle`,channelId:e.channelId}]}:nI(e,t);case`settled`:return e.status===`settling`?{state:tI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:nI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:nI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:nI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?nI(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`?nI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function QF(e,t){let n=ZF(e.state,t);return e.state=n.state,n}function $F(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 eI(e,t){return XF({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function tI(e,t,n,r){return XF({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function nI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function rI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function iI(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`);rI({cumulativeAmount:i,maxVoucherCumulative:n}),rI({cumulativeAmount:a,maxVoucherCumulative:n})}function aI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;iI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function oI(e,t){return typeof e==`bigint`?e:ky(e,t)}function sI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(cI(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 cI(e,t){rI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function lI(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 uI(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function dI(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>uI({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function fI(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;return!!i.txHash&&i.challengeId===t&&i.channelId===n&&i.acceptedCumulative===r&&i.spent===r}function pI(e){return XF({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 mI(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:YF}}function hI(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=aI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&QF(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function gI(e,t){return XF({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function _I(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(r&&r.challengeId===t&&r.channelId===n)return BigInt(r.spent);if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return c}function vI(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 ZF(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function yI(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 bI(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 xI(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(eF()),e.waitForCloseReady()))(),a=BigInt(i.spent);dI({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=>fI({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send($P(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Fi();function SI(e){return`cumulativeAmount`in e}function CI(e){if(SI(e))return BigInt(e.cumulativeAmount)}async function wI(e,t){t.opened?await e.store.set(t):await e.store.delete(RF(t)),e.notifyUpdate(t)}async function TI(e,t,n){let r=CI(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 wI(e,i))}let EI=Tk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),DI=G({account:J(Tk()),action:J(uk([`open`,`topUp`,`voucher`,`close`])),channelId:J(Tk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(kA()),cumulativeAmountRaw:J(U()),transaction:J(EI),descriptor:J(Tk()),additionalDeposit:J(kA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function OI(e){return e?.action!==void 0}function kI(e){return OI(e)&&e.descriptor!==void 0}function AI(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 ky(i,t)}function jI(e,t,n,r){let i=AI(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function MI(e){return typeof e==`object`&&!!e}function NI(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function PI(e){let t=e.request.methodDetails;return MI(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:NI(t.escrowContract),escrow:NI(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:NI(t.operator),sessionSnapshot:SA(t,bA.sessionSnapshot)}:{}}function FI(e,t){if(typeof e==`string`&&Mi(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function II(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function LI(e){return typeof e==`string`?e:void 0}async function RI(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=PI(t),a=await r({chainId:i.chainId}),o=i.chainId??a.chain?.id;if(!o)throw Error(`No chainId configured for TIP-1034 session challenge.`);let s=AF(t,n),c=FI(t.request.recipient,`recipient`),l=FI(t.request.currency,`currency`);return{amount:II(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:LF({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:LI(t.request.suggestedDeposit),token:l}}async function zI(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=HF}=e,o=sF({...r,chainId:i.chainId,escrow:i.escrow});BI({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 BI(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(!MF(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!MF(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!MF(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!MF(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function VI(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function HI(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=AI(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function UI(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`);let f=BigInt(i.descriptor.authorizedSigner)===0n?i.descriptor.payer:i.descriptor.authorizedSigner;if(!SF(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},f))throw Error(`session snapshot highest voucher signature is invalid`);let p=await zI({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:DF(t),token:i.descriptor.token},readChannelState:r}),m=[o,c,p.state.settled].reduce((e,t)=>t>e?t:e,0n);if(m>p.state.deposit)throw Error(`recovered session cumulative amount exceeds on-chain channel deposit`);return{entry:{channelId:p.channelId,cumulativeAmount:m,deposit:p.state.deposit,descriptor:i.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0},spent:d}}function WI(e,t){if(!MF(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||MF(n,t.payer)?!0:MF(DF(e),n)}function GI(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(OI(r)){if(!kI(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=VI({context:r,snapshot:o.snapshot});return!n&&s&&WI(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&WI(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 KI(e,t){switch(e.type){case`open`:return qI(e,t);case`recover`:return JI(e,t);case`voucher`:return YI(e,t);case`manual`:return XI(e,t)}}async function qI(e,t){let{account:n,resolved:r}=e,i=sI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await FF(r.client,n,{chainId:r.chainId,deposit:i,escrow:r.escrow,feePayer:r.feePayer,initialAmount:r.amount,operator:r.operator,payee:r.payee,token:r.token});return await wI(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function JI(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await zI({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:DF(n),token:o.token}}),l=HI({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`);cI(l,a);let u=await NF(o.client,n,s,l,o.chainId,o.escrow);return await wI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function YI(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;cI(a,e.maxDeposit);let o=await NF(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await wI(t,r),o}async function XI(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=sF({...o,chainId:a.chainId,escrow:a.escrow});BI({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:DF(n),token:a.token});let c=await ZI({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await TI(t,a.key,c),c}async function ZI(e){switch(e.context.action){case`open`:return QI(e);case`topUp`:return $I(e);case`voucher`:return eL(e);case`close`:return tL(e)}}async function QI(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=jI(r,i,`cumulativeAmount`,`open`),c=await NF(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 $I(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=jI(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:IF(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function eL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return NF(a.client,t,i,jI(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function tL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return PF(a.client,t,i,jI(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}R();let nL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function rL(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=nL.CLOSED,r=null}if(a.type===`open`&&(i=nL.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);break}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 iL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function aL(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=oI(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 oL(e){let{additionalDeposit:t,channel:n,channelId:r,challengeId:i,currentState:a,receipt:o,spent:s}=e;if(n?.channelId===r)return n.deposit+=t,o?{channel:n,state:gI(o,n)}:i?{channel:n,state:pI({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function sL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=iL(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:zP(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function cL(e){return e.method===vA.tempo&&e.intent===yA.session}function lL(e){return SA(e.request.methodDetails,bA.sessionSnapshot)}function uL(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...xM(r),...xM(t?.headers),[Q.authorization]:n}}}function dL(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 fL(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function pL(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 mL(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 e.createSessionCredential(e.challenge,{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()}),i=await e.fetch(dL(e.input),{method:`POST`,headers:{[Q.authorization]:r}});if(!i.ok)throw Error(`Top-up POST failed with status ${i.status}`);let a=i.headers.get(Q.paymentReceipt);return a?YP(a):void 0}async function hL(e){let t=gL({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=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()}),u=await e.fetch(e.input,uL(e.input,e.init,l));return!u.ok&&!u.headers.get(Q.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function gL(e){let t=GA(e.response).find(cL);if(!t)return;let n=lL(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function _L(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=GA(i).find(cL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await pL(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=YP(a);if(!o.txHash||!Cp(o.txHash,{strict:!0})||vp(o.txHash)!==32||!fI({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function vL(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...xM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!XP(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),yL(e,s,{onReceipt:r,signal:i},n)}function yL(e,t,n,r){if(!XP(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return bL({onNeedVoucher:t=>TL({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*bL(e){for await(let t of xL(e))t.data!==void 0&&(yield t.data)}async function*xL(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=SL(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=ZP(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);break}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function SL(e,t){for(let n=0;n<e.length;n++){let r=CL(e,n,t);if(!r)continue;let i=CL(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function CL(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 wL(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=xL({...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 TL(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await sL({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 e.driver.createSessionCredential(e.challenge,r.context),a=await e.driver.fetch(e.driver.managementInput(e.input),{method:`POST`,headers:{[Q.authorization]:i}});if(!a.ok)throw Error(`Voucher POST failed with status ${a.status}`)}async function EL(e){let t=new URL(e.input.toString()),n=fL(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=GA(r).find(cL);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,credential:await e.createSessionCredential(i,{}),httpUrl:n,wsUrl:t}}function DL(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:yj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:KP(t)}}function OL(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function kL(e){if(!OL(e))return`received mismatched payment-close-ready frame`;if(BigInt(e.receipt.spent)>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function AL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!OL(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!fI({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function jL(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=DL({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=rL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===nL.CONNECTING||o.readyState===nL.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 NL({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 ML(o,c.emit,a),o.send($P(n)),await e.waitForReceipt(),c.socket}function ML(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 NL(e){let t=tF(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`:PL(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 FL(e,t.data);return;case`payment-receipt`:IL(e,t.data);return}}function PL(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=kL({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 FL(e,t){try{let n=await sL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.driver.challenge,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,topUpIfNeeded:e.driver.topUpIfNeeded});if(n.status===`ignored`){e.failSocketFlow(n.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let r=await e.driver.createSessionCredential(e.driver.challenge,n.context);e.rawSocket.send($P(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function IL(e,t){let n=AL({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}function LL(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=iN({chain:TE,getClient:a,rpcUrl:cN}),u=rN({account:t}),d=o===void 0?void 0:ky(o,r),f=n??zF(),p={store:f,notifyUpdate:e=>s?.(e)},m=nN(SN,{canHandleChallenge({challenge:e}){return SA(e.request.methodDetails,bA.sessionProtocol)===xA.v2},context:DI,async createCredential({challenge:e,context:t}){let n=await RI({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=VI({context:t,snapshot:n.snapshot}),m=t?.action?t.descriptor:o?.descriptor??s?.descriptor,h=await c?.({account:a,chainId:n.chainId,operation:{kind:`authorizePaymentChannel`,...m?{authority:m.authorizedSigner}:{}}})??a;return jF(e,await KI(GI({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}});return pM(m,async({challenge:e,credential:t,fetch:n,headers:r,input:a,refetch:o,response:s,signal:c})=>{if(!cL(e))return s;if(!XP(s))return GP(yj(t).payload).action===`open`&&r.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await o?.()??s:s;let u=(await RI({challenge:e,escrowOverride:i,getClient:l})).key,h=await f.get(u),g={assertVoucherWithinLocalLimit:e=>cI(e,d),createSessionCredential:(e,t)=>m.createCredential({challenge:e,context:t}),fetch:n,getChannel:()=>h??null,managementInput:dL,async topUpIfNeeded({channelId:t,deposit:r,requiredCumulative:i}){if(i<=r||!h)return;let o=i-r;await mL({additionalDeposit:o,challenge:e,channel:h,channelId:t,createSessionCredential:(e,t)=>m.createCredential({challenge:e,context:t}),fetch:n,input:a}),h.deposit+=o,await f.set(h),p.notifyUpdate(h)}};return wL({onNeedVoucher:t=>TL({challenge:e,driver:g,input:a},t),onReceipt(){},response:s,signal:c})})}let RL=new WeakMap;function zL(e,t){RL.set(e,t)}function BL(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 VL(e){let t=BL(`close-ready`),n=BL(`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 HL(e){return e.method===vA.tempo&&e.intent===yA.charge}function UL(e){if(!HL(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function WL(e,t,n){if(!n)return t;let r={...xM(e instanceof Request?e.headers:void 0),...xM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function GL(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:ky(e.maxDeposit,t),WebSocket:n}}function KL(e){let t=GL(e),n=iN({chain:TE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:cN}),r=rN({account:e.account}),i=mI(),a=VL({getSocketSession:()=>i.socketSession}),o=e.channelStore??zF(),s=new Set,c;async function l(e){let t=await o.get(e);if(t?.opened&&!s.has(t.channelId))return t}let u={async get(e){let t=await l(e);return t&&c&&(c.seenExisting.add(e),c.created.has(e)||(c.resumed??=t)),t},async set(e){let t=RF(e);e.opened&&s.delete(e.channelId),c?.trackCreates&&!c.seenExisting.has(t)&&c.created.set(t,e),await o.set(e)},delete:e=>o.delete(e)};async function d(e){s.add(e.channelId),await Promise.resolve(o.delete(RF(e))).catch(()=>void 0)}async function f(){let e=c;if(e?.created.size){for(let[t,n]of e.created)s.add(n.channelId),await Promise.resolve(o.delete(t)).catch(()=>void 0);e.created.clear(),oe(e.previous)}}function p(e){let t=SA(e.request.methodDetails,bA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=c;if(!n?.created.size)return!1;for(let e of n.created.values())if(e.channelId.toLowerCase()===t.channelId.toLowerCase())return!0;return!1}function m(e){return QF(i,e)}let h=LL({account:e.account,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:t.decimals,maxDeposit:e.maxDeposit,channelStore:u,onChannelUpdate(e){e.channelId!==i.channel?.channelId&&(i.spent=0n),i.channel=e,i.lastChallenge&&m({type:`activated`,challengeId:i.lastChallenge.id,entry:e,spent:i.spent.toString(),units:0})}});mM(h);let g=mP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),_=yM({fetch:t.fetch,methods:[h],onChallenge:async(e,t)=>{if(!cL(e))return;let n=c,r=n&&n.challengesReceived>0&&e.id===i.lastChallenge?.id;if(p(e)||(n?.created.size?await f():r&&oe(n.previous)),n&&n.challengesReceived++,i.lastChallenge=e,m({type:`challengeReceived`,challengeId:e.id}),i.channel?.opened&&i.lastUrl){let t=i.channel.cumulativeAmount+KP(e);await ie({challenge:e,input:i.lastUrl,channelId:i.channel.channelId,deposit:i.channel.deposit,requiredCumulative:t})}}});function v(e,t){return h.createCredential({challenge:e,context:t})}function y(e){hI({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:i})}function b(e=i.state.status===`active`?i.state.units:0){!i.channel||!i.lastChallenge||i.state.status===`active`||i.state.status===`withdrawable`||i.state.status===`closeRequested`||m({type:`activated`,challengeId:i.lastChallenge.id,entry:i.channel,spent:i.spent.toString(),units:e})}async function x(t){let a=t.headers.get(Q.paymentSessionSnapshot);if(!a)return;let o=JF(a),s=await n({chainId:o.chainId}),c=r(s),l=BigInt(o.descriptor.authorizedSigner)===0n?o.descriptor.payer:o.descriptor.authorizedSigner,{entry:d,spent:f}=await UI({account:await e.resolveAccount?.({account:c,chainId:o.chainId,operation:{authority:l,kind:`authorizePaymentChannel`}})??c,client:s,snapshot:o});return ne(d.cumulativeAmount),await Promise.resolve(u.set(d)).catch(()=>void 0),i.channel=d,i.spent=f,d}async function S(n,r){if(!e.bootstrap||i.channel?.opened)return;let a=n instanceof Request?n.headers:void 0,{body:o,method:s,...c}=r??{},l=n instanceof Request?n.url:n,u={...c,method:`HEAD`,headers:{...xM(a),...xM(r?.headers),[Q.acceptPayment]:`${vA.tempo}/${yA.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await x(e);let n=GA(e).find(HL);if(!n||!UL(n))return;let r=await g.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...xM(u.headers),[Q.authorization]:r}});return i.ok?await x(i):void 0}catch{return}}function C(e,t){let n=i.socketSession;return _I({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:i.channel?.channelId===t?i.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:i.spent,tickCost:n?.tickCost})}function w(e,t){let n=lL(t);if(!n)return;if(sF({...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 ee(e,t){let n=w(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:a}=n;if(i.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);a>i.spent&&(i.spent=a)}function te(e,t=e.challenge,n=!1){n&&ee(e,t);let r=C(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ne(r),r.toString()}function ne(e){rI({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function re(e){let n=await mL({...e,channel:i.channel,createSessionCredential:v,fetch:t.fetch});y(n);let r=oL({additionalDeposit:e.additionalDeposit,channel:i.channel,channelId:e.channelId,challengeId:i.lastChallenge?.id,currentState:i.state,receipt:n,spent:i.spent});return r?.channel&&i.lastChallenge&&(await u.set(r.channel),m({type:`activated`,challengeId:i.lastChallenge.id,entry:r.channel,spent:i.spent.toString(),units:i.state.status===`active`?i.state.units:0})),n}async function ie(e){e.requiredCumulative<=e.deposit||(ne(e.requiredCumulative),await re({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:e.requiredCumulative-e.deposit}))}function ae(e,t){let n=vI({channel:i.channel,channelId:e,challengeId:i.lastChallenge?.id,cumulativeAmount:t,spent:i.spent,state:i.state});n&&i.channel&&m({type:`activated`,challengeId:n.challengeId,entry:i.channel,spent:n.spent,units:n.units})}function oe(e){let t=bI(e,i.channel);i.channel=t.channel,i.spent=t.spent,i.state=t.state}function se(e){let t=e.headers.get(Q.paymentReceipt),n=t?YP(t):null;return y(n),Object.assign(e,{receipt:n,challenge:i.lastChallenge,channelId:i.channel?.channelId??null,cumulative:i.channel?.cumulativeAmount??0n})}async function ce(e,n){if(c)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);i.lastUrl=e;let r=yI({channel:i.channel,spent:i.spent,state:i.state}),a={challengesReceived:0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};c=a;let o=i.channel?.opened?i.channel.channelId:void 0;try{await S(e,n),a.trackCreates=!0;let s=WL(e,n,o),c=!r.channel?.opened;async function l(){let t=a.resumed;return!c||!t?!1:(c=!1,await d(t),s=WL(e,n,void 0),!0)}for(;;){let n;try{n=await _(e,s)}catch(e){if(oe(r),await l())continue;throw e}let a=se(n),o=!1;if(a.status===402){let n=await hL({input:e,init:s,response:a,createSessionCredential:v,fetch:t.fetch,getChannel:()=>i.channel,restoreCumulative:ae,setChallenge(e){i.lastChallenge=e},topUpIfNeeded:ie});n&&(o=!0,a=se(n))}if(!o&&!a.ok&&!a.receipt){if(oe(r),await l())continue;return a}return a}}finally{c=void 0}}async function le(e){let n=await _L({createSessionCredential:v,fetch:t.fetch,lastUrl:i.lastUrl,resolveSignedCloseAmount:t=>te(e,t,!0),signedCloseAmount:te(e),setChallenge(e){i.lastChallenge=e},target:e});return n&&(b(),m({type:`closeStarted`}),m({type:`closed`,receipt:n})),n}let ue={createSessionCredential:v,doFetch:ce,fetch:t.fetch,getChannel:()=>i.channel,getChallenge:()=>i.lastChallenge,assertVoucherWithinLocalLimit:ne,managementInput:dL,acceptReceipt(e){y(e)},topUpIfNeeded:ie},de={get channelId(){return i.channel?.channelId},get cumulative(){return i.channel?.cumulativeAmount??0n},get opened(){return i.channel?.opened??!1},get state(){return i.state},fetch:ce,async topUp(e){let n=aL({amount:e,assertVoucherWithinLocalLimit:ne,channel:i.channel,decimals:t.decimals,lastChallenge:i.lastChallenge,lastUrl:i.lastUrl});return re({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,input:n.input})},async sse(e,t){return vL(e,t,ue)},async ws(e,n){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=fL(e),o=n?.signal?{signal:n.signal}:void 0;await S(r,o);let s=i.channel?.opened?i.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await EL({createSessionCredential:v,fetch:t.fetch,input:e,onProbeUrl(e){i.lastUrl=e.toString()},probeInit:WL(r,o,s),signal:n?.signal});return i.lastChallenge=c,jL({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:n,createSessionCredential:v,getChannel:()=>i.channel,setSocketSession(e){i.socketSession=e},assertVoucherWithinLocalLimit:ne,acceptReceipt:y,rejectCloseReady:a.rejectCloseReady,rejectReceipt:a.rejectReceipt,settleCloseReady:a.settleCloseReady,settleReceipt:a.settleReceipt,topUpIfNeeded:ie,waitForReceipt:a.waitForReceipt})},async close(){let e=i.socketSession,t=lI({channel:i.channel,currentSocket:e,lastChallenge:i.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===nL.OPEN){let r=await xI({activeSocket:n,createSessionCredential:v,currentSocket:e,spent:i.spent,target:t,waitForCloseReady:a.waitForCloseReady,waitForReceipt:a.waitForReceipt});return b(),m({type:`closeStarted`}),m({type:`closed`,receipt:r}),r}return le(t)}};return zL(de,{consumeSseResponse(e,t,n){return yL(e,t,n,ue)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!cL(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.`);ne(e.cumulativeAmount);let a=w(e,t),o=a&&a.spent>r?a.spent:r;i.lastUrl=n,i.lastChallenge=t,i.channel=e,i.spent=o,m({type:`challengeReceived`,challengeId:t.id}),m({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),de}(function(e){e.serializeSnapshot=qF,e.deserializeSnapshot=JF})(KL||={});let qL=Object.assign(LL,{manager:KL}),JL=Object.assign(aF,{method:IP});function YL(e={}){return[mP(e),qL(e)]}(function(e){e.charge=mP,e.common=YL,e.session=qL,e.sessionLegacy=JL,e.subscription=GN})(YL||={});function XL(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=dM()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=ej(c,e.paymentPreferences),u=SM(),d=n,f={acceptPayment:l,acceptPaymentPolicy:a,...e.fetch&&{fetch:e.fetch},eventDispatcher:u,...t!==void 0&&{maxPaymentRetries:t},...d&&{onChallenge:d},...r&&{orderChallenges:r},methods:c,transport:o},p=yM(f);i&&bM(f);function m(e){return u.on(`challenge.received`,e)}function h(e){return u.on(`credential.created`,e)}function g(e){return u.on(`payment.failed`,e)}function _(e){return u.on(`payment.response`,e)}return{fetch:p,rawFetch:s,methods:c,transport:o,on:u.on,onChallengeReceived:m,onCredentialCreated:h,onPaymentFailed:g,onPaymentResponse:_,async createCredential(e,t,n){let i=o.getChallenges?await o.getChallenges(e):[await o.getChallenge(e)],a=oR(l.entries,n?.acceptPayment),s,d;try{let o=(await sR(rj(i,c,a),n?.orderChallenges??r))[0];if(!o)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${c.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=o.challenge;s=l,d=o.method,s.expires&&EA(s.expires,s.id);let f=ZL(e=>cR(l,d,e??t)),p=await u.emit(`challenge.received`,QL({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return KM(p),await u.emit(`credential.created`,$L({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,eR({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function ZL(e){let t;return n=>(t??=e(n),t)}function QL(e){return Object.freeze({challenge:rR(e.challenge),challenges:e.challenges.map(e=>rR(e)),createCredential:e.createCredential,method:tR(e.method),response:nR(e.response)})}function $L(e){return Object.freeze({challenge:rR(e.challenge),credential:e.credential,method:tR(e.method),response:nR(e.response)})}function eR(e){return Object.freeze({...e.challenge?{challenge:rR(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>rR(e))}:{},error:e.error,...e.method?{method:tR(e.method)}:{},response:nR(e.response)})}function tR(e){return aR(Object.assign({},e))}function nR(e){return e instanceof Response?e.clone():rR(e)}function rR(e){try{return iR(structuredClone(e))}catch{return aR(e)}}function iR(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))iR(t);return e}function aR(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function oR(e,t){return t?typeof t==`string`?tj(t):t:e}async function sR(e,t){return t?t(e):e}async function cR(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}R(),O();let lR={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},uR=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function dR(e){return{add:t=>bR({...t,store:e}),authorize:t=>pR({...t,store:e}),clear:()=>wR({store:e}),get:t=>vR({...t,store:e}),prepareAuthorization:t=>fR({...t,keystores:e.keystores}),getStatus:t=>gR({...t,store:e}),list:t=>BR({...t,store:e}),remove:t=>CR({...t,store:e}),select:t=>_R({...t,store:e}),updateAuthorization:t=>SR({...t,store:e})}}async function fR(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:GC({address:(()=>{switch(e){case`secp256k1`:return Zw(s);case`p256`:return Xw(s);case`webAuthn`:throw new Zx({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:GC({address:t??P_(b_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??zE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Zx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=GC({address:P_(S_(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 pR(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await fR({...r,chainId:r.chainId??n,keystores:i.keystores}),o=JC(a.keyAuthorization),s=await t.sign({hash:o}),c=GC(a.keyAuthorization,{signature:oC(s)});return bR({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),QC(c)}async function mR(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=BR({account:t,chainId:r,store:a});for(let e of s)if(!RR(e.expiry,o)&&OR(e,i)&&!(n&&!ER(e,{calls:n}))&&await LR(e,a))return!0;return!1}function hR(e){return DR(e.parameters.scopes,{calls:e.calls})}async function gR(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=BR({account:n,accessKey:t,chainId:i,store:o}).find(e=>ER(e,{calls:r}));if(c){if(RR(c.expiry,s))return lR.expired;if(c.keyAuthorization){let e=await zR(a,{accessKey:c.address,account:n,now:s}).catch(()=>lR.pending);return e===lR.published&&xR({accessKey:c.address,account:n,chainId:i,store:o}),e===lR.published?lR.published:lR.pending}return await zR(a,{accessKey:c.address,account:n,now:s})}return t?await zR(a,{accessKey:t,account:n,now:s}):lR.missing}async function _R(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=BR({account:t,chainId:r,store:i});for(let e of o){if(!ER(e,{calls:n}))continue;if(RR(e.expiry,a)){await CR({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await LR(e,i);if(t)return t}}async function vR(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=BR({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(RR(o.expiry,a)){await CR({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await LR(o,i)}}function yR(e){return kE({source:{get(t){return BR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){xR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){SR({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function bR(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=>!HR(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function xR(e){let{store:t,...n}=e;VR({...n,patch:{keyAuthorization:void 0},store:t})}function SR(e){let{authorization:t,store:n,...r}=e;VR({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function CR(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!HR(e,n))}))}function wR(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function TR(e){return e instanceof D&&e.walk(e=>{let t=e.data?.errorName;return!!t&&uR.has(t)})?!0:e instanceof Error&&uR.has(NE(e).errorName)}function ER(e,t){return DR(e.scopes,t)}function DR(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(!FR(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=MR(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 I_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function OR(e,t){return!(!kR(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!PR(e.limits,t.reuse?.minLimits))}function kR(e,t){return!t||!e||t.every(t=>e.some(e=>AR(e,t)))}function AR(e,t){return!FR(e)||!FR(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!jR(e.selector,t.selector)?!1:NR(e.recipients,t.recipients)}function jR(e,t){if(!e)return!0;if(!t)return!1;let n=MR(e),r=MR(t);return!!n&&n===r}function MR(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Uy(e)).toLowerCase()}catch{return}}function NR(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function PR(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 FR(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!I_(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=>!I_(e))))}let IR=new WeakMap;async function LR(e,t){let n=yR(t);if(`keyPair`in e&&e.keyPair)return $w(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return Zw(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return Xw(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=IR.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),IR.set(e,i));try{return await i}catch(n){IR.delete(e),RE(n)&&CR({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function RR(e,t){return typeof e==`number`&&e<t}async function zR(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await wT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?lR.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?lR.expired:lR.published}catch(e){if(TR(e))return lR.missing;throw e}}function BR(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>HR(e,n))}function VR(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!HR(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 HR(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 UR(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 WR(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 nS({message:`Account \"${t}\" not found.`}):new iS({message:`No active account.`});return GR(s,{signable:n})}function GR(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 nS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return Zw(e.privateKey);case`p256`:return Xw(e.privateKey);case`webCrypto`:return $w(e.keyPair);case`webAuthn`:return Qw(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return Yw(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new nS({message:`Unknown key type.`})}}let KR=new Map;function qR(e,t){let n=XR(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>QR(e,t),onResponse:t=>$R(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 ez(e),()=>{n.attachments.delete(r),ZR(e)}}function JR(e,t){let n=XR(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}),ez(e)})}function YR(e){return new URL(e).host}function XR(e){let t=YR(e),n=KR.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:vS(),requestQueue:[],synced:!1};return KR.set(t,r),r}function ZR(e){let t=XR(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function QR(e,t){if(t.length===0)return;let n=XR(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 tS);ez(e,{force:!0})}}function $R(e,t){let n=XR(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(gS(t.error)):r.resolve(t.result),ez(e,{force:!0}))}function ez(e,t={}){let n=XR(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,ZR(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:[tz(a)]}))}function tz(e){return{request:e.request,status:e.status}}R();function nz(e={}){let{dialog:t=w()?re():ne(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=qR(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=hS({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):JR(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:pA});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:[TD(aA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[TD(uA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[TD(dA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Gb(s)}}}})}let rz=new Map,iz=new WeakMap;function az(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return sz(r);if(r?.url)return sz(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 rz;let e=iz.get(d);return e||(e=new Map,iz.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Xb(),r=i?oz(i,t):t;p=Eh({chain:e,transport:s?cz(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function oz(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function sz(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function cz(e,t,n){return r=>{let i=e(r),a=Xb(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=Ww(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 lz=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function uz(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 dz({account:o,address:t,chainId:r,client:i,store:a})}function dz(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Qd(i,{account:t,...e,parameters:[],type:`tempo`});return await pz(i,n)}catch(e){throw mz(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Qd(i,{account:t,...e,type:`tempo`});return fz({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw mz(e,{account:t,address:n,chainId:r,store:a}),e}}}}function fz(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 mz(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 mz(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 mz(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function pz(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 mz(e,t){hz(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function hz(e){if(!(e instanceof Error))return!1;let t=NE(e);if(lz.has(t.errorName))return!0;let n=gz(e);return[...lz].some(e=>n.includes(e))}function gz(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:``,gz(r)].join(`\n`)}function _z(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(_z.cache.get(n))return _z.cache.get(n);let r=e().finally(()=>_z.cache.delete(n));return _z.cache.set(n,r),r}_z.cache=new Map;function vz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function yz(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=vz(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let bz;function xz(){return bz||=yz(`keyval-store`,`keyval`),bz}function Sz(e,t=xz()){return t(`readonly`,t=>vz(t.get(e)))}function Cz(e,t,n=xz()){return n(`readwrite`,n=>(n.put(t,e),vz(n.transaction)))}function wz(e,t=xz()){return t(`readwrite`,t=>(t.delete(e),vz(t.transaction)))}let Tz=Symbol.for(`accounts.storage.supportsStructuredClone`);function Ez(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 Dz(e)?Oz(r):r}function Dz(e){return e[Tz]===!0}function Oz(e){return Object.assign(e,{[Tz]:!0})}function kz(e={}){let t=typeof indexedDB<`u`?yz(`tempo`,`store`):void 0;return Oz(Ez({async getItem(e){let n=await Sz(e,t);return n===null?null:n},async setItem(e,n){await Cz(e,n,t)},async removeItem(e){await wz(e,t)}},e))}function Az(e={}){let t=new Map;return Oz(Ez({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let jz=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 Mz(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 Nz=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Nz(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Nz(t)(e)}}}},Pz=(e,t)=>(n,r,i)=>{let a={storage:Mz(()=>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 Nz(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},Fz=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},Iz=(e=>e?Fz(e):Fz),Lz=Symbol.for(`accounts.storage.supportsStructuredClone`);function Rz(e){let{chainId:t,keystores:n=zE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?kz({key:`tempo`}):Az({key:`tempo`})}=e,s=Iz(jz(Pz(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>Bz(e,t,{schema:a}),name:`store`,partialize:e=>zz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:Gz(o)}),storage:o,version:0}))),c=s;return c.accessKeys=dR({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function zz(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=>Uz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function Bz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(Hz):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>CD(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:Vz(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function Vz(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 Hz(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function Uz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&Wz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function Wz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function Gz(e){return e[Lz]===!0}async function Kz(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let qz=new Map;async function Jz(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=qz.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 qz.set(r,a),a.then(e=>{e.length===0&&qz.delete(r)}),a}async function Yz(e){let{symbol:t,...n}=e,r=await Jz(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function Xz(e,t){let n=CD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new rS({message:`Unsupported method \"${t?.method}\".`}):new eS(-32602,`Invalid params: ${Zz(n.error.issues)}`)}return{...t,_decoded:n.data}}function Zz(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?Zz([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Lf();let Qz=new Set;function $z(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function eB(e={}){let{adapter:t=nz(),chains:n=[TE,EE,DE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?kz():Az()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Xb(`${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=Rz({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={})=>WR({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return az(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??zE);let y=mS();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 iS)});function b(){if(f.getState().accounts.length===0)throw new iS({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 rS({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 Ub({account:e.account,chain:t.chain,transport:e.transport??Gb({request:t.request})})}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?{feePayer:!0}:{}};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Qd(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 uz({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 Rb(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 uz({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from});return await fh(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...t?{feePayer:!0}:{}})}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 uz({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?{feePayer:!0}:{}};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[TD(Lk,a)]});let o=await bb(i,{account:r.account,...a});return TD(Mk,o)}async function ie(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:dg({raw:e.data})})}async function ae(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:yg(t)})}async function oe(e){let t=await C(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await se(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[TD(Zk.parameters,r.parameters)]});return await le({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function se(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await fR({...e,chainId:n});return{parameters:ce(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!$z())return{parameters:e};let{key:r,keyAuthorization:i}=await fR({...e,chainId:n,keystores:l});if(!r)throw new Qx({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...ce(e,i),publicKey:r.publicKey}}}function ce(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function le(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:KC(r),...o})}async function ue(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await OT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!TR(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function de(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[TD(eA.parameters,e)]});return}let r=e.limits.map(t=>kT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await bb(h({chainId:n}),{account:t.account,calls:r})}async function fe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function pe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function me(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function he(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function ge(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function _e(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await oe(e);S(`authorizeAccessKey`)}async function ve(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ue(e);S(`revokeAccessKey`)}async function ye(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await de(e);S(`updateAccessKey`)}function be(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function xe(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function Se(e){let{reuse:t,...n}=e;return n}function Ce(){return typeof c==`function`?c():c}async function we(e){let t=Ce();if(!t)return;let n=Te(e.capabilities);if(!(n&&await mR({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Se(t)}function Te(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function Ee(e){let t=Ce();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!hR({parameters:t,calls:e.calls}))return;let n=Se(t);await _e(n,{method:`wallet_authorizeAccessKey`,params:[TD(Zk.parameters,n)]})}let De=Object.assign(hS({...y,async request({method:t,params:r}){return await Kz(f),_z(async()=>{let i;try{i=Xz(hA,{method:t,params:r})}catch(e){if(!(e instanceof rS))throw e;return await az(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:be(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=xe(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??UR(a.accounts.find(e=>e.address.toLowerCase()===s.toLowerCase()));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 uz({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await fe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await ge({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await he({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=xe(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Ee({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await pe(l,{method:`eth_sendTransaction`,params:[TD(Lk,l)]}),hp(F(f.getState().chainId),32),nB);return{capabilities:{sync:a},id:e}}let u=await me(l,{method:`eth_sendTransactionSync`,params:[TD(Lk,l)]}),p=u.transactionHash,m=F(f.getState().chainId),h=P(p,hp(m,32),nB);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 rB(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 iS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Zx({message:\"`tokens` is required.\"});let s=az(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([$T(s,{account:a,token:e}),eE(s,{token:e})]),r=Number(t)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:F(t),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(nB.slice(2)))throw Error(\"`id` not supported\");up(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await az(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=>e.address.toLowerCase()===t.toLowerCase()))throw new nS({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 we({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?sB(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Zx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Zx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await se(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:TD(tA.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!g.forwardsAuth?await uB(o,t??f.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:p,keyAuthorization:m,personalSign:h,signature:v,username:y}=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:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??_p(16),...l?{personalSign:l}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:be(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await le({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??h?.message,C=o&&x&&S&&v&&b?await dB(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},...h?.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}):void 0;return{accounts:u.map(e=>({address:e.address,capabilities:e.address===b?{...m?{keyAuthorization:{...m,address:m.keyId}}:{},...v&&(!o||C||!x)?{signature:v}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...p?{identity:p}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=sB(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await _e(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new rS({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 rS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=xe(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(I_(s)){let e=await eE(d,{token:s});return{address:s,decimals:e.decimals}}let e=await Yz({chainId:d.chain.id,symbol:s});if(!e)throw new eS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=ky(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[fE.call({amount:g,...y?{from:y}:{},memo:a?mp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await me(x,{method:`eth_sendTransactionSync`,params:[TD(Lk,x)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new rS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new rS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new rS({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 cS({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:Ff({method:t,params:r})})}},{schema:pA}),{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:De.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return az(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},store:f});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;Qz.has(e)||(Qz.add(e),gA({info:{icon:t.icon??tB,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:De}))}let Oe=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Oe){let{mode:e=`push`,polyfill:t,...n}=Oe,r=t??iB(),i=({chainId:e})=>{let t=De.getClient({chainId:e}),n=f.getState().accounts[f.getState().activeAccount];if(!n)throw new iS({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};XL({methods:[YL({...n,getClient:i,mode:e}),YL.subscription({getClient:i})],polyfill:r})}return m=De,De}let tB=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,nB=h_(mp(`TEMPO_5792`));function rB(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 iB(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function aB(){return typeof document<`u`&&typeof document.cookie==`string`}function oB(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 Zx({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 sB(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:oB(e,`challenge`)}:{},...r?{verify:oB(e,`verify`)}:{},...i?{logout:oB(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return cB(a),a}function cB(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 Zx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Zx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let lB=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';async function uB(e,t){let n=typeof e==`object`?e.challenge:oB(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=nb(i.message),o=new URL(n);if(a.version!==`1`)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${lB}`});if(a.uri!==o.origin)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${lB}`});if(a.chainId!==t)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function dB(e,t){let n=typeof e==`object`?e.verify:oB(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!aB(),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 Qx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let fB={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},pB={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},mB={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var hB=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let gB={accent:new hB(`accent`),background:new hB(`background`),border:new hB(`border`),foreground:new hB(`foreground`),muted:new hB(`muted`),negative:new hB(`negative`),positive:new hB(`positive`),surface:new hB(`surface`),fontFamily:new hB(`font-family`),fontSizeBase:new hB(`font-size-base`),radius:new hB(`radius`),spacingUnit:new hB(`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: ${gB.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 _B(e){let t=new URL(location.href);t.searchParams.set(pB.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}Lf();function vB(e){let t=document.getElementById(fB.data),n=Pf(t.textContent),r=t.getAttribute(mB.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(mB.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(mB.challengeId),o=a?(i.removeAttribute(mB.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(fB.error)?.remove();return}let t=document.getElementById(fB.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=fB.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:_B,vars:gB}}let yB=vB(`tempo`),bB=String.raw,xB=document.createElement(`style`);xB.textContent=bB`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${yB.vars.spacingUnit} * 8);\n }\n button {\n background: ${yB.vars.accent};\n border-radius: ${yB.vars.radius};\n color: ${yB.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${yB.vars.spacingUnit} * 4) calc(${yB.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`,yB.root.append(xB);let SB=eB({testnet:yB.challenge.request.methodDetails?.chainId===EE.id||yB.challenge.request.methodDetails?.chainId===OE.id}),CB=document.createElement(`button`);CB.innerHTML=`${yB.text.pay===`Pay`?`Continue with`:yB.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>`,CB.onclick=async()=>{try{yB.error(),CB.disabled=!0;let e=await(async()=>{let e=await SB.request({method:`eth_accounts`});return e.length>0?e.at(0):(await SB.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await YL({account:e,getClient:e=>{let t=e.chainId??yB.challenge.request.methodDetails?.chainId;return Eh({chain:[...SB?.chains??[],EE,OE].find(e=>e.id===t),transport:Gb(SB)})}})[0].createCredential({challenge:yB.challenge,context:{}});await yB.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;yB.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{CB.disabled=!1}},yB.root.appendChild(CB)})();</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,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function T(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ee;function te(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(ee&&ee.host===t)return ee.refs.store=e.store,ee.refs.fallback.destroy(),ee.refs.fallback=ne()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.instance.destroy();let n={fallback:ne()(e),store:e.store},r=!1,i=ae(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ie(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{le(),re(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let te=!1,re=()=>{te&&(te=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},oe=()=>{te||(te=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},se=!1,ce=()=>{se||(se=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},le=()=>{if(se){se=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ue={close(){n.fallback.close(),r=!1,le(),re()},destroy(){ee?.instance===ue&&(ee=void 0),n.fallback.close(),r=!1,re(),le(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,ce(),oe())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(T()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return ee={host:t,instance:ue,refs:n},ue})}function ne(e={}){if(typeof window>`u`)return re();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=ae(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function re(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ie(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ae(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var oe,se=o((()=>{oe=`1.2.3`})),ce,le=o((()=>{se(),ce=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${oe}`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function ue(e,t){return e.exec(t)?.groups}var de,fe,pe,me=o((()=>{de=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,fe=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,pe=/^\\(.+?\\).*?$/}));function he(e){let t=e.type;if(ge.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=he(i),r<n-1&&(t+=`, `)}let r=ue(ge,e.type);return t+=`)${r?.array||``}`,he({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var ge,_e=o((()=>{me(),ge=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ve(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=he(i),r!==n-1&&(t+=`, `)}return t}var ye=o((()=>{_e()}));function be(e){return e.type===`function`?`function ${e.name}(${ve(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ve(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ve(e.inputs)})`:e.type===`error`?`error ${e.name}(${ve(e.inputs)})`:e.type===`constructor`?`constructor(${ve(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var xe=o((()=>{ye()}));function Se(e){return Fe.test(e)}function Ce(e){return ue(Fe,e)}function we(e){return Ie.test(e)}function Te(e){return ue(Ie,e)}function Ee(e){return Le.test(e)}function De(e){return ue(Le,e)}function Oe(e){return Re.test(e)}function ke(e){return ue(Re,e)}function Ae(e){return ze.test(e)}function je(e){return ue(ze,e)}function Me(e){return Be.test(e)}function Ne(e){return ue(Be,e)}function Pe(e){return Ve.test(e)}var Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We=o((()=>{me(),Fe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Re=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,ze=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^receive\\(\\) external payable$/,He=new Set([`indexed`]),Ue=new Set([`calldata`,`memory`,`storage`])})),Ge,Ke,qe=o((()=>{le(),Ge=class extends ce{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ke=class extends ce{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}}})),Je,Ye,Xe,Ze,Qe,$e=o((()=>{le(),Je=class extends ce{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Ye=class extends ce{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Xe=class extends ce{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Ze=class extends ce{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Qe=class extends ce{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}}})),et,tt,nt,rt=o((()=>{le(),et=class extends ce{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},tt=class extends ce{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},nt=class extends ce{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}}})),it,at=o((()=>{le(),it=class extends ce{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}}})),ot,st=o((()=>{le(),ot=class extends ce{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}}}));function ct(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var lt,ut=o((()=>{lt=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]])}));function dt(e,t={}){if(Ee(e))return ft(e,t);if(we(e))return pt(e,t);if(Se(e))return mt(e,t);if(Ae(e))return ht(e,t);if(Me(e))return gt(e);if(Pe(e))return{type:`receive`,stateMutability:`payable`};throw new tt({signature:e})}function ft(e,t={}){let n=De(e);if(!n)throw new et({signature:e,type:`function`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:Ue,structs:t,type:`function`}));let o=[];if(n.returns){let e=vt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(_t(e[n],{modifiers:Ue,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function pt(e,t={}){let n=Te(e);if(!n)throw new et({signature:e,type:`event`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:He,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function mt(e,t={}){let n=Ce(e);if(!n)throw new et({signature:e,type:`error`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function ht(e,t={}){let n=je(e);if(!n)throw new et({signature:e,type:`constructor`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function gt(e){let t=Ne(e);if(!t)throw new et({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function _t(e,t){let n=ct(e,t?.type,t?.structs);if(lt.has(n))return lt.get(n);let r=pe.test(e),i=ue(r?Ct:St,e);if(!i)throw new Je({param:e});if(i.name&&bt(i.name))throw new Ye({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=vt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(_t(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(wt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!yt(c))throw new Ke({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xe({param:e,type:t?.type,modifier:i.modifier});if(Ue.has(i.modifier)&&!xt(c,!!i.array))throw new Ze({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return lt.set(n,u),u}function vt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?vt(o,[...t,n.trim()]):vt(o,t,`${n}${i}`,r);case`(`:return vt(o,t,`${n}${i}`,r+1);case`)`:return vt(o,t,`${n}${i}`,r-1);default:return vt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ot({current:n,depth:r});return t.push(n.trim()),t}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||de.test(e)||fe.test(e)}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||de.test(e)||fe.test(e)||Tt.test(e)}function xt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var St,Ct,wt,Tt,Et=o((()=>{me(),qe(),$e(),rt(),st(),ut(),We(),St=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ct=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^u?int$/,Tt=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/}));function Dt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Oe(n))continue;let i=ke(n);if(!i)throw new et({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=_t(t,{type:`struct`});o.push(n)}if(!o.length)throw new nt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Ot(a,t)}return r}function Ot(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(pe.test(i.type))r.push(i);else{let e=ue(kt,i.type);if(!e?.type)throw new Qe({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new it({type:o});r.push({...i,type:`tuple${a??``}`,components:Ot(t[o],t,new Set([...n,o]))})}else if(yt(o))r.push(i);else throw new Ge({type:o})}}return r}var kt,At=o((()=>{me(),qe(),$e(),rt(),at(),We(),Et(),kt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function jt(e){let t=Dt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Oe(r)||n.push(dt(r,t))}return n}var Mt=o((()=>{We(),At(),Et()})),Nt=o((()=>{le(),xe(),_e(),ye(),Mt(),qe(),We(),At(),Et(),$e(),rt(),st(),at()}));function E(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Pt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new mn(e.type);return`${e.name}(${Ft(e.inputs,{includeName:t})})`}function Ft(e,{includeName:t=!1}={}){return e?e.map(e=>It(e,{includeName:t})).join(t?`, `:`,`):``}function It(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Ft(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Lt=o((()=>{hn()}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Rt=o((()=>{}));function zt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Bt=o((()=>{Rt()})),Vt,Ht=o((()=>{Vt=`2.55.6`}));function Ut(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ut(e.cause,t):t?null:e}var Wt,O,k=o((()=>{Ht(),Wt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Vt}`},O=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Wt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Wt.version?[`Version: ${Wt.version}`]:[]].join(`\n`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Vt}walk(e){return Ut(this,e)}}})),Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn=o((()=>{Lt(),Bt(),k(),Gt=class extends O{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},Kt=class extends O{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},qt=class extends O{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Ft(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:`AbiDecodingDataSizeTooSmallError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}},Jt=class extends O{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Yt=class extends O{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Xt=class extends O{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${zt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Zt=class extends O{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},Qt=class extends O{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},$t=class extends O{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},en=class extends O{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},tn=class extends O{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},nn=class extends O{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},rn=class extends O{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},an=class extends O{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},on=class extends O{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},sn=class extends O{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Pt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Pt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},cn=class extends O{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},ln=class extends O{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${Ft(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},un=class extends O{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Pt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},dn=class extends O{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},fn=class extends O{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},pn=class extends O{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},mn=class extends O{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),gn,_n,vn,yn=o((()=>{k(),gn=class extends O{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},_n=class extends O{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},vn=class extends O{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function bn(e,{dir:t,size:n=32}={}){return typeof e==`string`?xn(e,{dir:t,size:n}):Sn(e,{dir:t,size:n})}function xn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new _n({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new _n({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Cn=o((()=>{yn()})),wn,Tn,En,Dn,On,kn,An,jn,Mn=o((()=>{k(),wn=class extends O{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Tn=class extends O{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},En=class extends O{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Dn=class extends O{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},On=class extends O{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},kn=class extends O{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},An=class extends O{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},jn=class extends O{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Nn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Pn=o((()=>{}));function Fn(e,{size:t}){if(zt(e)>t)throw new jn({givenSize:zt(e),maxSize:t})}function A(e,t={}){let{signed:n}=t;t.size&&Fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function In(e,t={}){let n=e;if(t.size&&(Fn(n,{size:t.size}),n=Nn(n)),Nn(n)===`0x00`)return!1;if(Nn(n)===`0x01`)return!0;throw new En(n)}function Ln(e,t={}){let n=A(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new wn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Rn=o((()=>{Mn(),Bt(),Pn()}));function zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?j(e,t):typeof e==`string`?Hn(e,t):typeof e==`boolean`?Bn(e,t):Vn(e,t)}function Bn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Vn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Un[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Fn(r,{size:t.size}),bn(r,{dir:`right`,size:t.size})):r}function j(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new wn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?bn(s,{size:r}):s}function Hn(e,t={}){return Vn(Wn.encode(e),t)}var Un,Wn,M=o((()=>{Mn(),Cn(),Rn(),Un=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wn=new TextEncoder}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Yn(e,t):typeof e==`boolean`?Kn(e,t):D(e)?Jn(e,t):Xn(e,t)}function Kn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function qn(e){if(e>=Qn.zero&&e<=Qn.nine)return e-Qn.zero;if(e>=Qn.A&&e<=Qn.F)return e-(Qn.A-10);if(e>=Qn.a&&e<=Qn.f)return e-(Qn.a-10)}function Jn(e,t={}){let n=e;t.size&&(Fn(n,{size:t.size}),n=bn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=qn(r.charCodeAt(t++)),i=qn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new O(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Yn(e,t){return Jn(j(e,t))}function Xn(e,t={}){let n=Zn.encode(e);return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{dir:`right`,size:t.size})):n}var Zn,Qn,$n=o((()=>{k(),Rt(),Cn(),Rn(),M(),Zn=new TextEncoder,Qn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function er(e,t=!1){return t?{h:Number(e&rr),l:Number(e>>ir&rr)}:{h:Number(e>>ir&rr)|0,l:Number(e&rr)|0}}function tr(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=er(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function nr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr=o((()=>{rr=BigInt(2**32-1),ir=BigInt(32),ar=(e,t,n)=>e>>>n,or=(e,t,n)=>e<<32-n|t>>>n,sr=(e,t,n)=>e>>>n|t<<32-n,cr=(e,t,n)=>e<<32-n|t>>>n,lr=(e,t,n)=>e<<64-n|t>>>n-32,ur=(e,t,n)=>e>>>n-32|t<<64-n,dr=(e,t,n)=>e<<n|t>>>32-n,fr=(e,t,n)=>t<<n|e>>>32-n,pr=(e,t,n)=>t<<n-32|e>>>64-n,mr=(e,t,n)=>e<<n-32|t>>>64-n,hr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),gr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_r=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),vr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,yr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),br=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Sr,Cr=o((()=>{Sr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Tr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Er(e,...t){if(!wr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Dr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Tr(e.outputLen),Tr(e.blockLen)}function Or(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function kr(e,t){Er(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ar(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Nr(e,t){return e<<32-t|e>>>t}function Pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Fr(e){for(let t=0;t<e.length;t++)e[t]=Pr(e[t]);return e}function Ir(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Lr(e){return typeof e==`string`&&(e=Ir(e)),Er(e),e}function Rr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Er(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function zr(e){let t=t=>e().update(Lr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Br(e=32){if(Sr&&typeof Sr.getRandomValues==`function`)return Sr.getRandomValues(new Uint8Array(e));if(Sr&&typeof Sr.randomBytes==`function`)return Uint8Array.from(Sr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Vr,Hr,Ur,Wr=o((()=>{Cr(),Vr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Hr=Vr?e=>e:Fr,Ur=class{}}));function Gr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ii(a,o,1)^n[r],c=ai(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=$r[n],a=ii(t,i,r),o=ai(t,i,r),s=Qr[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ni[r],e[1]^=ri[r]}jr(n)}var Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li=o((()=>{xr(),Wr(),Kr=BigInt(0),qr=BigInt(1),Jr=BigInt(2),Yr=BigInt(7),Xr=BigInt(256),Zr=BigInt(113),Qr=[],$r=[],ei=[];for(let e=0,t=qr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qr.push(2*(5*r+n)),$r.push((e+1)*(e+2)/2%64);let i=Kr;for(let e=0;e<7;e++)t=(t<<qr^(t>>Yr)*Zr)%Xr,t&Jr&&(i^=qr<<(qr<<BigInt(e))-qr);ei.push(i)}ti=tr(ei,!0),ni=ti[0],ri=ti[1],ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=class e extends Ur{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,Tr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ar(this.state)}clone(){return this._cloneInto()}keccak(){Hr(this.state32),Gr(this.state32,this.rounds),Hr(this.state32),this.posOut=0,this.pos=0}update(e){Or(this),e=Lr(e),Er(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Or(this,!1),Er(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Tr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kr(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},si=(e,t,n)=>zr(()=>new oi(t,e,n)),ci=si(1,136,256/8)}));function ui(e,t){let n=t||`hex`,r=ci(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}var di=o((()=>{li(),Rt(),$n(),M()}));function fi(e){return pi(e)}var pi,mi=o((()=>{$n(),di(),pi=e=>ui(Gn(e))}));function hi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new O(`Unable to normalize signature.`);return i}var gi=o((()=>{k()})),_i,vi=o((()=>{Nt(),gi(),_i=e=>hi(typeof e==`string`?e:be(e))}));function yi(e){return fi(_i(e))}var bi=o((()=>{mi(),vi()})),xi,Si=o((()=>{bi(),xi=yi})),Ci,wi=o((()=>{k(),Ci=class extends O{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),Ti,Ei=o((()=>{Ti=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Di(e,t){if(ki.has(`${e}.${t}`))return ki.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=ui(Xn(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return ki.set(`${e}.${t}`,a),a}function Oi(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});return Di(e,t)}var ki,Ai=o((()=>{wi(),$n(),di(),Ei(),Pi(),ki=new Ti(8192)}));function ji(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ni.has(r))return Ni.get(r);let i=Mi.test(e)?e.toLowerCase()===e||!n||Di(e)===e:!1;return Ni.set(r,i),i}var Mi,Ni,Pi=o((()=>{Ei(),Ai(),Mi=/^0x[a-fA-F0-9]{40}$/,Ni=new Ti(8192)}));function Fi(e){return typeof e[0]==`string`?Li(e):Ii(e)}function Ii(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Li(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Ri=o((()=>{}));function zi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ui(e,t,n,{strict:r}):Hi(e,t,n,{strict:r})}function Bi(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new gn({offset:t,position:`start`,size:zt(e)})}function Vi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&zt(e)!==n-t)throw new gn({offset:n,position:`end`,size:zt(e)})}function Hi(e,t,n,{strict:r}={}){Bi(e,t);let i=e.slice(t,n);return r&&Vi(i,t,n),i}function Ui(e,t,n,{strict:r}={}){Bi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Vi(i,t,n),i}var Wi=o((()=>{yn(),Rt(),Bt()})),Gi,Ki,qi=o((()=>{Gi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ki=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function Ji(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return Zi(Yi({params:e,values:t}))}function Yi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Xi({param:e[r],value:t[r]}));return n}function Xi({param:e,value:t}){let n=aa(e.type);if(n){let[r,i]=n;return $i(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ia(t,{param:e});if(e.type===`address`)return Qi(t);if(e.type===`bool`)return ta(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Ki.exec(e.type)??[];return na(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ea(t,{param:e});if(e.type===`string`)return ra(t);throw new dn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Zi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=zt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(j(t+i,{size:32})),r.push(s),i+=zt(s)):n.push(s)}return Li([...n,...r])}function Qi(e){if(!ji(e))throw new Ci({address:e});return{dynamic:!1,encoded:xn(e.toLowerCase())}}function $i(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new pn(e);if(!r&&e.length!==t)throw new Yt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&oa(n),a=[];for(let t=0;t<e.length;t++){let r=Xi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Zi(a);if(r)return{dynamic:!0,encoded:Li([j(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Li(a.map(({encoded:e})=>e))}}function ea(e,{param:t}){let[,n]=t.type.split(`bytes`),r=zt(e);if(!n){let t=e;return r%32!=0&&(t=xn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Li([xn(j(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Xt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:xn(e,{dir:`right`})}}function ta(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:xn(Bn(e))}}function na(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new wn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:j(e,{size:32,signed:t})}}function ra(e){let t=Hn(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(xn(zi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Li([xn(j(zt(t),{size:32})),...r])}}function ia(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Xi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Zi(r):Li(r.map(({encoded:e})=>e))}}function aa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function oa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(oa);let n=aa(t);return n?oa({...e,type:n[1]}):!1}var sa=o((()=>{hn(),wi(),k(),Mn(),Pi(),Ri(),Cn(),Bt(),Wi(),M(),qi()})),ca,la=o((()=>{Wi(),bi(),ca=e=>zi(yi(e),0,4)}));function ua(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?ca(e)===r:e.type===`event`&&xi(e)===r:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?da(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=fa(e.inputs,o.inputs,n);if(t)throw new sn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function da(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return ji(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&da(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>da(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function fa(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return fa(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&ji(n[r],{strict:!1}))return o}}var pa=o((()=>{hn(),Rt(),Pi(),Si(),la()}));function N(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ma=o((()=>{}));function ha(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:ga});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:ga});return{abi:[i],functionName:ca(Pt(i))}}var ga,_a=o((()=>{hn(),la(),Lt(),pa(),ga=`/docs/contract/encodeFunctionData`}));function va(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ha(e),i=n[0];return Li([r,(`inputs`in i&&i.inputs?Ji(i.inputs,t??[]):void 0)??`0x`])}var ya=o((()=>{Ri(),sa(),_a()})),ba,xa,Sa,Ca=o((()=>{ba={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},xa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Sa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),wa,Ta,Ea,Da=o((()=>{k(),wa=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ta=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ea=class extends O{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Oa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ka);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ka,Aa=o((()=>{Da(),ka={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Ea({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ta({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new wa({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new wa({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function ja(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),A(Vn(e,t),t)}function Ma(e,t={}){let n=e;if(t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n)),n.length>1||n[0]>1)throw new Tn(n);return!!n[0]}function Na(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),Ln(Vn(e,t),t)}function Pa(e,t={}){let n=e;return t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n,{dir:`right`})),new TextDecoder().decode(n)}var Fa=o((()=>{Mn(),Pn(),Rn(),M()}));function Ia(e,t){let n=typeof t==`string`?Jn(t):t,r=Oa(n);if(zt(n)===0&&e.length>0)throw new Jt;if(zt(t)&&zt(t)<32)throw new qt({data:typeof t==`string`?t:Vn(t),params:e,size:zt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=La(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function La(e,t,{staticPosition:n}){let r=aa(t.type);if(r){let[i,a]=r;return za(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ua(e,t,{staticPosition:n});if(t.type===`address`)return Ra(e);if(t.type===`bool`)return Ba(e);if(t.type.startsWith(`bytes`))return Va(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ha(e,t);if(t.type===`string`)return Wa(e,{staticPosition:n});throw new fn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ra(e){return[Di(Vn(Hi(e.readBytes(32),-20))),32]}function za(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Na(e.readBytes(qa)),i=n+Ka;e.setPosition(n);let a=Na(e.readBytes(Ka)),o=Ga(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=La(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ga(t)){let i=r+Na(e.readBytes(qa)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=La(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=La(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Ba(e){return[Ma(e.readBytes(32),{size:32}),32]}function Va(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Na(e.readBytes(32));e.setPosition(n+t);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Vn(i),32]}return[Vn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ha(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?ja(i,{signed:n}):Na(i,{signed:n}),32]}function Ua(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ga(t)){let o=n+Na(e.readBytes(qa));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=La(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=La(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Wa(e,{staticPosition:t}){let n=t+Na(e.readBytes(32));e.setPosition(n);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Pa(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Ga(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ga);let n=aa(e.type);return!!(n&&Ga({...e,type:n[1]}))}var Ka,qa,Ja=o((()=>{hn(),Ai(),Aa(),Bt(),Wi(),Fa(),$n(),M(),sa(),Ka=32,qa=32}));function Ya(e){let{abi:t,data:n,cause:r}=e,i=zi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],xa,Sa].find(e=>e.type===`error`&&i===ca(Pt(e)));if(!a)throw new en(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ia(a.inputs,zi(n,4)):void 0,errorName:a.name}}var Xa=o((()=>{Ca(),hn(),Wi(),la(),Ja(),Lt()})),Za,Qa=o((()=>{Za=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function $a({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?Za(t[n]):t[n]}`).join(`, `)})`}var eo=o((()=>{Qa()}));function to(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function no(e,t=`wei`){return to(e,oo.ether-oo[t])}function ro(e,t=`wei`){return to(e,oo.gwei-oo[t])}function io(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new so({value:e});let[n=``,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),n===``&&(n=`0`),r=r.replace(/(0+)$/,``),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let e=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let i=ao(e);i.length>t?(r=i.slice(1),n=`${BigInt(n)+1n}`):r=i}else r=e}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}function ao(e){let t=e.split(``),n=t.length-1;for(;n>=0;){let e=Number.parseInt(t[n],10)+1;if(e<10)return t[n]=String(e),t.join(``);t[n]=`0`,n--}return`1${t.join(``)}`}var oo,so,co,lo=o((()=>{oo={wei:0,gwei:9,szabo:12,finney:15,ether:18},so=class extends Error{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}},co=class extends Error{constructor({decimals:e}){super(`\\`decimals\\` must be a non-negative integer. Got \\`${e}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalsError`})}}}));function uo(e,t=`wei`){return no(e,t)}var fo=o((()=>{lo()}));function po(e,t=`wei`){return ro(e,t)}var mo=o((()=>{lo()}));function ho(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function go(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=ho(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=ho(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var _o,vo,yo=o((()=>{k(),_o=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},vo=class extends O{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function bo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo=o((()=>{fo(),mo(),k(),xo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},So=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Co=class extends O{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,bo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},wo=class extends O{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},To=class extends O{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Eo=class extends O{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Do=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Oo=class extends O{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},ko=class extends O{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},Ao=class extends O{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},jo=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function No(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Po(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Fo,Io,Lo=o((()=>{Fo=e=>e,Io=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ro,zo,Bo,Vo,Ho,Uo,Wo=o((()=>{ma(),Ca(),Xa(),Lt(),eo(),pa(),fo(),mo(),hn(),k(),yo(),Mo(),Lo(),Ro=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=bo({from:(t?N(t):void 0)?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});f&&(p+=`\\n${go(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},zo=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ua({abi:t,args:n,name:a}),c=s?$a({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=bo({address:r&&Fo(r),function:l,args:c&&c!==`()`&&`${[...Array(a?.length??0).keys()].map(()=>` `).join(``)}${c}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${a}\".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],u&&`Contract Call:`,u].filter(Boolean),name:`ContractFunctionExecutionError`}),Object.defineProperty(this,\"abi\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"args\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"contractAddress\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"formattedArgs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"functionName\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"sender\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=n,this.cause=e,this.contractAddress=r,this.functionName=a,this.sender=o}},Bo=class extends O{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Ya({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=ba[e]}else{let e=n?Pt(n,{includeName:!0}):void 0,t=n&&a?$a({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof en&&(l=a.signature,s=[`Unable to decode signature \"${l}\" as it was not found on the provided ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,name:`ContractFunctionRevertedError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=t,this.reason=c,this.signature=l}},Vo=class extends O{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},Ho=class extends O{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Uo=class extends O{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Go,Ko,qo,Jo,Yo=o((()=>{Qa(),k(),Lo(),Go=class extends O{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Io(a)}`,e&&`Request body: ${Za(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Ko=class extends O{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},qo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Io(n)}`,`Request body: ${Za(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Jo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Io(t)}`,`Request body: ${Za(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=o((()=>{k(),Yo(),Xo=-1,Zo=class extends O{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof qo?e.code:t??Xo}},Qo=class extends Zo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},$o=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),es=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),ts=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ns=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),rs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),is=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),as=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),os=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),cs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ls=class e extends Zo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ds=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),fs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ps=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ms=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),hs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),gs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),_s=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),vs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ys=class e extends Qo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),bs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),xs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Ss=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Cs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),ws=class e extends Qo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ts=class extends Zo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));hn(),k(),Wo(),Yo(),Es();function Ds(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Uo?e:e instanceof O?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new zo(e instanceof Jt?new Vo({functionName:a,cause:e}):[3,rs.code].includes(c)&&(l||u||d||f)||c===is.code&&u===`execution reverted`&&l?new Bo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof qo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ai(),di();function Os(e){return Di(`0x${ui(`0x${e.substring(4)}`).substring(26)}`)}function ks(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function As(e,t,n){return e&t^~e&n}function js(e,t,n){return e&t^e&n^t&n}var Ms,Ns,Ps,Fs,Is=o((()=>{Wr(),Ms=class extends Ur{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Mr(this.buffer)}update(e){Or(this),e=Lr(e),Er(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Mr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Or(this),kr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,jr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ks(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Mr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ps=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Fs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs=o((()=>{Is(),xr(),Wr(),Ls=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rs=new Uint32Array(64),zs=class extends Ms{constructor(e=32){super(64,e,8,!1),this.A=Ns[0]|0,this.B=Ns[1]|0,this.C=Ns[2]|0,this.D=Ns[3]|0,this.E=Ns[4]|0,this.F=Ns[5]|0,this.G=Ns[6]|0,this.H=Ns[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Rs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Rs[e-15],n=Rs[e-2],r=Nr(t,7)^Nr(t,18)^t>>>3,i=Nr(n,17)^Nr(n,19)^n>>>10;Rs[e]=i+Rs[e-7]+r+Rs[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Nr(o,6)^Nr(o,11)^Nr(o,25),u=l+t+As(o,s,c)+Ls[e]+Rs[e]|0,d=(Nr(n,2)^Nr(n,13)^Nr(n,22))+js(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){jr(Rs)}destroy(){this.set(0,0,0,0,0,0,0,0),jr(this.buffer)}},Bs=tr(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Vs=Bs[0],Hs=Bs[1],Us=new Uint32Array(80),Ws=new Uint32Array(80),Gs=class extends Ms{constructor(e=64){super(128,e,16,!1),this.Ah=Fs[0]|0,this.Al=Fs[1]|0,this.Bh=Fs[2]|0,this.Bl=Fs[3]|0,this.Ch=Fs[4]|0,this.Cl=Fs[5]|0,this.Dh=Fs[6]|0,this.Dl=Fs[7]|0,this.Eh=Fs[8]|0,this.El=Fs[9]|0,this.Fh=Fs[10]|0,this.Fl=Fs[11]|0,this.Gh=Fs[12]|0,this.Gl=Fs[13]|0,this.Hh=Fs[14]|0,this.Hl=Fs[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Us[n]=e.getUint32(t),Ws[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Us[e-15]|0,n=Ws[e-15]|0,r=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),i=cr(t,n,1)^cr(t,n,8)^or(t,n,7),a=Us[e-2]|0,o=Ws[e-2]|0,s=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),c=cr(a,o,19)^ur(a,o,61)^or(a,o,6),l=_r(i,c,Ws[e-7],Ws[e-16]),u=vr(l,r,s,Us[e-7],Us[e-16]);Us[e]=u|0,Ws[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),v=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=yr(_,v,b,Hs[e],Ws[e]),S=br(x,g,t,y,Vs[e],Us[e]),C=x|0,w=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),T=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=n&i^n&o^i&o,te=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=nr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ne=hr(C,T,te);n=gr(ne,S,w,ee),r=ne|0}({h:n,l:r}=nr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=nr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=nr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=nr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=nr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=nr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=nr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=nr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){jr(Us,Ws)}destroy(){jr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ks=class extends Gs{constructor(){super(48),this.Ah=Ps[0]|0,this.Al=Ps[1]|0,this.Bh=Ps[2]|0,this.Bl=Ps[3]|0,this.Ch=Ps[4]|0,this.Cl=Ps[5]|0,this.Dh=Ps[6]|0,this.Dl=Ps[7]|0,this.Eh=Ps[8]|0,this.El=Ps[9]|0,this.Fh=Ps[10]|0,this.Fl=Ps[11]|0,this.Gh=Ps[12]|0,this.Gl=Ps[13]|0,this.Hh=Ps[14]|0,this.Hl=Ps[15]|0}},qs=zr(()=>new zs),Js=zr(()=>new Gs),Ys=zr(()=>new Ks)})),Zs,Qs,$s=o((()=>{Wr(),Zs=class extends Ur{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Dr(e);let n=Lr(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),jr(i)}update(e){return Or(this),this.iHash.update(e),this}digestInto(e){Or(this),Er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Qs=(e,t,n)=>new Zs(e,t).update(n).digest(),Qs.create=(e,t)=>new Zs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ec(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function tc(e){if(!ec(e))throw Error(`Uint8Array expected`)}function nc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function rc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Sc:BigInt(`0x`+e)}function ac(e){if(tc(e),wc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Tc[e[n]];return t}function oc(e){if(e>=Ec._0&&e<=Ec._9)return e-Ec._0;if(e>=Ec.A&&e<=Ec.F)return e-(Ec.A-10);if(e>=Ec.a&&e<=Ec.f)return e-(Ec.a-10)}function sc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(wc)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=oc(e.charCodeAt(i)),a=oc(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character \"`+t+`\" at index `+i)}r[t]=n*16+a}return r}function cc(e){return ic(ac(e))}function lc(e){return tc(e),ic(ac(Uint8Array.from(e).reverse()))}function uc(e,t){return sc(e.toString(16).padStart(t*2,`0`))}function dc(e,t){return uc(e,t).reverse()}function fc(e,t,n){let r;if(typeof t==`string`)try{r=sc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(ec(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function pc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];tc(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function mc(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function hc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gc(e,t,n){return Dc(e)&&Dc(t)&&Dc(n)&&t<=e&&e<n}function _c(e,t,n,r){if(!gc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function vc(e){let t;for(t=0;e>Sc;e>>=Cc,t+=1);return t}function yc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=kc(e),i=kc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=kc(0))=>{i=s(Ac([0]),e),r=s(),e.length!==0&&(i=s(Ac([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return pc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function bc(e,t,n={}){let r=(t,n,r)=>{let i=jc[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function xc(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{Sc=BigInt(0),Cc=BigInt(1),wc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Tc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ec={_0:48,_9:57,A:65,F:70,a:97,f:102},Dc=e=>typeof e==`bigint`&&Sc<=e,Oc=e=>(Cc<<BigInt(e))-Cc,kc=e=>new Uint8Array(e),Ac=e=>Uint8Array.from(e),jc={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||ec(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Nc(e,t){let n=e%t;return n>=Yc?n:t+n}function Pc(e,t,n){let r=e;for(;t-->Yc;)r*=r,r%=n;return r}function Fc(e,t){if(e===Yc)throw Error(`invert: expected non-zero number`);if(t<=Yc)throw Error(`invert: expected positive modulus, got `+t);let n=Nc(e,t),r=t,i=Yc,a=Xc,o=Xc,s=Yc;for(;n!==Yc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==Xc)throw Error(`invert: does not exist`);return Nc(i,t)}function Ic(e,t){let n=(e.ORDER+Xc)/$c,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Lc(e,t){let n=(e.ORDER-el)/tl,r=e.mul(t,Zc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Zc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function Rc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Xc,n=0;for(;t%Zc===Yc;)t/=Zc,n++;let r=Zc,i=Gc(e);for(;Uc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Ic;let a=i.pow(r,t),o=(t+Xc)/Zc;return function(e,r){if(e.is0(r))return r;if(Uc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=Xc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function zc(e){return e%$c===Qc?Ic:e%tl===el?Lc:Rc(e)}function Bc(e){return bc(e,nl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Vc(e,t,n){if(n<Yc)throw Error(`invalid exponent, negatives unsupported`);if(n===Yc)return e.ONE;if(n===Xc)return t;let r=e.ONE,i=t;for(;n>Yc;)n&Xc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Xc;return r}function Hc(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Uc(e,t){let n=(e.ORDER-Xc)/Zc,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Wc(e,t){t!==void 0&&Tr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Gc(e,t,n=!1,r={}){if(e<=Yc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Wc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Oc(i),ZERO:Yc,ONE:Xc,create:t=>Nc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Yc<=t&&t<e},is0:e=>e===Yc,isOdd:e=>(e&Xc)===Xc,neg:t=>Nc(-t,e),eql:(e,t)=>e===t,sqr:t=>Nc(t*t,e),add:(t,n)=>Nc(t+n,e),sub:(t,n)=>Nc(t-n,e),mul:(t,n)=>Nc(t*n,e),pow:(e,t)=>Vc(s,e,t),div:(t,n)=>Nc(t*Fc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Fc(t,e),sqrt:r.sqrt||(t=>(o||=zc(e),o(s,t))),toBytes:e=>n?dc(e,a):uc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?lc(e):cc(e)},invertBatch:e=>Hc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Kc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function qc(e){let t=Kc(e);return t+Math.ceil(t/2)}function Jc(e,t,n=!1){let r=e.length,i=Kc(t),a=qc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Nc(n?lc(e):cc(e),t-Xc)+Xc;return n?dc(o,i):uc(o,i)}var Yc,Xc,Zc,Qc,$c,el,tl,nl,rl=o((()=>{Wr(),Mc(),Yc=BigInt(0),Xc=BigInt(1),Zc=BigInt(2),Qc=BigInt(3),$c=BigInt(4),el=BigInt(5),tl=BigInt(8),nl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction il(e,t){let n=t.negate();return e?n:t}function al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function ol(e,t){al(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Oc(e),maxNumber:i,shiftBy:BigInt(e)}}function sl(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=hl);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function cl(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function ll(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}function ul(e){return _l.get(e)||1}function dl(e,t){return{constTimeNegate:il,hasPrecomputes(e){return ul(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ml;)n&hl&&(r=r.add(i)),i=i.double(),n>>=hl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=ol(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let a=e.ZERO,o=e.BASE,s=ol(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=sl(i,e,s);i=t,c?o=o.add(il(u,r[d])):a=a.add(il(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=ol(n,t);for(let e=0;e<o.windows&&i!==ml;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=sl(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=gl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&gl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ul(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ul(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){al(n,t),_l.set(e,n),gl.delete(e)}}}function fl(e,t,n,r){cl(n,e),ll(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=vc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Oc(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function pl(e){return Bc(e.Fp),bc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Wc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ml,hl,gl,_l,vl=o((()=>{rl(),Mc(),ml=BigInt(0),hl=BigInt(1),gl=new WeakMap,_l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction yl(e){e.lowS!==void 0&&nc(`lowS`,e.lowS),e.prehash!==void 0&&nc(`prehash`,e.prehash)}function bl(e){let t=pl(e);bc(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected \"beta\": bigint and \"splitScalar\": function`)}return Object.freeze({...t})}function xl(e,t){return ac(uc(e,t))}function Sl(e){let t=bl(e),{Fp:n}=t,r=Gc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return pc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,Ml),Nl),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return gc(e,Al,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ec(e)&&(e=ac(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:cc(fc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Nc(o,a)),_c(`private key`,o,Al,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=xc((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=xc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Hc(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(fc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return fl(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,Ml),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,Ml),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;_c(`scalar`,e,kl,i);let a=h.ZERO;if(e===kl)return a;if(this.is0()||e===Al)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>kl||l>kl;)s&Al&&(u=u.add(f)),l&Al&&(d=d.add(f)),f=f.double(),s>>=Al,l>>=Al;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;_c(`scalar`,e,Al,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===kl||t===Al||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===Al)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===Al?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return nc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return nc(`isCompressed`,e),ac(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=dl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Cl(e){let t=pl(e);return bc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function wl(e){let t=Cl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Nc(e,r)}function l(e){return Fc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Sl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=pc;return nc(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=cc(i);if(!gc(e,Al,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&Al)===Al;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>Al}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>cc(e.slice(t,n));class _{constructor(e,t,n){_c(`r`,e,Al,r),_c(`s`,t,Al,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=fc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Ol.toSig(fc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(fc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+xl(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return sc(this.toDERHex())}toDERHex(){return Ol.hexFromSig(this)}toCompactRawBytes(){return sc(this.toCompactHex())}toCompactHex(){let e=i;return xl(this.r,e)+xl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=qc(t.n);return Jc(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=fc(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=cc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Oc(a);function T(e){return _c(`num < 2^`+a,e,kl,w),uc(e,i)}function ee(e,r,i=te){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=fc(`msgHash`,e),yl(i),f&&(e=fc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(fc(`extraEntropy`,e))}let x=pc(...b),w=v;function ee(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===kl)return;let a=c(n*c(w+i*y));if(a===kl)return;let o=(r.x===i?0:2)|Number(r.y&Al),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return yc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=fc(`msgHash`,n),r=fc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(yl(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||ec(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Ol.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function Tl(e,t){let n=e.ORDER,r=kl;for(let e=n-Al;e%jl===kl;e/=jl)r+=Al;let i=r,a=jl<<i-Al-Al,o=a*jl,s=(n-Al)/o,c=(s-Al)/jl,l=o-Al,u=a,d=e.pow(t,s),f=e.pow(t,(s+Al)/jl),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>Al;t--){let n=t-jl;n=jl<<n-Al;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%Nl===Ml){let n=(e.ORDER-Ml)/Nl,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function El(e,t){if(Bc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Tl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);d=e.cmov(e.neg(d),d,m);let h=Hc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Dl,Ol,kl,Al,jl,Ml,Nl,Pl=o((()=>{vl(),rl(),Mc(),Dl=class extends Error{constructor(e=``){super(e)}},Ol={Err:Dl,_tlv:{encode:(e,t)=>{let{Err:n}=Ol;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=rc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?rc(i.length/2|128):``;return rc(e)+a+i+t},decode(e,t){let{Err:n}=Ol,r=0;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length<2||t[r++]!==e)throw new n(`tlv.decode: wrong tlv`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;if(!e)throw new n(`tlv.decode(long): indefinite length not supported`);if(e>4)throw new n(`tlv.decode(long): byte length is too big`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Ol;if(e<kl)throw new t(`integer: negative integers are not allowed`);let n=rc(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Ol;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return cc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Ol,i=fc(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Ol,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},kl=BigInt(0),Al=BigInt(1),jl=BigInt(2),Ml=BigInt(3),Nl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Fl(e){return{hash:e,hmac:(t,...n)=>Qs(e,t,Rr(...n)),randomBytes:Br}}function Il(e,t){let n=t=>wl({...e,...Fl(t)});return{...n(t),create:n}}var Ll=o((()=>{$s(),Wr(),Pl()}));function Rl(e,t){if(Bl(e),Bl(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function zl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Bl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Vl(e,t,n,r){tc(e),tc(t),Bl(n),t.length>255&&(t=r(pc(hc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=pc(t,Rl(t.length,1)),c=Rl(0,a),l=Rl(n,2),u=Array(o),d=r(pc(c,e,l,Rl(0,1),s));u[0]=r(pc(d,Rl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(pc(zl(d,u[e-1]),Rl(e+1,1),s));return pc(...u).slice(0,n)}function Hl(e,t,n,r,i){if(tc(e),tc(t),Bl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(hc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Rl(n,2)).update(t).update(Rl(t.length,1)).digest()}function Ul(e,t,n){bc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;tc(e),Bl(t);let l=typeof c==`string`?hc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Vl(e,l,f,o);else if(s===`xof`)p=Hl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a),o=p.subarray(i,i+d);t[n]=Nc(Kl(o),r)}m[e]=t}return m}function Wl(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Hc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Gl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Ul(e,2,{...n,DST:n.DST,...t}),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){return i(r(Ul(e,1,{...n,DST:n.encodeDST,...t})[0]))},mapToCurve(e){if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))}}}var Kl,ql=o((()=>{rl(),Mc(),Kl=cc})),Jl=c({encodeToCurve:()=>wu,hashToCurve:()=>Cu,schnorr:()=>yu,secp256k1:()=>uu,secp256k1_hasher:()=>Su});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Yl(e){let t=ru,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Pc(Pc(Pc(u,n,t)*u%t,n,t)*u%t,su,t)*l%t,f=Pc(d,i,t)*d%t,p=Pc(f,a,t)*f%t,m=Pc(p,s,t)*p%t,h=Pc(Pc(Pc(Pc(Pc(Pc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,su,t);if(!lu.eql(lu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Xl(e,...t){let n=du[e];if(n===void 0){let t=qs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=pc(t,t),du[e]=n}return qs(pc(n,...t))}function Zl(e){let t=uu.utils.normPrivateKeyToScalar(e),n=gu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:hu(-t),bytes:fu(n)}}function Ql(e){_c(`x`,e,ou,ru);let t=mu(e*e),n=Yl(mu(t*e+BigInt(7)));n%su!==au&&(n=mu(-n));let r=new gu(e,n,ou);return r.assertValidity(),r}function $l(...e){return hu(vu(Xl(`BIP0340/challenge`,...e)))}function eu(e){return Zl(e).bytes}function tu(e,t,n=Br(32)){let r=fc(`message`,e),{bytes:i,scalar:a}=Zl(t),o=fc(`auxRand`,n,32),s=Xl(`BIP0340/nonce`,pu(a^vu(Xl(`BIP0340/aux`,o))),i,r),c=hu(vu(s));if(c===au)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Zl(c),d=$l(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(pu(hu(u+d*a)),32),!nu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function nu(e,t,n){let r=fc(`signature`,e,64),i=fc(`message`,t),a=fc(`publicKey`,n,32);try{let e=Ql(vu(a)),t=vu(r.subarray(0,32));if(!gc(t,ou,ru))return!1;let n=vu(r.subarray(32,64));if(!gc(n,ou,iu))return!1;let o=$l(pu(t),fu(e),i),s=_u(e,n,hu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu=o((()=>{Xs(),Wr(),Ll(),ql(),rl(),Mc(),Pl(),ru=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),iu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),au=BigInt(0),ou=BigInt(1),su=BigInt(2),cu=(e,t)=>(e+t/su)/t,lu=Gc(ru,void 0,void 0,{sqrt:Yl}),uu=Il({a:au,b:BigInt(7),Fp:lu,n:iu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=iu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ou*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=cu(a*e,t),c=cu(-r*e,t),l=Nc(e-s*n-c*i,t),u=Nc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},qs),du={},fu=e=>e.toRawBytes(!0).slice(1),pu=e=>uc(e,32),mu=e=>Nc(e,ru),hu=e=>Nc(e,iu),gu=uu.ProjectivePoint,_u=(e,t,n)=>gu.BASE.multiplyAndAddUnsafe(e,t,n),vu=cc,yu={getPublicKey:eu,sign:tu,verify:nu,utils:{randomPrivateKey:uu.utils.randomPrivateKey,lift_x:Ql,pointToBytes:fu,numberToBytesBE:uc,bytesToNumberBE:cc,taggedHash:Xl,mod:Nc}},bu=Wl(lu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),xu=El(lu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:lu.create(BigInt(`-11`))}),Su=Gl(uu.ProjectivePoint,e=>{let{x:t,y:n}=xu(lu.create(e[0]));return bu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:lu.ORDER,m:1,k:128,expand:`xmd`,hash:qs}),Cu=Su.hashToCurve,wu=Su.encodeToCurve}));Rt(),Bt(),Rn(),M();async function Eu({hash:e,signature:t}){let n=D(e)?e:zn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Tu(),Jl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Du(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:zn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Du(Ln(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Du(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Ou({hash:e,signature:t}){return Os(await Eu({hash:e,signature:t}))}k(),Aa(),$n(),M();function ku(e,t=`hex`){let n=Au(e),r=Oa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Vn(r.bytes):r.bytes}function Au(e){return Array.isArray(e)?ju(e.map(e=>Au(e))):Mu(e)}function ju(e){let t=e.reduce((e,t)=>e+t.length,0),n=Nu(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Mu(e){let t=typeof e==`string`?Jn(e):e,n=Nu(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Nu(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new O(`Length is too large.`)}Ri(),$n(),M(),di();function Pu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=ui(Li([`0x05`,ku([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Jn(a):a}async function Fu(e){let{authorization:t,signature:n}=e;return Ou({hash:Pu(t),signature:n??t})}fo(),mo(),k(),Mo();var Iu=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu=o((()=>{mo(),k(),Lu=class extends O{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Lu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Ru=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),zu=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/}),Bu=class extends O{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Vu=class extends O{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Hu=class extends O{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Uu=class extends O{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Wu=class extends O{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Gu=class extends O{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ku=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),qu=class extends O{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${po(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Ju=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Xu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Lu.code):e;return r instanceof O?new Lu({cause:e,message:r.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,message:e.details}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Bu.nodeMessage.test(n)?new Bu({cause:e,nonce:t?.nonce}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e,gas:t?.gas}):Ku.nodeMessage.test(n)?new Ku({cause:e}):qu.nodeMessage.test(n)?new qu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ju({cause:e})}var Zu=o((()=>{k(),Yu()}));Yu(),Zu();function Qu(e,{docsPath:t,...n}){return new Iu((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}function $u(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var ed=o((()=>{}));function td(e,t){return({exclude:n,format:r})=>({exclude:n,format:(e,i)=>{let a=t(e,i);if(n)for(let e of n)delete a[e];return{...a,...r(e,i)}},type:e})}var nd=o((()=>{}));function rd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=id(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Vn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=j(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=j(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=j(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=j(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=ad[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function id(e){return e.map(e=>({address:e.address,r:e.r?j(BigInt(e.r)):e.r,s:e.s?j(BigInt(e.s)):e.s,chainId:j(e.chainId),nonce:j(e.nonce),...e.yParity===void 0?{}:{yParity:j(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:j(e.v)}:{}}))}var ad,od,sd=o((()=>{M(),nd(),ad={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},od=td(`transactionRequest`,rd)}));function cd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new vn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new vn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function ld(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=j(t)),n!==void 0&&(o.nonce=j(n)),r!==void 0&&(o.state=cd(r)),i!==void 0){if(o.state)throw new vo;o.stateDiff=cd(i)}return o}function ud(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!ji(n,{strict:!1}))throw new Ci({address:n});if(t[n])throw new _o({address:n});t[n]=ld(r)}return t}var dd=o((()=>{wi(),yn(),yo(),Pi(),M()})),fd,pd=o((()=>{2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n)),fd=2n**256n-1n}));function md(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?N(t):void 0;if(a&&!ji(a.address))throw new Ci({address:a.address});if(i&&!ji(i))throw new Ci({address:i});if(n&&n>fd)throw new Ru({maxFeePerGas:n});if(r&&n&&r>n)throw new qu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var hd=o((()=>{ma(),pd(),wi(),Yu(),Pi()}));mo(),k();var gd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},_d=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},vd=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${po(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var yd=class extends O{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};Rn(),nd();let bd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function xd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Ln(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Ln(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?bd[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=Cd(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}let Sd=td(`transaction`,xd);function Cd(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function wd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:xd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}M();async function Td(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:j(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new yd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||wd)(s,`getBlock`)}async function Ed(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Rn();async function Dd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await E(e,Td,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?A(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Td,`getBlock`)({}),E(e,Ed,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new _d;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Od(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new gd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await E(e,Td,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new _d;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Dd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await E(e,Ed,`getGasPrice`)({}))}}function kd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new O(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?j(n):r??`latest`}var Ad=o((()=>{k(),M()}));Ad(),Rn();async function jd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Ln(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}$n(),M();function Md(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Jn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Vn(e))}$n(),M();function Nd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Jn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Jn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Vn(e))}Xs();let Pd=qs;Rt(),$n(),M();function Fd(e,t){let n=t||`hex`,r=Pd(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}M();function Id(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Fd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Vn(i)}function Ld(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Id({commitment:e,to:r,version:n}));return i}k();var Rd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},zd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Bd=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Vd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Aa(),Bt(),$n(),M();function Hd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Jn(e.data):e.data,r=zt(n);if(!r)throw new zd;if(r>761855)throw new Rd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Oa(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Vn(e.bytes))}function Ud(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Hd({data:t,to:r}),a=e.commitments??Md({blobs:i,kzg:n,to:r}),o=e.proofs??Nd({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}Mo();function Wd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new Co({transaction:e})}Yu(),Mo(),Zu();function Gd(e,{docsPath:t,...n}){return new Do((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}Rn();async function Kd(e){return Ln(await e.request({method:`eth_chainId`},{dedupe:!0}))}ma(),ed(),sd(),hd();async function qd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=N(n),r=a?a.id:await E(e,Kd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();md(t);let x=a?.formatters?.transactionRequest?.format,S=(x||rd)({...$u(y,{format:x}),account:n?N(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||xd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Td,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new gd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Gd(n,{...t,chain:e.chain})}}ma(),Ei(),hd();let Jd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Yd=new Map,Xd=new Ti(128);async function Zd(e,t){let n=t;n.account??=e.account,n.parameters??=Jd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await E(e,Kd,`getChainId`)({}),c):n.chainId)}let u=r&&N(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?N(t):void 0}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Xd.get(e.uid)===!1)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||[`fees`,`gas`].some(e=>o.includes(e))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`))?await E(e,qd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return Xd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Xd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await E(e,Td,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,jd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Md({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Ld({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Ud({blobs:p,commitments:e,proofs:Nd({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Wd(n)}catch{let t=Yd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Yd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Od(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new vd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new _d;if(n.gasPrice===void 0){let{gasPrice:t}=await Od(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await E(e,Qd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),md(n),delete n.parameters,n}ma(),k(),M(),ed(),sd(),dd(),hd();async function Qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?N(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Fu({authorization:t.authorizationList[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Zd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?j(u):void 0)||d,C=ud(b);md(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||rd)({...$u(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw Qu(n,{...t,account:i,chain:e.chain})}}ma(),ya();async function $d(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=va({abi:n,args:i,functionName:a});try{return await E(e,Qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?N(s.account):void 0)?.address})}}function ef(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});if(!ji(t,{strict:!1}))throw new Ci({address:t});return e.toLowerCase()===t.toLowerCase()}var tf=o((()=>{wi(),Pi()}));function nf(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}hn(),Da(),Bt(),Si(),Ja(),Lt();let rf=`/docs/contract/decodeEventLog`;function af(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:rf});let c=t.find(e=>e.type===`event`&&o===xi(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:rf});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new un({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=of({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Ia(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof qt||e instanceof Ta?new ln({abiItem:c,data:n,params:g,size:zt(n)}):e}else if(a)throw new ln({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function of({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ia([e],t)||[])[0]}tf(),$n(),di(),Si();function sf(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:xi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?nf(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=af({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=af({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!cf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function cf(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?ef(t,n):e.type===`string`||e.type===`bytes`?ui(Gn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1})}function lf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:uf});a=e}if(a.type!==`function`)throw new rn(void 0,{docsPath:uf});if(!a.outputs)throw new an(a.name,{docsPath:uf});let o=Ia(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var uf,df=o((()=>{hn(),Ja(),pa(),uf=`/docs/contract/decodeFunctionResult`})),ff,pf=o((()=>{ff=`0.1.1`}));function mf(){return ff}var hf=o((()=>{pf()}));function gf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?gf(e.cause,t):t?null:e}var P,_f=o((()=>{hf(),P=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return gf(this,e)}},Object.defineProperty(P,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${mf()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function vf(e,t){if(Kf(e)>t)throw new ap({givenSize:Kf(e),maxSize:t})}function yf(e,t){if(typeof t==`number`&&t>0&&t>Kf(e)-1)throw new op({offset:t,position:`start`,size:Kf(e)})}function bf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Kf(e)!==n-t)throw new op({offset:n,position:`end`,size:Kf(e)})}function xf(e){if(e>=wf.zero&&e<=wf.nine)return e-wf.zero;if(e>=wf.A&&e<=wf.F)return e-(wf.A-10);if(e>=wf.a&&e<=wf.f)return e-(wf.a-10)}function Sf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new sp({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function Cf(e,t={}){let{dir:n=`left`}=t,r=e,i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r}var wf,Tf=o((()=>{cp(),wf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Ef(e,t){if(_p(e)>t)throw new kp({givenSize:_p(e),maxSize:t})}function Df(e,t){if(typeof t==`number`&&t>0&&t>_p(e)-1)throw new Ap({offset:t,position:`start`,size:_p(e)})}function Of(e,t,n){if(typeof t==`number`&&typeof n==`number`&&_p(e)!==n-t)throw new Ap({offset:n,position:`end`,size:_p(e)})}function kf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new jp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Af(e,t={}){let{dir:n=`left`}=t,r=e.replace(`0x`,``),i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r===`0`?`0x`:n===`right`&&r.length%2==1?`0x${r}0`:`0x${r}`}var jf=o((()=>{z()}));function Mf(e){if(e===null||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`Cannot canonicalize non-finite number`);return Object.is(e,-0)?`0`:JSON.stringify(e)}if(typeof e==`bigint`)throw TypeError(`Cannot canonicalize bigint`);if(Array.isArray(e))return`[${e.map(e=>Mf(e)).join(`,`)}]`;if(typeof e==`object`)return`{${Object.keys(e).sort().reduce((t,n)=>{let r=e[n];return r!==void 0&&t.push(`${JSON.stringify(n)}:${Mf(r)}`),t},[]).join(`,`)}}`}function Nf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Ff)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Pf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Ff:n,n)}var Ff,If=o((()=>{Ff=`#__bigint`}));function Lf(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new ip(e)}function Rf(...e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function zf(e){return e instanceof Uint8Array?e:typeof e==`string`?Vf(e):Bf(e)}function Bf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Vf(e,t={}){let{size:n}=t,r=e;n&&(Ef(e,n),r=hp(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=xf(i.charCodeAt(t++)),r=xf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new P(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Hf(e,t={}){let{size:n}=t,r=np.encode(e);return typeof n==`number`?(vf(r,n),Wf(r,n)):r}function Uf(e,t){return mc(e,t)}function Wf(e,t){return Sf(e,{dir:`right`,size:t})}function Gf(e){return crypto.getRandomValues(new Uint8Array(e))}function Kf(e){return e.length}function qf(e,t,n,r={}){let{strict:i}=r;yf(e,t);let a=e.slice(t,n);return i&&bf(a,t,n),a}function Jf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),R(fp(e,t),t)}function Yf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(vf(r,n),r=Qf(r)),r.length>1||r[0]>1)throw new rp(r);return!!r[0]}function Xf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),bp(fp(e,t),t)}function Zf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(vf(r,n),r=$f(r)),tp.decode(r)}function Qf(e){return Cf(e,{dir:`left`})}function $f(e){return Cf(e,{dir:`right`})}function ep(e){try{return Lf(e),!0}catch{return!1}}var tp,np,rp,ip,ap,op,sp,cp=o((()=>{Mc(),_f(),z(),Tf(),jf(),If(),tp=new TextDecoder,np=new TextEncoder,rp=class extends P{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},ip=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},ap=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},op=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},sp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function lp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Ep(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Dp(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function up(e){return e instanceof Uint8Array?fp(e):Array.isArray(e)?fp(new Uint8Array(e)):e}function dp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Ef(n,t.size),mp(n,t.size)):n}function fp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=wp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Ef(r,t.size),hp(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tp({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?mp(s,r):s}function pp(e,t={}){return fp(Cp.encode(e),t)}function mp(e,t){return kf(e,{dir:`left`,size:t})}function hp(e,t){return kf(e,{dir:`right`,size:t})}function gp(e){return fp(Gf(e))}function L(e,t,n,r={}){let{strict:i}=r;Df(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Of(a,t,n),a}function _p(e){return Math.ceil((e.length-2)/2)}function vp(e){return Af(e,{dir:`left`})}function R(e,t={}){let{signed:n}=t;t.size&&Ef(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function yp(e,t={}){return Vf(e,t)}function bp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:R(e,t))}function xp(e,t={}){let{size:n}=t,r=Vf(e);return n&&(vf(r,n),r=$f(r)),new TextDecoder().decode(r)}function Sp(e,t={}){let{strict:n=!1}=t;try{return lp(e,{strict:n}),!0}catch{return!1}}var Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,z=o((()=>{cp(),_f(),Tf(),jf(),If(),Cp=new TextEncoder,wp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tp=class extends P{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Ep=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexTypeError`})}},Dp=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Op=class extends P{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},kp=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Ap=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},jp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Mp(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Np=o((()=>{z()}));function Pp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Mp)}}}var Fp=o((()=>{z(),Np()})),Ip,Lp,Rp,zp,Bp,Vp,Hp=o((()=>{Ip=[{inputs:[{components:[{name:`target`,type:`address`},{name:`allowFailure`,type:`bool`},{name:`callData`,type:`bytes`}],name:`calls`,type:`tuple[]`}],name:`aggregate3`,outputs:[{components:[{name:`success`,type:`bool`},{name:`returnData`,type:`bytes`}],name:`returnData`,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{name:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],Lp=[{name:`query`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple[]`,name:`queries`,components:[{type:`address`,name:`sender`},{type:`string[]`,name:`urls`},{type:`bytes`,name:`data`}]}],outputs:[{type:`bool[]`,name:`failures`},{type:`bytes[]`,name:`responses`}]},{name:`HttpError`,type:`error`,inputs:[{type:`uint16`,name:`status`},{type:`string`,name:`message`}]}],Rp=[{inputs:[{name:`dns`,type:`bytes`}],name:`DNSDecodingFailed`,type:`error`},{inputs:[{name:`ens`,type:`string`}],name:`DNSEncodingFailed`,type:`error`},{inputs:[],name:`EmptyAddress`,type:`error`},{inputs:[{name:`status`,type:`uint16`},{name:`message`,type:`string`}],name:`HttpError`,type:`error`},{inputs:[],name:`InvalidBatchGatewayResponse`,type:`error`},{inputs:[{name:`errorData`,type:`bytes`}],name:`ResolverError`,type:`error`},{inputs:[{name:`name`,type:`bytes`},{name:`resolver`,type:`address`}],name:`ResolverNotContract`,type:`error`},{inputs:[{name:`name`,type:`bytes`}],name:`ResolverNotFound`,type:`error`},{inputs:[{name:`primary`,type:`string`},{name:`primaryAddress`,type:`bytes`}],name:`ReverseAddressMismatch`,type:`error`},{inputs:[{internalType:`bytes4`,name:`selector`,type:`bytes4`}],name:`UnsupportedResolverProfile`,type:`error`}],[...Rp],[...Rp],zp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Bp=[{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],outputs:[{type:`bool`}],stateMutability:`nonpayable`,type:`function`,name:`isValidSig`}],Vp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Up=o((()=>{})),Wp,Gp,Kp,qp,Jp=o((()=>{Wp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Gp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Kp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,qp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Yp,Xp,Zp,Qp,$p,em=o((()=>{k(),Yp=class extends O{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Xp=class extends O{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},Zp=class extends O{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Qp=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},$p=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function tm(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Gt({docsPath:nm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:nm});return Li([r,Ji(i.inputs,n)])}var nm,rm=o((()=>{hn(),Ri(),sa(),nm=`/docs/contract/encodeDeployData`}));function im({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Yp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Yp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var am=o((()=>{em()}));function om(e,{docsPath:t,...n}){return new Ro((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}var sm=o((()=>{Wo(),Yu(),Zu()}));function cm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var lm=o((()=>{}));function um({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>dm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>dm.get(t)||[],l=e=>dm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=cm();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var dm,fm=o((()=>{lm(),dm=new Map})),pm,mm,hm,gm=o((()=>{Qa(),k(),Lo(),pm=class extends O{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Io(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},mm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Io(t)}`,`Response: ${Za(e)}`],name:`OffchainLookupResponseMalformedError`})}},hm=class extends O{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function _m(e){let{abi:t,data:n}=e,r=zi(n,0,4),i=t.find(e=>e.type===`function`&&r===ca(Pt(e)));if(!i)throw new on(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ia(i.inputs,zi(n,4)):void 0}}var vm=o((()=>{hn(),Wi(),la(),Ja(),Lt()}));function ym(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ua({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:bm});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:bm});let a=ca(Pt(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:bm});o=Ji(i.inputs,r)}return Li([a,o])}var bm,xm=o((()=>{hn(),Ri(),la(),sa(),Lt(),pa(),bm=`/docs/contract/encodeErrorResult`}));function Sm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ua({abi:t,name:n});if(!e)throw new rn(n,{docsPath:Cm});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:Cm});if(!i.outputs)throw new an(i.name,{docsPath:Cm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new pn(r)})();return Ji(i.outputs,a)}var Cm,wm=o((()=>{hn(),sa(),pa(),Cm=`/docs/contract/encodeFunctionResult`}));async function Tm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=_m({abi:Lp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Tm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Em(e)}})),Sm({abi:Lp,functionName:`query`,result:[i,a]})}function Em(e){return e.name===`HttpRequestError`&&e.status?ym({abi:Lp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):ym({abi:[xa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Dm=o((()=>{Hp(),Ca(),vm(),xm(),wm()})),Om=c({ccipRequest:()=>Am,offchainLookup:()=>km,offchainLookupAbiItem:()=>Mm,offchainLookupSignature:()=>jm});async function km(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Ya({data:r,abi:[Mm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Am;try{if(!ef(a,s))throw new hm({sender:s,to:a});let{data:r}=await Pm(e,{blockNumber:t,blockTag:n,data:Fi([u,Ji([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Tm({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?No(i.signal):Po(e)?e:new pm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Am({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw No(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Go({body:c,details:a?.error?Za(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new mm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw No(t.signal);if(Po(e))throw e;i=new Go({body:c,details:e.message,url:o})}}throw i}var jm,Mm,Nm=o((()=>{Gm(),gm(),Yo(),Lo(),Xa(),sa(),tf(),Ri(),Rt(),Dm(),Qa(),jm=`0x556f1830`,Mm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function Pm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:T,...ee}=t,te=n?N(n):void 0;if(f&&(m||h))throw new O(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new O(\"Cannot provide both `code` & `to` as parameters.\");let ne=f&&p,re=m&&h&&C&&p,ie=ne||re,ae=ne?Bm({code:f,data:p}):re?Vm({data:p,factory:m,factoryData:h,to:C}):p;try{md(t);let n=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Pp(d):void 0,p=ud(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||rd)({...$u(ee,{format:m}),accessList:l,account:te,authorizationList:r,blobs:u,data:ae,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ie?void 0:C,value:w},`call`);if(i&&Fm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Rm(e,{blockNumber:o,deployless:t});if(!n||!zm(p,n))return await Lm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Qp)&&!(e instanceof Yp))throw e}let ne=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:ne},S);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(S?.signal?.aborted)throw No(S.signal);if(Po(n))throw n;let r=Hm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Nm(),Om));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ie&&r?.slice(0,10)===`0x101bb98d`?new Ho({factory:m}):om(n,{...t,account:te,chain:e.chain})}}function Fm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Im(e){if(!e)return`default`;let t=Wm.get(e);if(t!==void 0)return t;let n=Um++;return Wm.set(e,n),n}async function Lm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Rm(e,{blockNumber:o,deployless:r}):u,h=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=um({id:`${e.uid}.${g}.${Im(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=va({abi:Ip,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Bm({code:qp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return lf({abi:Ip,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Uo({data:y});return y===`0x`?{data:void 0}:{data:y}}function Rm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return im({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Qp}function zm(e,t){return e?Object.keys(e).some(e=>ef(e,t)):!1}function Bm(e){let{code:t,data:n}=e;return tm({abi:jt([`constructor(bytes, bytes)`]),bytecode:Wp,args:[t,n]})}function Vm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return tm({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:Gp,args:[i,t,n,r]})}function Hm(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Um,Wm,Gm=o((()=>{Nt(),Fp(),ma(),Hp(),Up(),Jp(),k(),em(),Wo(),Lo(),df(),rm(),ya(),tf(),Ad(),am(),sm(),ed(),sd(),fm(),dd(),hd(),Um=0,Wm=new WeakMap}));df(),ya(),Gm();async function Km(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=va({abi:n,args:i,functionName:a});try{let{data:t}=await E(e,Pm,`call`)({...o,data:s,to:r});return lf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ma(),df(),ya(),Gm();async function qm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?N(s.account):e.account,l=va({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Pm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:lf({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Jm=new Map,Ym=new Map,Xm=0;function Zm(e,t,n){let r=++Xm,i=()=>Jm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Jm.delete(e),Ym.delete(e);return}Jm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Ym.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Jm.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Ym.set(e,l),o}Lo();async function Qm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(No(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(No(t))};t?.addEventListener(`abort`,o,{once:!0})})}function $m(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Qm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Qm(r),s())};s()})(),a}let eh=new Map,th=new Map;function nh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,eh),r=t(e,th);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function rh(e,{cacheKey:t,cacheTime:n=1/0}){let r=nh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let ih=e=>`blockNumber.${e}`;async function ah(e,{cacheTime:t=e.cacheTime}={}){let n=await rh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ih(e.uid),cacheTime:t});return BigInt(n)}k();var oh=class extends O{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},sh=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};em();function ch({chain:e,currentChainId:t}){if(!e)throw new Zp;if(t!==e.id)throw new Xp({chain:e,currentChainId:t})}async function lh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ma(),k(),Ri(),ed(),sd(),Ei(),hd();let uh=new Ti(128);async function dh(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new oh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?N(n):null,b;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await E(e,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||rd)({...$u(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=uh.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(uh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(uh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:E(e,Kd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await E(e,Zd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Jd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await E(e,lh,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof sh?e:(b&&y?.nonceManager?.reset(b),Gd(e,{...t,account:y,chain:t.chain||void 0}))}}ma(),ya();async function B(e,t){return B.internal(e,dh,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new oh({docsPath:`/docs/contract/writeContract`});let u=a?N(a):null,d=va({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ds(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(B||={}),k();var fh=class extends O{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Lo();function ph(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(No(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Qm(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(No(i));return}if(Po(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Rn(),nd();let mh={\"0x0\":`reverted`,\"0x1\":`success`};function hh(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>nf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Ln(e.transactionIndex):null,status:e.status?mh[e.status]:null,type:e.type?bd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let gh=td(`transactionReceipt`,hh);ma(),k(),Es(),ya(),Ri(),Rn(),M();let _h=j(0,{size:32});async function vh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?N(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?va({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Fi([n,t.dataSuffix]):n,to:t.to,value:t.value?j(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:j(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new _s(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Cs(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await dh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?A(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Fi([...t.map(e=>e.status===`fulfilled`?e.value:_h),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Gd(n,{...t,account:l,chain:t.chain})}}Wi(),Pn(),Rn();async function yh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Nn(Ui(t,-64,-32)),r=Ui(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>_h.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Ln(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Ln(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:mh[e.status]}))??[],statusCode:l,status:c,version:o}}k(),lm(),Qa();async function bh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Za([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=cm(),p,m=Zm(l,{resolve:d,reject:f},t=>{let s=$m(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await ph(async()=>{let t=await E(e,yh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new fh(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 xh({id:n}))},s):void 0,await u}var xh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Sh=256,Ch;function wh(e=11){if(!Ch||Sh+e>256*2){Ch=``,Sh=0;for(let e=0;e<256;e++)Ch+=(256+Math.random()*256|0).toString(16).substring(1)}return Ch.substring(Sh,Sh+++e)}ma();function Th(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?N(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:wh(),...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];Eh(i)&&Eh(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Eh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Dh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Ad();async function Oh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}pd(),wi(),k(),em(),Yu(),Pi(),Bt(),Wi(),Rn();function kh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!ji(n))throw new Ci({address:n});if(t<0)throw new $p({chainId:t})}jh(e)}function Ah(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new zd;for(let e of t){let t=zt(e),n=Ln(zi(e,0,1));if(t!==32)throw new Bd({hash:e,size:t});if(n!==1)throw new Vd({hash:e,version:n})}}jh(e)}function jh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new $p({chainId:t});if(i&&!ji(i))throw new Ci({address:i});if(r&&r>fd)throw new Ru({maxFeePerGas:r});if(n&&r&&n>r)throw new qu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new $p({chainId:t});if(a&&!ji(a))throw new Ci({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}function Nh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!ji(a))throw new Ci({address:a});if(t!==void 0&&t<=0)throw new $p({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}wi(),Mo(),Pi();function Ph(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Eo({storageKey:i[e]});if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push([r,i])}return t}Mo(),Ri(),Pn(),M();function Fh(e,t){let n=Wd(e);return n===`eip1559`?Rh(e,t):n===`eip2930`?zh(e,t):n===`eip4844`?Lh(e,t):n===`eip7702`?Ih(e,t):Bh(e,t)}function Ih(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;kh(e);let f=Ph(u),p=Hh(n);return Li([`0x04`,ku([j(r),a?j(a):`0x`,l?j(l):`0x`,c?j(c):`0x`,i?j(i):`0x`,o??`0x`,s?j(s):`0x`,d??`0x`,f,p,...Vh(e,t)])])}function Lh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ah(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Vn(e)),n=e.kzg,r=Md({blobs:t,kzg:n});f===void 0&&(f=Ld({commitments:r})),p===void 0&&(p=Ud({blobs:t,commitments:r,proofs:Nd({blobs:t,commitments:r,kzg:n})}))}let m=Ph(u),h=[j(n),i?j(i):`0x`,l?j(l):`0x`,c?j(c):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,d??`0x`,m,s?j(s):`0x`,f??[],...Vh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Li([`0x03`,ku(p?[h,g,_,v]:h)])}function Rh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;jh(e);let d=Ph(l);return Li([`0x02`,ku([j(n),i?j(i):`0x`,c?j(c):`0x`,s?j(s):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,u??`0x`,d,...Vh(e,t)])])}function zh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Mh(e);let u=Ph(c);return Li([`0x01`,ku([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...Vh(e,t)])])}function Bh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Nh(e);let l=[a?j(a):`0x`,c?j(c):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new xo({v:t.v});return e})(),r=Nn(t.r),i=Nn(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return ku(l)}function Vh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Nn(n.r),o=Nn(n.s);return[typeof i==`number`?i?j(1):`0x`:r===0n?`0x`:r===1n?j(1):r===27n?`0x`:j(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}M();function Hh(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`,...Vh({},i)])}return t}Ai(),tf();async function Uh({address:e,authorization:t,signature:n}){return ef(Oi(e),await Fu({authorization:t,signature:n}))}Ei();let Wh=new Ti(8192);function Gh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Wh.get(n))return Wh.get(n);let r=e().finally(()=>Wh.delete(n));return Wh.set(n,r),r}k(),Yo(),Es(),Lo(),Qa();function Kh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new cs(Error(`method not supported`),{method:u});if(c?.aborted)throw No(c);return Gh(()=>ph(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw No(c);if(Po(e))throw e;let t=e;switch(t.code){case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t,{method:n.method});case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t,{method:n.method});case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case Cs.code:throw new Cs(t);case 5e3:throw new ds(t);case ws.code:throw new ws(t);default:throw e instanceof O?e:new Ts(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Go){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>qh(e)}),{enabled:i,id:i?Jh(`${l}.${Za(n)}`):void 0})}}function qh(e){return Po(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ls.code||e.code===rs.code||e.code===429:e instanceof Go&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Jh(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 Yh(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 Xh(){return{}}k(),Mn(),Aa(),$n(),M();let Zh=1024;function Qh(e,t=`hex`){let n=Oa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dn(e);return Jn(e)}return e})(),{recursiveReadLimit:1/0}),r=$h(n,t);if(n.position<n.bytes.length)throw new An({count:n.bytes.length-n.position});return r}function $h(e,t=`hex`,n=0){if(n>=Zh)throw new On({limit:Zh});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=eg(e,r,128),i=e.readBytes(n);return t===`hex`?Vn(i):i}return tg(e,eg(e,r,192),t,n+1)}function eg(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new O(`Invalid RLP prefix`)}function tg(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push($h(e,n,r));if(e.position-i!==t)throw new kn({consumed:e.position-i,declared:t});return a}Rt(),Bt();function ng(e){return D(e)&&zt(e)===32}Lo();function rg(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Po(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function ig(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let ag=ig();Yo(),Lo(),Qa();function og(e,t={}){let{url:n,headers:r}=cg(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 rg(async({signal:e})=>{let t={...u,body:Za(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??ag.take(),...e})):{jsonrpc:`2.0`,id:i.id??ag.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Jo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await sg(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Go({body:i,details:Za(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?No(p):Po(e)||e instanceof Go||e instanceof Ko||e instanceof Jo?e:new Go({body:i,cause:e,url:n})}}}}async function sg(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Ko({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Ko({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Ko({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function cg(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Ri(),Bt(),M();function lg(e){let t=typeof e==`string`?Hn(e):typeof e.raw==`string`?e.raw:Vn(e.raw);return Fi([Hn(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}di();function ug(e,t){return ui(lg(e),t)}Qa(),k();var dg=class extends O{constructor({domain:e}){super(`Invalid domain \"${Za(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},fg=class extends O{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},pg=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};hn(),wi(),Pi(),Bt(),M(),qi(),Qa();function mg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return Za({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function hg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(Ki);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;j(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!ji(o))throw new Ci({address:o});let c=r.match(Gi);if(c){let[e,t]=c;if(t&&zt(o)!==Number.parseInt(t,10))throw new cn({expectedSize:Number.parseInt(t,10),givenSize:zt(o)})}let l=i[r];l&&(_g(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new dg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new fg({primaryType:r,types:i})}function gg({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 _g(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new pg({type:e})}sa(),Ri(),M(),di();function vg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:gg({domain:t}),...e.types};hg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(yg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(bg({data:n,primaryType:r,types:i})),ui(Fi(a))}function yg({domain:e,types:t}){return bg({data:e,primaryType:`EIP712Domain`,types:t})}function bg({data:e,primaryType:t,types:n}){return ui(xg({data:e,primaryType:t,types:n}))}function xg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Sg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Tg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Ji(r,i)}function Sg({primaryType:e,types:t}){return ui(zn(Cg({primaryType:e,types:t})))}function Cg({primaryType:e,types:t}){let n=``,r=wg({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 wg({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])wg({primaryType:e.type,types:t},n);return n}function Tg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},ui(xg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},ui(r)];if(n===`string`)return[{type:`bytes32`},ui(zn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Tg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},ui(Ji(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Eg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.2.4`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Dg(e,t){return e.exec(t)?.groups}let Og=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,kg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ag=/^\\(.+?\\).*?$/,jg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Mg(e){let t=e.type;if(jg.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Mg(i),r<n-1&&(t+=`, `)}let r=Dg(jg,e.type);return t+=`)${r?.array||``}`,Mg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Ng(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Mg(i),r!==n-1&&(t+=`, `)}return t}function Pg(e){return e.type===`function`?`function ${e.name}(${Ng(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Ng(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Ng(e.inputs)})`:e.type===`error`?`error ${e.name}(${Ng(e.inputs)})`:e.type===`constructor`?`constructor(${Ng(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Fg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Ig(e){return Fg.test(e)}function Lg(e){return Dg(Fg,e)}let Rg=new Set([`memory`,`indexed`,`storage`,`calldata`]),zg=new Set([`calldata`,`memory`,`storage`]);var Bg=class extends Eg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Vg=class extends Eg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Hg=class extends Eg{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Ug=class extends Eg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Wg=class extends Eg{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Gg=class extends Eg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Kg=class extends Eg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},qg=class extends Eg{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Jg=class extends Eg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Yg=class extends Eg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Xg=class extends Eg{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},Zg=class extends Eg{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function Qg(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 $g=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}]]),e_=/^(?<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$_]*))?$/,t_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,n_=/^u?int$/;function r_(e,t){let n=Qg(e,t?.type,t?.structs);if($g.has(n))return $g.get(n);let r=Ag.test(e),i=Dg(r?t_:e_,e);if(!i)throw new Ug({param:e});if(i.name&&s_(i.name))throw new Wg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=i_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(r_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(n_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!a_(c))throw new Vg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Gg({param:e,type:t?.type,modifier:i.modifier});if(zg.has(i.modifier)&&!c_(c,!!i.array))throw new Kg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return $g.set(n,u),u}function i_(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?i_(o,[...t,n.trim()]):i_(o,t,`${n}${i}`,r);case`(`:return i_(o,t,`${n}${i}`,r+1);case`)`:return i_(o,t,`${n}${i}`,r-1);default:return i_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Zg({current:n,depth:r});return t.push(n.trim()),t}function a_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Og.test(e)||kg.test(e)}let o_=/^(?: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 s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Og.test(e)||kg.test(e)||o_.test(e)}function c_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function l_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Ig(n))continue;let i=Lg(n);if(!i)throw new Jg({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=r_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Yg({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]=d_(a,t)}return r}let u_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function d_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Ag.test(i.type))r.push(i);else{let e=Dg(u_,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 Xg({type:o});r.push({...i,type:`tuple${a??``}`,components:d_(t[o],t,new Set([...n,o]))})}else if(a_(o))r.push(i);else throw new Bg({type:o})}}return r}function f_(e){let t=[];if(typeof e==`string`){let n=i_(e),r=n.length;for(let e=0;e<r;e++)t.push(r_(n[e],{modifiers:Rg}))}else{let n=l_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Ig(r))continue;let a=i_(r),o=a.length;for(let e=0;e<o;e++)t.push(r_(a[e],{modifiers:Rg,structs:n}))}}if(t.length===0)throw new Hg({params:e});return t}let p_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;$s(),li(),cp(),z();function m_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=ci(zf(e));return n===`Bytes`?r:fp(r)}function h_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Qs(Pd,zf(e),zf(t));return r===`Bytes`?i:fp(i)}function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Pd(zf(e));return n===`Bytes`?r:fp(r)}function __(e){return Sp(e)&&_p(e)===32}cp(),_f(),z(),If();function v_(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 T_({prefix:r,cause:new D_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new T_({prefix:r,cause:new E_});return}throw new w_({publicKey:e})}function y_(e){let t=(()=>{if(Sp(e))return x_(e);if(ep(e))return b_(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 v_(t),t}function b_(e){return x_(fp(e))}function x_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new O_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function S_(e,t={}){return Vf(C_(e,t))}function C_(e,t={}){v_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return F(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var w_=class extends P{constructor({publicKey:e}){super(`Value \\`${Pf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},T_=class extends P{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},E_=class extends P{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},D_=class extends P{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},O_=class extends P{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};cp(),_f();let k_=/^0x[a-fA-F0-9]{40}$/;function A_(e,t={}){let{strict:n=!0}=t;if(!k_.test(e))throw new I_({address:e,cause:new L_});if(n){if(e.toLowerCase()===e)return;if(j_(e)!==e)throw new I_({address:e,cause:new R_})}}function j_(e){if(p_.has(e))return p_.get(e);A_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=m_(Hf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return p_.set(e,i),i}function M_(e,t={}){let{checksum:n=!1}=t;return A_(e),n?j_(e):e}function N_(e,t={}){return M_(`0x${m_(`0x${C_(e).slice(4)}`).substring(26)}`,t)}function P_(e,t){return A_(e,{strict:!1}),A_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function F_(e,t={}){let{strict:n=!0}=t??{};try{return A_(e,{strict:n}),!0}catch{return!1}}var I_=class extends P{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},L_=class extends P{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},R_=class extends P{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let z_=/^(.*)\\[([0-9]*)\\]$/,B_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,V_=/^(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 H_=2n**256n-1n;cp(),_f(),z();function U_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=sv(t.type);if(a){let[n,o]=a;return G_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Y_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return W_(e,{checksum:r});if(t.type===`bool`)return K_(e);if(t.type.startsWith(`bytes`))return q_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return J_(e,t);if(t.type===`string`)return X_(e,{staticPosition:i});throw new wv(t.type)}function W_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?j_(e):e)(fp(qf(e.readBytes(32),-20))),32]}function G_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Xf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Xf(e.readBytes(32)),s=cv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=U_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(cv(t)){let n=a+Xf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=U_(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]=U_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function K_(e){return[Yf(e.readBytes(32),{size:32}),32]}function q_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Xf(e.readBytes(32));e.setPosition(n+t);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[fp(i),32]}return[fp(e.readBytes(Number.parseInt(i,10),32)),32]}function J_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Jf(i,{signed:n}):Xf(i,{signed:n}),32]}function Y_(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(cv(t)){let n=i+Xf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=U_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=U_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function X_(e,{staticPosition:t}){let n=t+Xf(e.readBytes(32));e.setPosition(n);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Zf(Qf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Z_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Q_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Q_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=sv(r.type);if(i){let[t,a]=i;return tv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return ov(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return ev(n,{checksum:e});if(r.type===`bool`)return rv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=V_.exec(r.type)??[];return iv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return nv(n,{type:r.type});if(r.type===`string`)return av(n);throw new wv(r.type)}function $_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=_p(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=_p(s)):n.push(s)}return F(...n,...r)}function ev(e,t){let{checksum:n=!1}=t;return A_(e,{strict:n}),{dynamic:!1,encoded:mp(e.toLowerCase())}}function tv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Cv(e);if(!a&&e.length!==r)throw new bv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=Q_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=$_(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?F(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:F(...s.map(({encoded:e})=>e))}}function nv(e,{type:t}){let[,n]=t.split(`bytes`),r=_p(e);if(!n){let t=e;return r%32!=0&&(t=hp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(mp(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new xv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:hp(e)}}function rv(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:mp(dp(e))}}function iv(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Tp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function av(e){let t=pp(e),n=Math.ceil(_p(t)/32),r=[];for(let e=0;e<n;e++)r.push(hp(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(hp(I(_p(t),{size:32})),...r)}}function ov(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=Q_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?$_(a):F(...a.map(({encoded:e})=>e))}}function sv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function cv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(cv);let n=sv(e.type);return!!(n&&cv({...e,type:n[1]}))}_f();let lv={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 pv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new fv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new dv({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 dv({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 uv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(lv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var dv=class extends P{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},fv=class extends P{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},pv=class extends P{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};cp(),_f(),z();function mv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Vf(t):t,o=uv(a);if(Kf(a)===0&&e.length>0)throw new yv;if(Kf(a)&&Kf(a)<32)throw new vv({data:typeof t==`string`?t:fp(t),parameters:e,size:Kf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];o.setPosition(s);let[a,l]=U_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function hv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Sv({expectedLength:e.length,givenLength:t.length});let i=$_(Z_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function gv(e,t){if(e.length!==t.length)throw new Sv({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(gv.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return A_(e),mp(e.toLowerCase(),r?32:0)}if(e===`string`)return pp(n);if(e===`bytes`)return n;if(e===`bool`)return mp(dp(n),r?32:1);let i=e.match(V_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(B_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new xv({expectedSize:Number.parseInt(t,10),value:n});return hp(n,r?32:0)}let o=e.match(z_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:F(...i)}throw new wv(e)}e.encode=t})(gv||={});function _v(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?f_(e):e}var vv=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ng(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},yv=class extends P{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},bv=class extends P{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},xv=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${_p(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Sv=class extends P{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Cv=class extends P{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},wv=class extends P{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};cp(),_f(),z();function Tv(e){return Ev(e,`Hex`)}function Ev(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Dv(uv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Op(e);return Vf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Dv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?fp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Ov(e,n,128),i=e.readBytes(r);return t===`Hex`?fp(i):i}return kv(e,Ov(e,n,192),t)}function Ov(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new P(`Invalid RLP prefix`)}function kv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Dv(e,n));return i}function Av(e,t){let{as:n}=t,r=Mv(e),i=uv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}function jv(e,t={}){let{as:n=`Hex`}=t;return Av(e,{as:n})}function Mv(e){return Array.isArray(e)?Nv(e.map(e=>Mv(e))):Pv(e)}function Nv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Fv(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 Pv(e){let t=typeof e==`string`?Vf(e):e,n=Fv(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 Fv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new P(`Length is too large.`)}_f(),z(),If();function Iv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Xv({signature:e});if(e.r<0n||e.r>H_)throw new Zv({value:e.r});if(e.s<0n||e.s>H_)throw new Qv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new $v({value:e.yParity})}function Lv(e){return Rv(fp(e))}function Rv(e){if(e.length!==130&&e.length!==132)throw new Yv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return qv(t)}catch{throw new $v({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function zv(e){if(e.r!==void 0&&e.s!==void 0)return Bv(e)}function Bv(e){let t=typeof e==`string`?Rv(e):e instanceof Uint8Array?Lv(e):typeof e.r==`string`?Hv(e):e.v?Vv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Iv(t),t}function Vv(e){return{r:e.r,s:e.s,yParity:qv(e.v)}}function Hv(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 $v({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Uv(e){let[t,n,r]=e;return Bv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Wv(e){Iv(e);let t=e.r,n=e.s;return F(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Jv(e.yParity),{size:1}):`0x`)}function Gv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Kv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:vp(I(t)),n===0n?`0x`:vp(I(n))]}function 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 ey({value:e})}function Jv(e){if(e===0)return 27;if(e===1)return 28;throw new $v({value:e})}var Yv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Xv=class extends P{constructor({signature:e}){super(`Signature \\`${Pf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Zv=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Qv=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},$v=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ey=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};z();function ty(e,t={}){return typeof e.chainId==`string`?ny(e):{...e,...t.signature}}function ny(e){let{address:t,chainId:n,nonce:r}=e,i=zv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ry(e){return e.map(ny)}function iy(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...Gv(i)}}function ay(e){return e.map(iy)}Tu(),cp(),z();function oy(e){let{privateKey:t}=e;return y_(uu.ProjectivePoint.fromPrivateKey(up(t).slice(2)))}function sy(e){return N_(cy(e))}function cy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return y_(new uu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(up(t).substring(2)))}function ly(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=uu.sign(zf(r),zf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function uy(e){let{hash:t,payload:n}=e;return e.address?P_(e.address,sy({payload:n,signature:e.signature})):uu.verify(e.signature,zf(n),S_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}_f(),z();let dy=_v(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function fy(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new hy(e)}else Iv(e.authorization)}function py(e){fy(e);let t=bp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=mv(dy,n);return{authorization:ty({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 my(e){try{return fy(e),!0}catch{return!1}}var hy=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};Mo(),Wi(),Rn();function gy(e){let t=Ui(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Ln(t)>=192)return`legacy`;throw new wo({serializedType:t})}wi(),Mo(),Pi(),Rt(),Cn(),Pn(),Rn();function _y(e){let t=gy(e);return t===`eip1559`?by(e):t===`eip2930`?xy(e):t===`eip4844`?yy(e):t===`eip7702`?vy(e):Sy(e)}function vy(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Ln(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=A(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(h.value=A(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(h.accessList=wy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ty(d)),kh(h),{...t.length===13?Ey(t):void 0,...h}}function yy(e){let t=Cy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new To({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Ln(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=A(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Ln(o)),D(d)&&d!==`0x`&&(S.value=A(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=A(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=A(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=A(s)),p.length!==0&&p!==`0x`&&(S.accessList=wy(p)),y&&b&&x&&(S.sidecars=Ud({blobs:y,commitments:b,proofs:x})),Ah(S),{...r.length===14?Ey(r):void 0,...S}}function by(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Ln(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=A(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(m.value=A(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(m.accessList=wy(u)),jh(m),{...t.length===12?Ey(t):void 0,...m}}function xy(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new To({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Ln(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=A(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Ln(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=wy(l)),Mh(p),{...t.length===11?Ey(t):void 0,...p}}function Sy(e){let t=Qh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new To({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(D(a)&&a!==`0x`&&(d.to=a),D(i)&&i!==`0x`&&(d.gas=A(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Ln(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),Nh(d),t.length===6)return d;let f=D(c)&&c!==`0x`?A(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new xo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Cy(e){return Qh(`0x${e.slice(4)}`,`hex`)}function wy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push({address:r,storageKeys:i.map(e=>ng(e)?e:Nn(e))})}return t}function Ty(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),...Ey([o,s,c])})}return t}function Ey(e){let t=e.slice(-3),n=t[0]===`0x`?0n:A(t[0]);if(n!==0n&&n!==1n)throw new So({yParity:n});let r=n===0n?27n:28n;return{r:xn(t[1],{size:32}),s:xn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}lo();function Dy(e,t){return to(e,t)}lo();function Oy(e,t){return io(e,t)}Mo(),M();async function ky(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:j(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,j(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,j(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,j(s)]},{dedupe:!0})),!u)throw new Oo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||xd)(u,`getTransaction`)}Mo();async function Ay(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new ko({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||hh)(n,`getTransactionReceipt`)}Hp(),Jp(),hn(),k(),Wo(),df(),ya(),am(),fm(),Qa();async function jy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return im({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=va({abi:t,args:a,functionName:o});v+=(e.length-2)/2,p>0&&v>p&&g[_].length>0&&(_++,v=(e.length-2)/2,g[_]=[]),g[_]=[...g[_],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Ds(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?My(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):E(e,Km,`readContract`)({...h===null?{code:qp}:{address:h},abi:Ip,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new Jt;if(!a)throw new Uo({data:r});let e=lf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ds(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;S.push({error:t,result:void 0,status:`failure`})}}}if(S.length!==d.length)throw new O(`multicall results mismatch`);return S}async function My(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=um({id:Za([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>E(e,Km,`readContract`)({...i===null?{code:qp}:{address:i},...a,abi:Ip,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}_f();function Ny(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new P(`Unable to normalize signature.`);return i}function Py(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return F_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Py(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>Py(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Fy(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return Fy(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&F_(n[r],{strict:!1}))return o}}_f(),z();function Iy(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`?Ly(e)===L(t,0,4):e.type===`event`&&zy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Vy({name:t});if(o.length===1)return{...o[0],...i?{hash:zy(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:zy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Py(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Fy(e.inputs,s.inputs,r);if(t)throw new By({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new Vy({name:t});return{...c,...i?{hash:zy(c)}:{}}}function Ly(...e){return L(zy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})()),0,4)}function Ry(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})();return Ny(typeof t==`string`?t:Pg(t))}function zy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:m_(pp(Ry(t)))}var By=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ny(Pg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Ny(Pg(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},Vy=class extends P{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Hy(e){return Ly(e)}_f(),z();function Uy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Ky(e)}function Wy(e){let{data:t,signature:n,to:r}=e;return F(hv(_v(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Gy(e){try{return Uy(e),!0}catch{return!1}}var Ky=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Tu(),Rn(),$n();function 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 uu.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Jn(o)}Hp(),Jp(),Wo(),rm(),ya(),Ai(),tf(),Ri(),Rt(),Rn(),M(),Gm();async function Jy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return D(e)?e:typeof e==`object`&&`r`in e&&`s`in e?qy(e):Vn(e)})();try{if(s===`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}return my(c)?await Yy(e,{...t,multicallAddress:o,signature:c}):await Xy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}if(e instanceof Qy)return!1;throw e}}async function Yy(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}=py(t.signature);if(await Oh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Li([`0xef0100`,l.address]))return await Zy(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 Uh({address:n,authorization:p}))throw new Qy;let m=await E(e,Km,`readContract`)({...s?{address:s}:{code:qp},authorizationList:[p],abi:Ip,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:va({abi:zp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Qy}async function Xy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Gy(o)?o:Wy({data:i,signature:o,to:r}))(),u=s?{to:s,data:va({abi:Bp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:tm({abi:Bp,args:[n,a,l],bytecode:Kp}),...c},{data:d}=await E(e,Pm,`call`)(u).catch(e=>{throw e instanceof Ro?new Qy:e});if(In(d??`0x0`))return!0;throw new Qy}async function Zy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,Km,`readContract`)({address:n,abi:zp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof zo?new Qy:e})).startsWith(`0x1626ba7e`))return!0;throw new Qy}var Qy=class extends Error{};Rn(),Qa();function $y(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?!(e.transport.type===`webSocket`||e.transport.type===`ipc`||e.transport.type===`fallback`&&(e.transport.transports[0].config.type===`webSocket`||e.transport.transports[0].config.type===`ipc`)):a,c;return s?Zm(Za([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>$m(async()=>{try{let t=await E(e,ah,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Zm(Za([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=A(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Mo(),lm(),Qa();async function eb(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=Za([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=cm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new jo({hash:i}))},c):void 0;return h=Zm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,Ay,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,$y,`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 ph(async()=>{d=await E(e,ky,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,Ay,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Oo||n instanceof ko){if(!d){m=!1;return}try{f=d,m=!0;let n=await ph(()=>E(e,Td,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof yd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,Ay,`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 tb(e){let{scheme:t,statement:n,...r}=e.match(nb)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(rb)?.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 nb=/^(?:(?<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)?/,rb=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.+))?/;Pi(),tf(),ya();function ib(e,t){return{amount:e,decimals:t,formatted:Dy(e,t)}}function ab(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Oy(e.formatted,ob(n))}function ob(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function sb(e,t){return typeof e==`bigint`?t:e.decimals??t}function cb(e,t){let{decimals:n,token:r}=t,i=lb(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(ji(r,{strict:!1}))return{address:r,decimals:n??fb(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 lb(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=db(n,t);if(i)return ub(i,r);if(ji(t,{strict:!1}))for(let e of n){let n=ub(e,r);if(n&&ef(n.address,t))return n}}function ub(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 db(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function fb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=ub(e,r);if(n&&ef(n.address,t))return n.decimals}}function pb(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 mb(e){return{...e,data:va(e),to:e.address}}Hp();async function hb(e,t){return hb.inner(B,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 mb(gb(e,t))}e.call=n;async function r(t,n){return $d(t,{...pb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...pb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(hb||={});function gb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=cb(e,{token:i});return{abi:Vp,address:a,args:[r,ab(n,o)],functionName:`approve`}}Mo();async function _b(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||hh)(i);if(a.status===`reverted`&&n)throw new Ao({receipt:a});return a}ma(),k(),Mo(),Ri(),ed(),sd(),Ei(),hd();let vb=new Ti(128);async function yb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new oh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?N(n):null,C;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await E(e,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||rd)({...$u(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=vb.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=>(vb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(vb.set(e.uid,!1),n):r});throw n}})(),ne=await E(e,eb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new Ao({receipt:ne});return ne}if(S?.type===`local`){if(S.nonceManager&&h===void 0){let t=b.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:E(e,Kd,`getChainId`)({}))();C={address:S.address,chainId:n}}let r=await E(e,Zd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:S.nonceManager,parameters:[...Jd,`sidecars`],type:v,value:y,...b,to:n}),g=i?.serializers?.transaction,x=await S.signTransaction(r,{serializer:g});return await E(e,_b,`sendRawTransactionSync`)({serializedTransaction:x,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof sh?e:(C&&!(e instanceof Ao)&&S?.nonceManager?.reset(C),Gd(e,{...t,account:S,chain:t.chain||void 0}))}}async function bb(e,t){return B.internal(e,yb,`sendTransactionSync`,t)}async function xb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=cb(e,{token:r}),o=sb(n,a),s=await hb.inner(bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=hb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Dy(c.value,o)},receipt:s}}Hp();async function Sb(e,t){return Sb.inner(B,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 mb(Cb(e,t))}e.call=n;async function r(t,n){return $d(t,{...pb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...pb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Sb||={});function Cb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=cb(e,{token:a}),c=ab(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 wb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=cb(e,{token:r}),o=sb(n,a),s=await Sb.inner(bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Sb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Dy(c.value,o)},receipt:s}}M();async function Tb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:j(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}rm();function Eb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=tm({abi:n,args:r,bytecode:i});return dh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Ai();async function Db(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Di(e))}ma(),M();async function Ob(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?N(n):void 0,a=r?[i?.address,[j(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function kb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ma(),tf();async function Ab(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=N(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:N(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await E(e,Kd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,jd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&ef(o.address,a.address))&&(s.nonce+=1)),s}Ai();async function jb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Oi(e))}async function Mb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Nb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,vh,`sendCalls`)(t);return await E(e,bh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Pb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ma();async function Fb(e,t){let{account:n=e.account}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/signAuthorization`});let r=N(n);if(!r.signAuthorization)throw new sh({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Ab(e,t);return r.signAuthorization(i)}ma(),M();async function Ib(e,{account:t=e.account,message:n}){if(!t)throw new oh({docsPath:`/docs/actions/wallet/signMessage`});let r=N(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Hn(n):n.raw instanceof Uint8Array?zn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ma(),M(),sd(),hd();async function Lb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTransaction`});let a=N(n);md({account:a,...t});let o=await E(e,Kd,`getChainId`)({});r!==null&&ch({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||rd;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:j(o),from:a.address}]},{retryCount:0})}ma();async function Rb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTypedData`});let o=N(n),s={EIP712Domain:gg({domain:r}),...t.types};if(hg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=mg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}M();async function zb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:j(t)}]},{retryCount:0})}async function Bb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Vb(e){return{addChain:t=>Tb(e,t),deployContract:t=>Eb(e,t),fillTransaction:t=>qd(e,t),getAddresses:()=>Db(e),getCallsStatus:t=>yh(e,t),getCapabilities:t=>Ob(e,t),getChainId:()=>Kd(e),getPermissions:()=>kb(e),prepareAuthorization:t=>Ab(e,t),prepareTransactionRequest:t=>Zd(e,t),requestAddresses:()=>jb(e),requestPermissions:t=>Mb(e,t),sendCalls:t=>vh(e,t),sendCallsSync:t=>Nb(e,t),sendRawTransaction:t=>lh(e,t),sendRawTransactionSync:t=>_b(e,t),sendTransaction:t=>dh(e,t),sendTransactionSync:t=>yb(e,t),showCallsStatus:t=>Pb(e,t),signAuthorization:t=>Fb(e,t),signMessage:t=>Ib(e,t),signTransaction:t=>Lb(e,t),signTypedData:t=>Rb(e,t),switchChain:t=>zb(e,t),waitForCallsStatus:t=>bh(e,t),watchAsset:t=>Bb(e,t),writeContract:t=>B(e,t),writeContractSync:t=>bb(e,t),token:{approve:Dh(e,hb),approveSync:Dh(e,xb),transfer:Dh(e,Sb),transferSync:Dh(e,wb)}}}function Hb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Th({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Vb)}function Ub({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=wh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Kh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Wb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Ub({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var Gb=class extends O{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Yo(),fm();let Kb=0,qb=new WeakMap;function Jb(e){if(!e)return`default`;let t=qb.get(e);if(t!==void 0)return t;let n=Kb++;return qb.set(e,n),n}function Yb(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 Gb;let x=og(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Ub({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}.${Jb(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new qo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}_f(),z();function Xb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&A_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>__(e)?e:vp(e))})}return t}function Zb(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(_p(r[e])!==32)throw new Qb({storageKey:r[e]});n&&A_(n,{strict:!1}),t.push([n,r])}return t}var Qb=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${_p(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};cp();let $b=new TextEncoder,ex=new TextDecoder,tx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),nx={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function rx(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]=tx[r>>18],i[t+1]=tx[r>>12&63],i[t+2]=tx[r>>6&63],i[t+3]=tx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=ex.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ix(e,t={}){return rx(Vf(e),t)}function ax(e,t={}){return rx(Hf(e),t)}function ox(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);$b.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(nx[r[e]]<<18)+(nx[r[e+1]]<<12)+(nx[r[e+2]]<<6)+nx[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 sx(e){return Zf(ox(e))}let cx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},lx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ux(e,t={}){if(!e)return null;let n=zv(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=ry(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=lx[e.type]??e.type),n&&(r.v=Jv(n.yParity)),r}cp(),_f(),z();function dx(e,t={}){let{as:n=`Hex`}=t,r=Tx(e),i=uv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}var fx=class extends P{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},px=class extends P{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},mx=class extends P{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},hx=class extends P{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},gx=class extends P{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},_x=class extends P{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},vx=class extends P{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},yx=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},bx=class extends P{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},xx=class extends P{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},Sx=class extends P{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},Cx=class extends P{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},wx=class extends P{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Tx(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 Tx.number(e);if(typeof e==`bigint`)throw new vx;if(typeof e==`string`)return Tx.string(e);if(Array.isArray(e))return Tx.array(e);if(e instanceof Uint8Array)return Tx.byteString(e);if(e instanceof ArrayBuffer)return Tx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Tx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Tx.map(e);if(typeof e==`object`)return Tx.object(e);throw new yx({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new bx({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new bx({number:e.toString(10)})}e.number=t;function n(e){let t=Hf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new xx({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 Sx({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new wx({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new Cx({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 Cx({size:i})}e.map=o})(Tx||={});function Ex(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Ex.readUnsignedInteger(e,r);case 1:return Ex.readNegativeInteger(e,r);case 2:return Ex.readByteString(e,r);case 3:return Ex.readTextString(e,r);case 4:return Ex.readArray(e,r);case 5:return Ex.readMap(e,r);case 6:throw new hx({tag:r});case 7:return Ex.readSimpleOrFloat(e,r);default:throw new fx({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 mx:new px({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 gx({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 gx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Zf(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new _x({value:t});return}throw new px({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}})(Ex||={}),_f();function Dx(e){let t=S_(e),n=t.slice(1,33),r=t.slice(33,65);return dx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Xs(),Ll(),rl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ox=Gc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),kx=Il({a:Ox.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Ox,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},qs),Ax=Gc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Il({a:Ax.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Ax,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ys);let jx=Gc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Il({a:jx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:jx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Js);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Mx=kx,Nx=kx;cp(),z();function Px(e){let{privateKey:t}=e;return y_(Nx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):fp(t).slice(2)))}function Fx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Nx.sign(r instanceof Uint8Array?r:Vf(r),i instanceof Uint8Array?i:Vf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Ix(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Nx.verify(i,n instanceof Uint8Array?n:Vf(n),C_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Lx=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 Rx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw zx(r.error);return r.result}function zx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Zx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Zx.code?new Zx(t):n===Vx.code?new Vx(t):n===Xx.code?new Xx(t):n===Jx.code?new Jx(t):n===Kx.code?new Kx(t):n===Yx.code?new Yx(t):n===Gx.code?new Gx(t):n===Qx.code?new Qx(t):n===Hx.code?new Hx(t):n===Ux.code?new Ux(t):n===Wx.code?new Wx(t):n===qx.code?new qx(t):new Zx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Bx=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??``}},Vx=class e extends Bx{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(Vx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Hx=class e extends Bx{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(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Ux=class e extends Bx{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Wx=class e extends Bx{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Gx=class e extends Bx{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Kx=class e extends Bx{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var qx=class e extends Bx{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(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Jx=class e extends Bx{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Yx=class e extends Bx{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(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Xx=class e extends Bx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Zx=class e extends Bx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Qx=class e extends Bx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),_f();var $x=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}},eS=class extends $x{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var tS=class extends $x{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(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var nS=class extends $x{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var rS=class extends $x{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var iS=class extends $x{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var aS=class extends $x{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(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var oS=class extends $x{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var sS=class extends $x{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var cS=class extends $x{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var lS=class extends $x{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var uS=class extends $x{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var dS=class extends $x{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var fS=class extends $x{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function pS(){let e=new Lx.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 mS(e,t={}){if(!e)throw new gS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Rx(n):n}catch(e){throw hS(e)}}}}function hS(e){let t=zx(e);if(t instanceof Zx){if(!t.data)return t;let{code:e}=t.data;if(e===rS.code)return new rS(t);if(e===iS.code)return new iS(t);if(e===eS.code)return new eS(t);if(e===tS.code)return new tS(t);if(e===nS.code)return new nS(t);if(e===aS.code)return new aS(t);if(e===dS.code)return new dS(t);if(e===fS.code)return new fS(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);if(e===sS.code)return new sS(t);if(e===oS.code)return new oS(t)}return t}var gS=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function _S(e={}){let t=e.id??0;return{prepare(e){return vS({id:t++,...e})},get id(){return t}}}function vS(e){return{...e,jsonrpc:`2.0`}}function yS(){return null}z();function bS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=ay(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=cx[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}_f();let xS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function SS(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 CS(e,t=`wei`){return SS(e,xS.gwei-xS[t])}_f();var wS=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${CS(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`})}},TS=class extends P{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},ES=class extends P{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},DS=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${CS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${CS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function OS(e){let t=Mx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function kS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(g_(pp(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=fp(new Uint8Array(16)),s=fp(t.id);return F(a,o,I(t.id.length,{size:2}),s,Dx(t.publicKey))}function AS(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:ix(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}cp(),_f(),z();function jS(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:ox(e),type:`public-key`})):[{id:ox(t),type:`public-key`}]}:{},challenge:Vf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function MS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=kS({flag:i,rpId:o,signCount:s}),u=AS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=g_(pp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function NS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:jS(n);try{let e=await t(r);if(!e)throw new PS;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=OS(o);return{id:s,metadata:{authenticatorData:fp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new PS({cause:e})}}var PS=class extends P{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function FS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Vf(s);if(u.length<37||a!==void 0&&!Uf(u.slice(0,32),g_(pp(a),{as:`Bytes`})))return!1;let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);return f.type!==`webauthn.get`||!f.challenge||fp(ox(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Ix({hash:!0,payload:Rf(u,g_(Hf(c),{as:`Bytes`})),publicKey:i,signature:o})}let IS=MS;async function LS(e){return NS(e)}function RS(e){return FS(e)}cp();async function zS(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=y_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function BS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,zf(t)),i=Bf(new Uint8Array(r)),a=Jf(qf(i,0,32)),o=Jf(qf(i,32,64));return o>Mx.CURVE.n/2n&&(o=Mx.CURVE.n-o),{r:a,s:o}}_f(),z();let VS=`0x${`00`.repeat(32)}`;function HS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&_p(t)!==32)throw new YS({reason:`salt must be 32 bytes`});if(r.length===0)throw new YS({reason:`owners cannot be empty`});if(r.length>10)throw new YS({reason:`too many owners`});if(Number(n)<1)throw new YS({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!F_(e.owner)||R(e.owner)===0n)throw new YS({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new YS({reason:`owner weight cannot be zero`});let t=R(e.owner);if(a!==void 0&&a>=t)throw new YS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new YS({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new YS({reason:`threshold exceeds total owner weight`})}function US(e){let t=[...e.owners].sort((e,t)=>R(e.owner)<R(t.owner)?-1:1),n={salt:e.salt?mp(e.salt,32):VS,threshold:e.threshold,owners:t};return HS(n),n}function WS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?mp(t,32):VS,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 GS(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:qS(e);return M_(L(m_(F(pp(`tempo:multisig:account`),t)),12,32))}function KS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:GS(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:qS(e.genesisConfig);return m_(F(pp(`tempo:multisig:signature`),up(t),n,r))}function qS(e){HS(e);let t=m_(F(pp(`tempo:multisig:config`),mp(e.salt??VS,32),I(e.threshold,{size:4}),I(e.owners.length,{size:4}),...e.owners.flatMap(e=>[e.owner,I(e.weight,{size:4})])));if(R(t)===0n)throw new YS({reason:`config ID cannot be zero`});return t}function JS(e){HS(e);let t=e.owners.map(e=>[e.owner,I(e.weight)]);return[e.salt?mp(e.salt,32):VS,I(e.threshold),t]}var YS=class extends P{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};_f(),z(),If();let XS=`0x01`,ZS=`0x02`,QS=`0x03`,$S=`0x04`,eC=`0x05`,tC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function nC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:nC({...e,signature:t.inner}):t.type===`multisig`?t.account:N_(rC(e))}function rC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return cy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return rC({payload:t,signature:n.inner});case`multisig`:throw new fC({envelope:n})}}function iC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-_p(tC)):e;if(_p(t)===65){let e=Rv(t);return Iv(e),{signature:e,type:`secp256k1`}}let n=L(t,0,1),r=L(t,1),i=_p(r);if(n===XS){if(i!==129)throw new pC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:R(L(r,64,96)),y:R(L(r,96,128))},prehash:bp(L(r,128,129))!==0,signature:{r:R(L(r,0,32)),s:R(L(r,32,64))},type:`p256`}}if(n===ZS){if(i<128)throw new pC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=L(r,0,e),a,o;for(let t=37;t<e;t++){let e=xp(L(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=L(n,0,t),o=e;break}catch{}}if(!a||!o)throw new pC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:R(L(r,e+64,e+96)),y:R(L(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:R(L(r,e,e+32)),s:R(L(r,e+32,e+64))},type:`webAuthn`}}if(n===QS||n===$S)return{userAddress:L(r,0,20),inner:iC(L(r,20)),type:`keychain`,version:n===$S?`v2`:`v1`};if(n===eC){let[e,t,n,i]=Tv(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>iC(e)),...i&&i!==`0x`?{init:WS(i)}:{}}}throw new pC({reason:`Unknown signature type identifier: ${n}. Expected ${XS} (P256), ${ZS} (WebAuthn), ${QS} (Keychain V1), ${$S} (Keychain V2), or ${eC} (Multisig)`,serialized:t})}function aC(e,t){if(typeof e==`string`)return iC(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{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?GS(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?qS(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>aC(e)),...s?{init:US(s)}:{},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:N_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:N_(cy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function oC(e){if(e.type===`secp256k1`)return{signature:Hv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=_p(t),r,i;for(let e=37;e<n;e++){let n=xp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new pC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:oC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`account`in e&&`configId`in e&&`signatures`in e){let t=e;return{type:`multisig`,account:t.account,genesisConfigId:t.configId,signatures:t.signatures.map(e=>iC(e)),...t.init?{init:US(t.init)}:{}}}throw new fC({envelope:e})}function sC(e){if(typeof e!=`object`||!e)throw new fC({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&&`genesisConfigId`in e||`genesisConfig`in e)&&`signatures`in e)return`multisig`;throw new fC({envelope:e})}function cC(e,t={}){let n=sC(e);if(n===`secp256k1`)return F(Wv(e.signature),t.magic?tC:`0x`);if(n===`p256`){let n=e;return F(XS,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?tC:`0x`)}if(n===`webAuthn`){let n=e,r=F(n.metadata.authenticatorData,pp(n.metadata.clientDataJSON));return F(ZS,r,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?tC:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?QS:$S,n.userAddress,cC(n.inner),t.magic?tC:`0x`)}if(n===`multisig`){let n=e;return F(eC,jv([n.account,n.genesisConfigId,n.signatures.map(e=>cC(e)),n.init?JS(n.init):`0x`]),t.magic?tC:`0x`)}throw new fC({envelope:e})}function lC(e){let{payload:t,signatures:n}=e,r=KS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:R(nC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function uC(e){let t=sC(e);if(t===`secp256k1`)return{...Gv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=F(t.metadata.authenticatorData,pp(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:uC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;return{type:`multisig`,account:t.account,configId:t.genesisConfigId,signatures:t.signatures.map(e=>cC(e)),...t.init?{init:t.init}:{}}}throw new fC({envelope:e})}function dC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return N_(t.publicKey)})();if(!r)return!1;let i=aC(e);if(i.type===`secp256k1`)return r?uy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return P_(N_(i.publicKey),r)?Ix({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return P_(N_(i.publicKey),r)?RS({challenge:up(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new mC(`Unable to verify signature envelope of type \"${i.type}\".`)}var fC=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${Pf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},pC=class extends P{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},mC=class extends P{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};_f(),z();function hC(e){return e.startsWith(`tempo`)?gC(e).address:e}function gC(e){if(!e.startsWith(`tempox`))throw new _C({address:e});let t=e.slice(6);return lp(t,{strict:!0}),{address:j_(t)}}var _C=class extends P{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};z();function vC(e,t={}){if(typeof e.chainId==`string`)return yC(e);let n={...e,address:hC(e.address)};return t.signature?{...n,signature:t.signature}:n}function yC(e){let{address:t,chainId:n,nonce:r}=e,i=oC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function bC(e){return e.map(e=>yC(e))}function xC(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=iC(i)),vC(a)}function SC(e){let t=[];for(let n of e)t.push(xC(n));return t}function CC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:uC(i)}}function wC(e){return e.map(e=>CC(e))}function TC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?cC(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function EC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(TC(n));return t}z();let DC=`0x20c0`;function OC(e){let t=hC(e);if(!t.toLowerCase().startsWith(DC))throw Error(`invalid tip20 address.`);return R(L(t,6))}function kC(e){if(typeof e==`string`){let t=hC(e);return A_(t),t}let t=I(e,{size:18});return F(DC,t)}z();let AC=_v(`address, address, address, address, bytes32, address, bytes32, address, uint256`),jC=_v(`bytes32, bytes32, bytes32, uint256, address`),MC=_v(`bytes32, bytes32, uint96`),NC=m_(pp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),PC=m_(pp(`TIP20 Channel Reserve`)),FC=m_(pp(`1`)),IC=`0x0000000000000000000000000000000000000000`,LC=`0x4d50500000000000000000000000000000000000`,RC=m_(pp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function zC(e){let{authorizedSigner:t=IC,expiringNonceHash:n,operator:r=IC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:UC(t),expiringNonceHash:n,operator:UC(r),payee:UC(i),payer:UC(a),salt:o,token:typeof s==`string`?UC(s):kC(s)}}function BC(e,t){let n=zC(e);return m_(hv(AC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,LC,BigInt(t.chainId)]))}function VC(e){return m_(hv(jC,[NC,PC,FC,BigInt(e.chainId),LC]))}function HC(e){let t=m_(hv(MC,[RC,e.channelId,e.cumulativeAmount]));return m_(F(`0x1901`,VC({chainId:e.chainId}),t))}function UC(e){return M_(e)}z();function WC(e,t={}){if(`keyId`in e)return GC(e);let n=e;n.witness!==void 0&&aw(n.witness);let r={...n,address:hC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:hC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:hC(e.address),selector:iw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>hC(e))}:{}}))}:{}};return t.signature?{...r,signature:aC(t.signature)}:r}function GC(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=oC(e.signature);s!==void 0&&aw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:rw(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&&nw(e.period)>0?{period:nw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function KC(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=ow(c)?void 0:nw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:tw(n),...r===void 0?{}:{period:nw(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,_=ow(d)?void 0:d;_!==void 0&&aw(_);let v=(()=>{if(!ow(f)){if(f!==`0x01`)throw new cw(f);return!0}})(),y=ow(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:R(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};return n&&(x.signature=iC(n)),WC(x)}function qC(e){return YC(e)}function JC(e){return KC(Tv(e))}function YC(e){let[t]=QC(e);return m_(jv(t))}function XC(e){return jv(QC(e))}function ZC(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;c!==void 0&&aw(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:iw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:hC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:ew(n)}:{}})),signature:uC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function QC(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&aw(o);let l=e.signature?cC(e.signature):void 0,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,$C(e.limit)];return e.period&&e.period>0&&t.push(ew(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([iw(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?ew(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[[$C(n),u,t,...g],...l?[l]:[]]}function $C(e){return e===0n?`0x`:I(e)}function ew(e){return e===0?`0x`:I(e)}function tw(e){return e===`0x`?0n:BigInt(e)}function nw(e){return e===`0x`?0:bp(e)}function rw(e){return typeof e==`string`?e:Array.isArray(e)?fp(new Uint8Array(e)):e}function iw(e){if(e)return e.startsWith(`0x`)?e:Ly(e)}function aw(e){if(_p(e)!==32)throw new sw(e)}function ow(e){return e===void 0||e===`0x`}var sw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${_p(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},cw=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`})}};z();let lw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function uw(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:m_(pp(lw[e]??e))}let dw={...cx,tempo:`0x76`},fw={...lx,\"0x76\":`tempo`};function pw(e,t={}){if(!e)return null;let n=ux(e);return n.type=fw[e.type],e.aaAuthorizationList&&(n.authorizationList=bC(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=oC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=GC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Hv(e.feePayerSignature),n.feePayerSignature.v=Jv(n.feePayerSignature.yParity)),n}z();function mw(e){let t=bS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=wC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?hC(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?hC(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=kC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=ZC(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return gp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=dw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}_f(),z();let hw=`tempo`;function gw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new ww;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Tw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&A_(e.to,{strict:!1});if(n<=0)throw new TS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new wS({feeCap:r});if(i&&r&&i>r)throw new DS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function _w(e){let t=Tv(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(!(t.length===13||t.length===14||t.length===15))throw new ES({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:hw});let y={chainId:Number(n),type:hw};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=Xb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=SC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||F_(p)?(y.feePayerSignature=null,F_(p)&&(y.from=p)):y.feePayerSignature=Uv(p)),_&&(y.keyAuthorization=KC(_));let b=v?iC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=nC({payload:xw(vw(y)),signature:b,root:!0})}catch{}return gw(y),y}function vw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?_w(e):e;return i.from&&=hC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:hC(e.to)}:{}})),gw(i),{...i,...r?{signature:aC(r)}:{},...n?{feePayerSignature:Bv(n)}:{},type:`tempo`}}function yw(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;gw(e);let h=Zb(n),g=t.signature||e.signature,_=EC(r),v=i.map(e=>[e.to?hC(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=aC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return N_(t.publicKey);if(t.type===`secp256k1`)return sy({payload:xw(vw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Kv(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?kC(o):`0x`,b,_,...c?[QC(c)]:[],...g?[cC(aC(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,jv(x))}function bw(e){return yw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function xw(e,t={}){let n=Sw(e,{presign:!0});return t.from?m_(F(`0x04`,n,hC(t.from))):n}function Sw(e,t={}){return m_(t.presign?bw(e):yw(e))}function Cw(e,t){let n=hC(t.sender);return m_(yw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var ww=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Tw=class extends P{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Ew=[{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`}]}],Dw=[{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:[]}],Ow=[{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:[]}],kw=[{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:[]}],Aw=[{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:[]}],jw=[{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:[]}],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:[]}],Mw=[{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:[]}],Nw=[{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`}]}],Pw=[{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:[]}],Fw=[{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:[]}],Iw=[{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:[]}],Lw=[{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`}]}],Rw=[{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:[]}],zw=[{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:[]}],Bw=[...Ew,...Dw,...Ow,...kw,...Aw,...jw,...Rw,...V,...Mw,...Nw,...Pw,...Fw,...Iw,...Lw,...zw];z();function Vw(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisig!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Wd(e)}function Hw(e){try{return Vw(e)===`tempo`}catch{return!1}}function Uw(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?Gw(e):_y(e)}async function Ww(e,t){if(!Hw(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return Fh(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return Fh(e,t)}if(Vw(e)===`tempo`)return Kw(e,t);throw Error(`Unsupported transaction type`)}function Gw(e){let{feePayerSignature:t,nonce:n,...r}=_w(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function Kw(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return aC({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=lC({payload:xw(vw(d)),signatures:e.signatures.map(e=>aC(e)),genesisConfig:e.multisig});return aC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=vw(u,{signature:f}),n=Cw(t,{sender:e.from??nC({payload:xw(t),root:!0,signature:f})});return yw(t,{feePayerSignature:Bv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?yw(d,{signature:f}):f?yw(d,{format:`feePayer`,sender:e.from,signature:f}):yw(d,{feePayerSignature:null}):yw(d,{feePayerSignature:void 0,signature:f})}z(),ma(),di();function qw(e){let{access:t}=e;return t?aT(e):iT(e)}function Jw(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Px({privateKey:e});return qw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=IS({...t,challenge:n,rpId:i,origin:a});return cC({metadata:r,signature:Fx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function Yw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Px({privateKey:e});return qw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return cC({signature:Fx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function Xw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=oy({privateKey:e});return qw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Wv(ly({payload:n,privateKey:e}))}})}function Zw(e,t={}){let{id:n}=e,r=x_(e.publicKey);return qw({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await LS({...t,challenge:e,credentialId:n});return cC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function Qw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return qw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return cC({signature:await BS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function $w(e,t){let n=eT(t);return tT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function eT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return HC({chainId:t,channelId:typeof n==`string`?n:BC(n,{chainId:t}),cumulativeAmount:r})}function tT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function nT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=oT(r),d=tT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=qC({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return WC({address:l,chainId:n,signature:aC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function rT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??N_(e.publicKey),o=C_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?ui(F(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?cC(aC({userAddress:n,inner:aC(o),type:`keychain`,version:i})):o}return{address:j_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=aC(await s({hash:Pu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:ug(t)})},async signTransaction(e,t){let{serializer:n=Ww}=t??{},r=ui(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:KS({payload:r,genesisConfig:i}),raw:!0}):await n(e,aC(await s({hash:r})))},async signTypedData(e){return await s({hash:vg(e)})},async signVoucher(e){let t=eT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function iT(e){let t=rT(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}=oT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return WC({address:l,chainId:r,signature:aC(await t.sign({hash:qC({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function aT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=N(t);return{...rT({...e,parentAddress:r}),accessKeyAddress:N_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function oT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:N_(x_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let sT=`0xaAAAaaAA00000000000000000000000000000000`,cT=`0xdec0000000000000000000000000000000000000`,lT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function uT(e,t){return lT.indexOf(e)<lT.indexOf(t)}tf(),ya();function dT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=pT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=kC(r);return{address:i,decimals:n??(e?hT(e,i):void 0)}}function fT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=pT(e,t);if(n)return n}let i=kC(t);for(let e of n){let t=mT(e,r);if(t&&ef(t.address,i))return t}}function pT(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 mT(e,r)}function mT(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 hT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=mT(e,r);if(n&&ef(n.address,t))return n.decimals}}async function gT(e,t){let{address:n,decimals:r}=dT(e,t);return r===void 0?{address:n,decimals:await Km(e,{abi:V,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function _T(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 vT(e){return e.length===2?e:[void 0,e[0]]}function H(e){return{...e,data:va(e),to:e.address}}ma();let yT={0:`secp256k1`,1:`p256`,2:`webAuthn`},bT={true:`limited`,false:`unlimited`};async function xT(e,t){return xT.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 nT(N(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=sf({abi:Ew,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(xT||={});async function ST(e,t){return ST.inner(B,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:sT,abi:Ew,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Ew,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(ST||={});async function CT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n),o=await Km(e,{...i,account:null,...CT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:yT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:bT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:sT,abi:Ew,functionName:`getKey`,args:[t,AT(n)]})}e.call=t})(CT||={});async function wT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=N(n),s=e.chain?.hardfork;if(s&&uT(s,`t3`))return{remaining:await Km(e,{...a,...wT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Km(e,{...a,...wT.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:sT,abi:Ew,functionName:`getRemainingLimit`,args:[t,AT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return H({address:sT,abi:Ew,functionName:`getRemainingLimitWithPeriod`,args:[t,AT(n),r]})}e.callWithPeriod=n})(wT||={});async function TT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...TT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:sT,abi:Ew,functionName:`isAdminKey`,args:[t,AT(n)]})}e.call=t})(TT||={});async function ET(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...ET.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return H({address:sT,abi:Ew,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(ET||={});async function DT(e,t){return DT.inner(B,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:sT,abi:Ew,functionName:`revokeKey`,args:[AT(t)]})}e.call=n;function r(e){let[t]=sf({abi:Ew,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(DT||={});async function OT(e,t){return OT.inner(B,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:sT,abi:Ew,functionName:`updateSpendingLimit`,args:[AT(t),n,r]})}e.call=n;function r(e){let[t]=sf({abi:Ew,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(OT||={});async function kT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Km(e,{...o,...kT.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:Aw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(kT||={});function AT(e){return typeof e==`string`?e:e.accessKeyAddress}z(),ma();async function jT(e,t){return jT.inner(B,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:cT,abi:jw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(jT||={});async function MT(e,t){return MT.inner(B,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:cT,abi:jw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:jw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(MT||={});async function NT(e,t){return NT.inner(B,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:cT,abi:jw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:jw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(NT||={});async function PT(e,t){return PT.inner(B,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:cT,abi:jw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:jw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(PT||={});async function FT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?N(n).address:void 0;if(!a)throw Error(`account is required.`);return Km(e,{...i,...FT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:cT,abi:jw,args:[t,n],functionName:`balanceOf`})}e.call=t})(FT||={});async function IT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Km(e,{...a,...IT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:cT,abi:jw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(IT||={});async function LT(e,t){let{orderId:n,...r}=t;return Km(e,{...r,...LT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:cT,abi:jw,args:[t],functionName:`getOrder`})}e.call=t})(LT||={});async function RT(e,t){let{base:n,quote:r,...i}=t;return Km(e,{...i,...RT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=GT(t,n);return H({address:cT,abi:jw,args:[r],functionName:`books`})}e.call=t})(RT||={});async function zT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Km(e,{...a,...zT.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:cT,abi:jw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(zT||={});async function BT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Km(e,{...a,...BT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:cT,abi:jw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(BT||={});async function VT(e,t){return VT.inner(B,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:cT,abi:jw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=sf({abi:jw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(VT||={});async function HT(e,t){return HT.inner(B,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:cT,abi:jw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=sf({abi:jw,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})(HT||={});async function UT(e,t){return UT.inner(B,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:cT,abi:jw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(UT||={});async function WT(e,t){return WT.inner(B,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:cT,abi:jw,functionName:`withdraw`,args:[t,n]})}e.call=n})(WT||={});function GT(e,t){return m_(F(e,t))}z(),ma(),ya();async function KT(e,t){return KT.inner(B,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]=vT(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=dT(t,{token:a});return H({address:o,abi:V,functionName:`approve`,args:[i,ab(r,s)]})}e.call=n;async function r(t,n){return $d(t,{..._T(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{..._T(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(KT||={});async function qT(e,t){return qT.inner(B,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]=vT(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=dT(t,{token:a});return H({address:o,abi:V,functionName:`burnBlocked`,args:[r,ab(i,s)]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(qT||={});async function JT(e,t){return JT.inner(B,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]=vT(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=dT(t,{token:a}),c=ab(r,s),l=i?{functionName:`burnWithMemo`,args:[c,mp(i,32)]}:{functionName:`burn`,args:[c]};return H({address:o,abi:V,...l})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(JT||={});async function YT(e,t){return YT.inner(B,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]=vT(e),{token:r,policyId:i}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(YT||={});async function XT(e,t){return XT.inner(B,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?N(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=vT(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=gp(32)}=n;return H({address:`0x20fc000000000000000000000000000000000000`,abi:Nw,args:typeof o==`string`?[r,i,a,dT(t,{token:s}).address,c,l,o]:[r,i,a,dT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=sf({abi:Nw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(XT||={});async function ZT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Km(e,{...o,...ZT.call(e,{account:n,spender:i,token:a})}),gT(e,{decimals:r,token:a})]);return ib(s,c)}(function(e){function t(...e){let[t,n]=vT(e);return H({address:dT(t,n).address,abi:V,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(ZT||={});async function QT(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new oh;let o=N(n).address,[s,{decimals:c}]=await Promise.all([Km(e,{...a,...QT.call(e,{account:o,token:i})}),gT(e,{decimals:r,token:i})]);return ib(s,c)}(function(e){function t(...e){let[t,n]=vT(e),r=n.account??t?.account;if(!r)throw new oh;let i=N(r).address;return H({address:dT(t,n).address,abi:V,functionName:`balanceOf`,args:[i]})}e.call=t})(QT||={});async function $T(e,t){let{token:n,...r}=t,{address:i}=dT(e,{token:n}),a=V,o=fT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return OC(i)===OC(`0x20c0000000000000000000000000000000000000`)?jy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a])=>({name:eE(r),symbol:eE(i),currency:eE(e),decimals:eE(t),logoURI:eE(n,``),totalSupply:eE(a),...s})):jy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:eE(i),symbol:eE(c),currency:eE(e),decimals:eE(t),logoURI:eE(n,``),quoteToken:eE(r),totalSupply:eE(l),paused:eE(a),supplyCap:eE(o),transferPolicyId:eE(u),...s}))}function eE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function tE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Km(e,{...i,...tE.call(e,{token:r})}),gT(e,{decimals:n,token:r})]);return ib(a,o)}(function(e){function t(...e){let[t,n]=vT(e);return H({address:dT(t,n).address,abi:V,args:[],functionName:`totalSupply`})}e.call=t})(tE||={});async function nE(e,t){return Km(e,{...t,...nE.call(e,t)})}(function(e){function t(...e){let[t,n]=vT(e),{role:r,token:i}=n;return H({address:dT(t,{token:i}).address,abi:V,functionName:`getRoleAdmin`,args:[uw(r)]})}e.call=t})(nE||={});async function rE(e,t){let{account:n=e.account}=t,r=n?N(n).address:void 0;if(!r)throw Error(`account is required.`);return Km(e,{...t,...rE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=vT(e),{account:r,role:i,token:a}=n;return H({address:dT(t,{token:a}).address,abi:V,functionName:`hasRole`,args:[r,uw(i)]})}e.call=t})(rE||={});async function iE(e,t){return iE.inner(dh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=vT(e),{token:r,to:i,role:a}=n,o=uw(a);return H({address:dT(t,{token:r}).address,abi:V,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(iE||={});async function aE(e,t){return aE.inner(B,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]=vT(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=dT(t,{token:o}),l=ab(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,mp(a,32)]}:{functionName:`mint`,args:[r,l]};return H({address:s,abi:V,...u})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(aE||={});async function oE(e,t){return oE.inner(B,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]=vT(e),{token:r}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(oE||={});async function sE(e,t){return sE.inner(dh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=vT(e),{token:r,role:i}=n,a=uw(i);return H({address:dT(t,{token:r}).address,abi:V,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=sf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(sE||={});async function cE(e,t){return cE.inner(dh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=vT(e),{token:r,from:i,role:a}=n,o=uw(a);return H({address:dT(t,{token:r}).address,abi:V,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(cE||={});async function lE(e,t){return lE.inner(B,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]=vT(e),{token:r,supplyCap:i}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(lE||={});async function uE(e,t){return uE.inner(B,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]=vT(e),{token:r,role:i,adminRole:a}=n,o=uw(i),s=uw(a);return H({address:dT(t,{token:r}).address,abi:V,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(uE||={});async function dE(e,t){return dE.inner(B,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]=vT(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=dT(t,{token:o}),l=ab(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,mp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,mp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return H({address:s,abi:V,...u})}e.call=n;async function r(t,n){return $d(t,{..._T(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{..._T(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(dE||={});async function fE(e,t){return fE.inner(B,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]=vT(e),{token:r}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(fE||={});async function pE(e,t){return pE.inner(B,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]=vT(e),{token:r,quoteToken:i}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`setNextQuoteToken`,args:[dT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(pE||={});async function mE(e,t){return mE.inner(B,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]=vT(e),{token:r}=n;return H({address:dT(t,{token:r}).address,abi:V,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(mE||={}),z(),ma(),sd();function hE(e){if(!Hw(e))return xd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=pw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:dw[a.type],type:a.type}}function gE(e){return hh(e)}function _E(e,t){let n=e,r=n.account?N(n.account):void 0;if(!Hw(n))return rd(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=mw({...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,vE(n.keyData)]:[n.keyType,vE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?N(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function vE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let yE=new Map;async function bE(e){yE.set(e,(yE.get(e)??0)+1),await Promise.resolve();let t=(yE.get(e)??0)>1;return queueMicrotask(()=>{let t=yE.get(e)??0;t<=1?yE.delete(e):yE.set(e,t-1)}),t}z(),pd(),tf(),sd(),di();function xE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}let SE={blockTime:1e3,extendSchema:Xh(),formatters:{transaction:Sd({exclude:[`aaAuthorizationList`],format:hE}),transactionReceipt:gh({format:gE}),transactionRequest:od({format:_E})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return 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=US(i);r.multisig=e,r.from=GS(e),r.multisigInit={salt:e.salt??VS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=CE(e),r.account?.source!==`multisig`&&delete r.account}if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await E(t,CT,`getMetadata`)({account:i,accessKey:a});ef(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`)return!0;if(i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await bE(e):!1})()?(r.nonceKey=fd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=xE()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>Ww(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return iC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?ui(F(`0x04`,r,n)):r,a=(()=>{try{return nC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await CT(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:dC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Oh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return dC(o,{address:n,payload:r})}}return await E(e,Jy,`verifyHash`)({...t,chain:null})}};function CE(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 wE=Yh({...SE,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`]}}}),TE=Yh({...SE,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}),EE=Yh({...SE,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}),DE=Yh({...SE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function OE(e){return e.source}function kE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Ub({key:kE.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(Uw(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:kE.type})}}Xa();let AE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — 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.`,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 jE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function ME(e){let t=e.details??e.shortMessage??e.message,n=NE(e);if(n)try{let e=Ya({abi:Bw,data:n}),r=AE[e.errorName];return{...e,data:n,message:r?jE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in AE?{errorName:`unknown`,message:AE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function NE(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 NE(t.cause);if(t.error)return NE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return NE(e)}return null}function PE(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 zS({extractable:t}),n=C_(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(!FE(n.keyPair.privateKey))throw new IE(\"`webCryptoP256` key material did not survive storage.\");return Qw(n.keyPair,r)}if(n.jwk)return Qw({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new IE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:x_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function FE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var IE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function LE(e){return e instanceof IE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let RE={p256:PE()};var zE;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 BE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},VE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(zE=globalThis).__zod_globalConfig??(zE.__zod_globalConfig={});let HE=globalThis.__zod_globalConfig;function UE(e){return e&&Object.assign(HE,e),HE}function WE(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 GE(e,t){return typeof t==`bigint`?t.toString():t}function KE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function qE(e){return e==null}function JE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let YE=Symbol(`evaluating`);function XE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==YE)return r===void 0&&(r=YE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function ZE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function QE(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let $E=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function eD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function tD(e){if(eD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(eD(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let nD=new Set([`string`,`number`,`symbol`]),rD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function iD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function aD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function oD(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 aD(e,QE(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 ZE(this,`shape`,r),r},checks:[]}))}function lD(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 uD(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function dD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function fD(e){return typeof e==`string`?e:e?.message}function pD(e,t,n){let r=e.message?e.message:fD(e.inst?._zod.def?.error?.(e))??fD(t?.error?.(e))??fD(n.customError?.(e))??fD(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 mD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function hD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let gD=(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,GE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},_D=U(`$ZodError`,gD),vD=U(`$ZodError`,gD,{Parent:Error}),yD=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 BE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>pD(e,a,UE())));throw $E(t,i?.callee),t}return o.value},bD=yD(vD),xD=(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=>pD(e,a,UE())));throw $E(t,i?.callee),t}return o.value})(vD),SD=(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 BE;return a.issues.length?{success:!1,error:new(e??_D)(a.issues.map(e=>pD(e,i,UE())))}:{success:!0,data:a.value}})(vD),CD=(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=>pD(e,i,UE())))}:{success:!0,data:a.value}})(vD),wD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return yD(e)(t,n,i)})(vD),TD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},ED=/^-?\\d+n?$/,DD=/^-?\\d+(?:\\.\\d+)?$/,OD=/^(?:true|false)$/i,kD=/^null$/i,AD=/^undefined$/i,jD=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),MD={number:`number`,bigint:`bigint`,object:`date`},ND=U(`$ZodCheckLessThan`,(e,t)=>{jD.init(e,t);let n=MD[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})}}),PD=U(`$ZodCheckGreaterThan`,(e,t)=>{jD.init(e,t);let n=MD[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})}}),FD=U(`$ZodCheckMaxLength`,(e,t)=>{var n;jD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!qE(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=mD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ID=U(`$ZodCheckMinLength`,(e,t)=>{var n;jD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!qE(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=mD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),LD=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;jD.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=()=>{})}),RD=U(`$ZodCheckRegex`,(e,t)=>{LD.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})}}),zD={major:4,minor:4,patch:3},BD=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=zD;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=lD(e),i;for(let a of t){if(a._zod.def.when){if(uD(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 BE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=lD(e,t))});else{if(e.issues.length===t)continue;r||=lD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(lD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new BE;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 BE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}XE(e,`~standard`,()=>({validate:t=>{try{let n=SD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return CD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),VD=U(`$ZodString`,(e,t)=>{BD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??TD(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}}),HD=U(`$ZodNumber`,(e,t)=>{BD.init(e,t),e._zod.pattern=e._zod.bag.pattern??DD,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}}),UD=U(`$ZodBoolean`,(e,t)=>{BD.init(e,t),e._zod.pattern=OD,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}}),WD=U(`$ZodBigInt`,(e,t)=>{BD.init(e,t),e._zod.pattern=ED,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}}),GD=U(`$ZodUndefined`,(e,t)=>{BD.init(e,t),e._zod.pattern=AD,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}}),KD=U(`$ZodNull`,(e,t)=>{BD.init(e,t),e._zod.pattern=kD,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}}),qD=U(`$ZodUnknown`,(e,t)=>{BD.init(e,t),e._zod.parse=e=>e});function JD(e,t,n){e.issues.length&&t.issues.push(...dD(n,e.issues)),t.value[n]=e.value}let YD=U(`$ZodArray`,(e,t)=>{BD.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=>JD(t,n,e))):JD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function XD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...dD(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function ZD(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 QD(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=>XD(e,n,i,t,u,d))):XD(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 $D=U(`$ZodObject`,(e,t)=>{if(BD.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=KE(()=>ZD(t));XE(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=eD,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=>XD(n,t,e,s,r,i))):XD(a,t,e,s,r,i)}return i?QD(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function eO(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=>!lD(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=>pD(e,r,UE())))}),t)}let tO=U(`$ZodUnion`,(e,t)=>{BD.init(e,t),XE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),XE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),XE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),XE(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=>JE(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=>eO(t,r,e,i)):eO(o,r,e,i)}}),nO=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,tO.init(e,t);let n=e._zod.parse;XE(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=KE(()=>{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(!eD(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)}}),rO=U(`$ZodTuple`,(e,t)=>{BD.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=iO(n,`optin`),c=iO(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=>aO(t,r,e))):aO(a,r,e)}}return o.length?Promise.all(o).then(()=>oO(l,r,n,a,c)):oO(l,r,n,a,c)}});function iO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function aO(e,t,n){e.issues.length&&t.issues.push(...dD(n,e.issues)),t.value[n]=e.value}function oO(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...dD(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let sO=U(`$ZodRecord`,(e,t)=>{BD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!tD(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=>pD(e,r,UE())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...dD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...dD(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&DD.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=>pD(e,r,UE())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...dD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...dD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),cO=U(`$ZodEnum`,(e,t)=>{BD.init(e,t);let n=WE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>nD.has(typeof e)).map(e=>typeof e==`string`?iD(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}}),lO=U(`$ZodLiteral`,(e,t)=>{if(BD.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`?iD(e):e?iD(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}}),uO=U(`$ZodTransform`,(e,t)=>{BD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new VE(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 BE;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 fO=U(`$ZodOptional`,(e,t)=>{BD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,XE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),XE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${JE(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)}}),pO=U(`$ZodNullable`,(e,t)=>{BD.init(e,t),XE(e._zod,`optin`,()=>t.innerType._zod.optin),XE(e._zod,`optout`,()=>t.innerType._zod.optout),XE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${JE(e.source)}|null)$`):void 0}),XE(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)}),mO=U(`$ZodPipe`,(e,t)=>{BD.init(e,t),XE(e._zod,`values`,()=>t.in._zod.values),XE(e._zod,`optin`,()=>t.in._zod.optin),XE(e._zod,`optout`,()=>t.out._zod.optout),XE(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=>hO(e,t.in,n)):hO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>hO(e,t.out,n)):hO(r,t.out,n)}});function hO(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 gO=U(`$ZodCodec`,(e,t)=>{BD.init(e,t),XE(e._zod,`values`,()=>t.in._zod.values),XE(e._zod,`optin`,()=>t.in._zod.optin),XE(e._zod,`optout`,()=>t.out._zod.optout),XE(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=>_O(e,t,n)):_O(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>_O(e,t,n)):_O(r,t,n)}}});function _O(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=>vO(e,r,t.out,n)):vO(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>vO(e,r,t.in,n)):vO(e,r,t.in,n)}}function vO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let yO=U(`$ZodReadonly`,(e,t)=>{BD.init(e,t),XE(e._zod,`propValues`,()=>t.innerType._zod.propValues),XE(e._zod,`values`,()=>t.innerType._zod.values),XE(e._zod,`optin`,()=>t.innerType?._zod?.optin),XE(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(bO):bO(r)}});function bO(e){return e.value=Object.freeze(e.value),e}let xO=U(`$ZodTemplateLiteral`,(e,t)=>{BD.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||rD.has(typeof e))n.push(iD(`${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)}),SO=U(`$ZodCustom`,(e,t)=>{jD.init(e,t),BD.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=>CO(t,n,r,e));CO(i,n,r,e)}});function CO(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(hD(e))}}function wO(e,t){return new e({type:`string`,...oD(t)})}function TO(e,t){return new e({type:`number`,checks:[],...oD(t)})}function EO(e,t){return new e({type:`boolean`,...oD(t)})}function DO(e,t){return new e({type:`bigint`,...oD(t)})}function OO(e,t){return new e({type:`undefined`,...oD(t)})}function kO(e,t){return new e({type:`null`,...oD(t)})}function AO(e){return new e({type:`unknown`})}function jO(e,t){return new ND({check:`less_than`,...oD(t),value:e,inclusive:!0})}function MO(e,t){return new PD({check:`greater_than`,...oD(t),value:e,inclusive:!0})}function NO(e,t){return new FD({check:`max_length`,...oD(t),maximum:e})}function PO(e,t){return new ID({check:`min_length`,...oD(t),minimum:e})}function FO(e,t){return new RD({check:`string_format`,format:`regex`,...oD(t),pattern:e})}function IO(e,t,n){let r=oD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function LO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...oD(n)})}let RO=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);BD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>bD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>SD(e,t,n),e.parseAsync=async(t,n)=>xD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>CD(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)=>aD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),zO=U(`ZodMiniString`,(e,t)=>{VD.init(e,t),RO.init(e,t)});function W(e){return wO(zO,e)}let BO=U(`ZodMiniNumber`,(e,t)=>{HD.init(e,t),RO.init(e,t)});function VO(e){return TO(BO,e)}let HO=U(`ZodMiniBoolean`,(e,t)=>{UD.init(e,t),RO.init(e,t)});function UO(e){return EO(HO,e)}let WO=U(`ZodMiniBigInt`,(e,t)=>{WD.init(e,t),RO.init(e,t)});function GO(e){return DO(WO,e)}let KO=U(`ZodMiniUndefined`,(e,t)=>{GD.init(e,t),RO.init(e,t)});function qO(e){return OO(KO,e)}let JO=U(`ZodMiniNull`,(e,t)=>{KD.init(e,t),RO.init(e,t)});function YO(e){return kO(JO,e)}let XO=U(`ZodMiniUnknown`,(e,t)=>{qD.init(e,t),RO.init(e,t)});function ZO(){return AO(XO)}let QO=U(`ZodMiniArray`,(e,t)=>{YD.init(e,t),RO.init(e,t)});function G(e,t){return new QO({type:`array`,element:e,...oD(t)})}let $O=U(`ZodMiniObject`,(e,t)=>{$D.init(e,t),RO.init(e,t),XE(e,`shape`,()=>t.shape)});function K(e,t){let n={type:`object`,shape:e??{},...oD(t)};return new $O(n)}function ek(e,t){return cD(e,t)}let tk=U(`ZodMiniUnion`,(e,t)=>{tO.init(e,t),RO.init(e,t)});function q(e,t){return new tk({type:`union`,options:e,...oD(t)})}let nk=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{nO.init(e,t),RO.init(e,t)});function rk(e,t,n){return new nk({type:`union`,options:t,discriminator:e,...oD(n)})}let ik=U(`ZodMiniTuple`,(e,t)=>{rO.init(e,t),RO.init(e,t)});function ak(e,t,n){let r=t instanceof BD;return new ik({type:`tuple`,items:e,rest:r?t:null,...oD(r?n:t)})}let ok=U(`ZodMiniRecord`,(e,t)=>{sO.init(e,t),RO.init(e,t)});function sk(e,t,n){return!t||!t._zod?new ok({type:`record`,keyType:W(),valueType:e,...oD(t)}):new ok({type:`record`,keyType:e,valueType:t,...oD(n)})}let ck=U(`ZodMiniEnum`,(e,t)=>{cO.init(e,t),RO.init(e,t),e.options=Object.values(t.entries)});function lk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ck({type:`enum`,entries:n,...oD(t)})}let uk=U(`ZodMiniLiteral`,(e,t)=>{lO.init(e,t),RO.init(e,t)});function J(e,t){return new uk({type:`literal`,values:Array.isArray(e)?e:[e],...oD(t)})}let dk=U(`ZodMiniTransform`,(e,t)=>{uO.init(e,t),RO.init(e,t)});function fk(e){return new dk({type:`transform`,transform:e})}let pk=U(`ZodMiniOptional`,(e,t)=>{fO.init(e,t),RO.init(e,t)});function Y(e){return new pk({type:`optional`,innerType:e})}let mk=U(`ZodMiniNullable`,(e,t)=>{pO.init(e,t),RO.init(e,t)});function hk(e){return new mk({type:`nullable`,innerType:e})}let gk=U(`ZodMiniPipe`,(e,t)=>{mO.init(e,t),RO.init(e,t)});function _k(e,t){return new gk({type:`pipe`,in:e,out:t})}let vk=U(`ZodMiniCodec`,(e,t)=>{gk.init(e,t),gO.init(e,t)});function yk(e,t,n){return new vk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let bk=U(`ZodMiniReadonly`,(e,t)=>{yO.init(e,t),RO.init(e,t)});function X(e){return new bk({type:`readonly`,innerType:e})}let xk=U(`ZodMiniTemplateLiteral`,(e,t)=>{xO.init(e,t),RO.init(e,t)});function Sk(e,t){return new xk({type:`template_literal`,parts:e,...oD(t)})}let Ck=U(`ZodMiniCustom`,(e,t)=>{SO.init(e,t),RO.init(e,t)});function wk(e,t){return IO(Ck,e??(()=>!0),t)}function Tk(e,t={}){return LO(Ck,e,t)}function Ek(e){return e}function Dk(e){return e}z();let Z=()=>Sk([`0x`,W().check(FO(/^[0-9a-fA-F]{40}$/))],`Expected address`),Ok=()=>yk(q([Q(),GO()]),GO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:R(e),encode:e=>I(e)}),Q=()=>Sk([`0x`,W()],`Expected hex value`),kk=()=>yk(q([Q(),VO()]),VO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:bp(e),encode:e=>I(e)});z();let Ak=K({address:Z(),blockHash:Q(),blockNumber:Ok(),data:Q(),logIndex:kk(),removed:UO(),topics:X(G(Q())),transactionHash:Q(),transactionIndex:kk()}),jk=K({blobGasPrice:Y(Ok()),blobGasUsed:Y(Ok()),blockHash:Q(),blockNumber:Ok(),contractAddress:hk(Z()),cumulativeGasUsed:Ok(),effectiveGasPrice:Ok(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:Ok(),logs:G(Ak),logsBloom:Q(),root:Y(Q()),status:yk(Q(),lk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:hk(Z()),transactionHash:Q(),transactionIndex:kk(),type:Q()}),Mk=wk(),Nk=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),Pk=yk(K({allowedCalls:Y(X(G(K({target:Z(),selectorRules:Y(X(G(K({selector:Q(),recipients:Y(X(G(Z())))}))))})))),address:Y(Z()),chainId:Ok(),expiry:q([kk(),YO(),qO()]),keyId:Z(),keyType:Nk,limits:Y(X(G(K({token:Z(),limit:Ok(),period:Y(kk())})))),signature:Mk}),wk(),{decode(e){return GC({chainId:I(e.chainId),expiry:e.expiry==null?null:I(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:I(e),...typeof t==`number`?{period:I(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=ZC(e);return{chainId:t.chainId===`0x`?0n:R(t.chainId),expiry:t.expiry==null?null:bp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:R(e),...t?{period:bp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),Fk=K({data:Y(Q()),to:Y(Z()),value:Y(Ok())}),Ik=K({accessList:Y(G(K({address:Z(),storageKeys:G(Q())}))),calls:Y(X(G(Fk))),chainId:Y(kk()),data:Y(Q()),feePayer:Y(q([UO(),W()])),feePayerSignature:Y(sk(W(),ZO())),feeToken:Y(Z()),from:Y(Z()),gas:Y(Ok()),keyAuthorization:Y(Pk),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(Nk),maxFeePerGas:Y(Ok()),maxPriorityFeePerGas:Y(Ok()),nonce:Y(kk()),nonceKey:Y(Ok()),to:Y(Z()),validAfter:Y(kk()),validBefore:Y(kk()),value:Y(Ok())});var Lk;(function(e){e.schema=Ek({method:J(`eth_accounts`),params:void 0,returns:X(G(Z()))})})(Lk||={});var Rk;(function(e){e.schema=Ek({method:J(`eth_chainId`),params:void 0,returns:Q()})})(Rk||={});var zk;(function(e){e.schema=Ek({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Z()))})})(zk||={});var Bk;(function(e){e.schema=Ek({method:J(`eth_sendTransaction`),params:X(ak([Ik])),returns:Q()})})(Bk||={});var Vk;(function(e){let t=K({address:Z(),decimals:VO(),direction:lk([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Z())),symbol:W(),value:Q()}),n=K({decimals:VO(),formatted:W(),name:W(),symbol:W(),token:Z(),value:Q()});e.schema=Ek({method:J(`eth_fillTransaction`),params:X(ak([Ik])),returns:K({capabilities:K({balanceDiffs:Y(sk(Z(),X(G(t)))),error:Y(K({abiItem:Y(sk(W(),ZO())),data:Y(Q()),errorName:W(),message:W()})),fee:Y(K({amount:Q(),decimals:VO(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:Q(),decimals:VO(),formatted:W(),token:Z(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:VO()})),sponsor:Y(K({address:Z(),name:Y(W()),url:Y(W())})),sponsored:UO()}),tx:sk(W(),ZO())})})})(Vk||={});var Hk;(function(e){e.schema=Ek({method:J(`eth_signTransaction`),params:X(ak([Ik])),returns:Q()})})(Hk||={});var Uk;(function(e){e.schema=Ek({method:J(`eth_sendTransactionSync`),params:X(ak([Ik])),returns:jk})})(Uk||={});var Wk;(function(e){e.schema=Ek({method:J(`eth_signTypedData_v4`),params:X(ak([Z(),W()])),returns:Q()})})(Wk||={});var Gk;(function(e){e.schema=Ek({method:J(`personal_sign`),params:X(ak([Q(),Z()])),returns:Q()})})(Gk||={});let Kk=Y(K({feePayer:Y(q([UO(),W()])),sync:Y(UO())}));var qk;(function(e){e.schema=Ek({method:J(`wallet_sendCalls`),params:Y(X(ak([K({atomicRequired:Y(UO()),calls:X(G(Fk)),capabilities:Kk,chainId:Y(kk()),from:Y(Z()),version:Y(W())})]))),returns:K({atomic:Y(UO()),capabilities:Kk,chainId:Y(kk()),id:W(),receipts:Y(G(jk)),status:Y(VO()),version:Y(W())})})})(qk||={});var Jk;(function(e){e.schema=Ek({method:J(`wallet_getBalances`),params:Y(X(ak([K({account:Y(Z()),chainId:Y(kk()),tokens:Y(X(G(Z())))})]))),returns:X(G(K({address:Z(),balance:Ok(),decimals:VO(),display:W(),name:W(),symbol:W()})))})})(Jk||={});var Yk;(function(e){e.schema=Ek({method:J(`wallet_getCapabilities`),params:Y(X(q([ak([Z()]),ak([Z(),X(G(Q()))])]))),returns:sk(Q(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})(Yk||={});var Xk;(function(e){e.showDeposit=Y(q([UO(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Z(),W()]))})])),e.parameters=K({address:Y(Z()),chainId:Y(Ok()),expiry:VO(),keyType:Y(Nk),limits:Y(X(G(K({token:Z(),limit:Ok(),period:Y(VO())})))),publicKey:Y(Q()),scopes:Y(X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:Pk,rootAddress:Z()}),e.schema=Ek({method:J(`wallet_authorizeAccessKey`),params:X(ak([e.parameters])),returns:e.returns})})(Xk||={});var Zk;(function(e){e.parameters=K({address:Y(Z()),expiry:VO(),keyType:Y(Nk),limits:X(G(K({token:Z(),limit:Ok(),period:Y(VO())})).check(PO(1))),publicKey:Y(Q()),scopes:X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})).check(PO(1))),showDeposit:Xk.showDeposit})})(Zk||={});var Qk;(function(e){e.schema=Ek({method:J(`wallet_revokeAccessKey`),params:X(ak([K({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(Qk||={});var $k;(function(e){e.parameters=K({address:Z(),accessKeyAddress:Z(),chainId:Y(Ok()),limits:X(G(K({token:Z(),limit:Ok()})).check(PO(1)))}),e.schema=Ek({method:J(`wallet_updateAccessKey`),params:X(ak([e.parameters])),returns:void 0})})($k||={});var eA;(function(e){e.authorizeAccessKey=Y(ek(Xk.parameters,{showDeposit:!0})),e.showDeposit=Y(q([UO(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Z(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),returnToken:Y(UO())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([UO(),K({nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(UO()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(hk(W())),idToken:Y(W())})),keyAuthorization:Y(Pk),personalSign:Y(K({message:W(),keyAuthorization:Y(Q())})),signature:Y(Q()),username:Y(hk(W())),auth:Y(K({token:Y(W())}))})},e.schema=Ek({method:J(`wallet_connect`),params:Y(X(ak([K({capabilities:e.capabilities.request,chainId:Y(kk()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Z(),capabilities:e.capabilities.result})))})})})(eA||={});var tA;(function(e){let t=Y(ek(Zk.parameters,{showDeposit:!0})),n=eA.auth,r=eA.identity,i=eA.personalSign,a=eA.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y(Q()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(W()),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(UO()),showDeposit:a})])),chainId:Y(kk()),version:Y(W())})})(tA||={});var nA;(function(e){e.schema=Ek({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(nA||={});var rA;(function(e){e.schema=Ek({method:J(`wallet_getCallsStatus`),params:Y(X(ak([W()]))),returns:K({atomic:UO(),chainId:kk(),id:W(),receipts:Y(G(jk)),status:VO(),version:W()})})})(rA||={});var iA;(function(e){e.parameters=rk(`editable`,[K({amount:W(),chainId:Y(kk()),editable:Y(J(!1)),feePayer:Y(q([UO(),W()])),from:Y(Z()),memo:Y(W()),to:Z(),token:q([Z(),W()])}),K({amount:Y(W()),chainId:Y(kk()),editable:J(!0),feePayer:Y(q([UO(),W()])),memo:Y(W()),to:Y(Z()),token:Y(q([Z(),W()]))})]),e.schema=Ek({method:J(`wallet_transfer`),params:Y(X(ak([e.parameters]))),returns:K({chainId:kk(),receipt:jk})})})(iA||={});let aA=K({amount:Y(W()),pairToken:Y(Z()),slippage:Y(VO().check(MO(0),jO(1))),token:Y(Z()),type:Y(q([J(`buy`),J(`sell`)]))});var oA;(function(e){e.schema=Ek({method:J(`wallet_swap`),params:Y(X(ak([aA]))),returns:K({receipt:jk})})})(oA||={});var sA;(function(e){e.schema=Ek({method:J(`wallet_switchEthereumChain`),params:X(ak([K({chainId:kk()})])),returns:void 0})})(sA||={});var cA;(function(e){e.schema=Ek({method:J(`wallet_deposit`),params:Y(X(ak([K({address:Y(Z()),amount:Y(W()),chainId:Y(kk()),displayName:Y(W()),intent:Y(q([J(`applePay`),J(`credits`),J(`crypto`),J(`faucet`),J(`referralCode`),J(`x`)])),token:Y(q([Z(),W()]))})]))),returns:Y(K({receipts:Y(X(G(jk)))}))})})(cA||={});var lA;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([UO(),W()])),token:Y(Z()),zoneId:Y(kk())}),e.schema=Ek({method:J(`wallet_depositZone`),params:Y(X(ak([e.parameters]))),returns:K({receipt:jk})})})(lA||={});var uA;(function(e){e.parameters=K({amount:Y(W()),token:Y(Z()),zoneId:Y(kk())}),e.schema=Ek({method:J(`wallet_withdrawZone`),params:Y(X(ak([e.parameters]))),returns:K({receipt:jk})})})(uA||={}),Zk.parameters,tA.parameters;let dA=Dk([Lk.schema,Rk.schema,Vk.schema,zk.schema,Bk.schema,Uk.schema,Hk.schema,Wk.schema,Gk.schema,Xk.schema,eA.schema,cA.schema,lA.schema,nA.schema,Jk.schema,rA.schema,Yk.schema,Qk.schema,$k.schema,iA.schema,qk.schema,oA.schema,sA.schema,uA.schema]),fA=yS();function pA(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let mA=rk(`method`,dA.map(pA));function hA(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 $={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},gA={payment:`Payment`},_A={evm:`evm`,stripe:`stripe`,tempo:`tempo`},vA={charge:`charge`,session:`session`,subscription:`subscription`},yA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},bA={v1:`v1`,v2:`v2`};function xA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var SA=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}}}},CA=class extends SA{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}.`)}},wA=class extends SA{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})}},TA=class extends SA{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 EA(e,t){if(!e)throw new CA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new CA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new TA({expires:e})}If();function DA(e){let t=sx(e);return JSON.parse(t)}function OA(e){return ax(Mf(e),{pad:!1,url:!0})}function kA(){return W().check(FO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function AA(){return W().check(FO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function jA(e=`Invalid ISO 8601 datetime`){return _k(q([AA(),wk(e=>e instanceof Date)]),fk(MA)).check(Tk(e=>Number.isFinite(e.getTime()),e))}function MA(e){return e instanceof Date?e:new Date(e)}function NA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function PA(){return W().check(FO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function FA(){return W().check(FO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function IA(){return W().check(FO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}cp();let LA=K({description:Y(W()),digest:Y(W().check(FO(/^sha-256=/,`Invalid digest format`))),expires:Y(AA()),id:W().check(PO(1)),intent:W(),method:W(),meta:Y(sk(W(),W())),opaque:Y(W()),realm:W(),request:sk(W(),ZO())});function RA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?NA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:OA(i)),f=l?YA({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return LA.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function zA(e,t){let n=BA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=VA(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 RA({...a,request:DA(r),...i&&{opaque:i}},t)}function BA(e){let t=gA.payment,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n){r?r=!1:a===`\\\\`?r=!0:a===`\"`&&(n=!1);continue}if(a===`\"`){n=!0;continue}if(!WA(e,i,t))continue;let o=e.slice(0,i);if(o.trim()&&!o.trimEnd().endsWith(`,`))continue;let s=i+t.length;for(;s<e.length&&/\\s/.test(e[s]??``);)s++;return e.slice(s)}return null}function VA(e){let t={},n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n);if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=HA(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function HA(e,t){if(e[t]===`\"`)return UA(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function UA(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[],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 WA(e,t,n){if(!e.slice(t).toLowerCase().startsWith(n.toLowerCase()))return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function GA(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return KA(e.headers,t)}function KA(e,t){let n=e.get($.wwwAuthenticate);if(!n)throw Error(`Missing ${$.wwwAuthenticate} header.`);return qA(n,t)}function qA(e,t){let n=[],r=RegExp(`${gA.payment}\\\\s+`,`gi`);for(let t of e.matchAll(r))n.push(t.index);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return zA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function JA(e){return[e.realm,e.method,e.intent,OA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?OA(e.meta):``)].join(`|`)}function YA(e,t){let n=JA(e);return rx(h_(Hf(t.secretKey),Hf(n),{as:`Bytes`}),{url:!0,pad:!1})}let XA=Symbol.for(`mppx.x402.challenge`);function ZA(e){return Object.defineProperty(e,XA,{value:!0}),e}function QA(e){return!!e?.[XA]}function $A(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=ij(n)}return t}function ej(e,t){let n=$A(e),r=dj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[ij(e)]??1,index:t}));return{definition:r,entries:i,header:nj(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)=>lj(e,t))}function nj(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${hj(n)}`}).join(`, `)}function rj(e,t,n){let r=new Map;for(let e of t){let t=ij(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(ij(e));if(!i)return[];let a=aj(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>cj(e.challenge)-cj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function ij(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function aj(e,t){let n;for(let r of t){if(!oj(e,r))continue;let t={...r,specificity:sj(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function oj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function sj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function cj(e){return+!!QA(e)}function lj(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}`);gj(r,`method`),gj(i,`intent`);let a=1;for(let t of uj(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=pj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function uj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function dj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>ij(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]=fj(t,`payment preference \"${e}\"`)}return a}function fj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return mj(e,t)}function pj(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return mj(Number(e),t)}function mj(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 hj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function gj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var _j=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},vj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function yj(e){let t=e.match(RegExp(`^${gA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new _j;try{let e=sx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=bj(r);return{challenge:LA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:DA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new vj}}function bj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!xj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:OA(e)}}function xj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Sj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:OA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:OA(r)},payload:e.payload,...e.source&&{source:e.source}},s=ax(JSON.stringify(o),{pad:!1,url:!0});return`${gA.payment} ${s}`}var Cj=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 wj(e){}function Tj(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=wj,onError:n=wj,onRetry:r=wj,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 Cj(`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(Ej(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 Dj(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(Ej(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(Dj(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);l=r.includes(`\\0`)?void 0: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`:l=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Cj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Cj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}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 Ej(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 Dj(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 Oj=[`exact`],kj=`PAYMENT-REQUIRED`,Aj=`PAYMENT-SIGNATURE`,jj=W().check(PO(1)),Mj=VO().check(Tk(e=>e>0,`Must be positive`)),Nj=W().check(FO(/^\\d+$/,`Invalid atomic amount`)),Pj=PA(),Fj=W().check(FO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Ij=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:jj}),Lj=K({amount:Nj,asset:jj,extra:Y(sk(W(),ZO())),maxTimeoutSeconds:Mj,network:Fj,payTo:jj,scheme:lk(Oj)}),Rj=sk(W(),K({info:sk(W(),ZO()),schema:sk(W(),ZO())})),zj=K({accepts:G(Lj).check(PO(1)),error:Y(W()),extensions:Y(Rj),resource:Ij,x402Version:J(2)}),Bj=q([K({authorization:K({from:Pj,nonce:FA(),to:Pj,validAfter:Nj,validBefore:Nj,value:Nj}),signature:IA()}),K({permit2Authorization:K({deadline:Nj,from:Pj,nonce:Nj,permitted:K({amount:Nj,token:Pj}),spender:Pj,witness:K({to:Pj,validAfter:Nj})}),signature:IA()})]),Vj=K({accepted:Lj,extensions:Y(Rj),payload:Bj,resource:Y(Ij),x402Version:J(2)}),Hj=K({amount:Y(Nj),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(Rj),extra:Y(sk(W(),ZO())),network:jj,payer:Y(W()),success:UO(),transaction:W()}),Uj=[$.authorization,kj,`PAYMENT-RESPONSE`,Aj];function Wj(e,t,n){let r=new Headers(e.headers);for(let e of Uj)r.delete(e);return r.set(t,n),{...e,headers:r}}function Gj(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 Kj=new WeakMap;function qj(e){let t=Gj(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 Jj(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 Yj(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=LA.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 Xj(e){if(e)return`error`in e?e.error?.code===-32042?Yj(e.error.data):void 0:Yj(e.result?._meta?.[`org.paymentauth/payment-required`])}function Zj(e,t){return!e||e.id!==t?[]:Xj(e)?.challenges??[]}async function Qj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Tj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=Jj(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 $j(e){let t=Kj.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(Jj).catch(()=>void 0);if(t.includes(`text/event-stream`))return Qj(e)})();return Kj.set(e,n),n}function eM(){return{getChallenges(e,t){let n=qj(t);return e.status===402||n===void 0?[]:$j(e).then(e=>Zj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=yj(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($.wwwAuthenticate)?[]:GA(e)},setCredential(e,t){return Wj(e,$.authorization,t)}}}function nM(e){return{encode(t){return ax(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(sx(t)))}catch{throw new rM}}}}var rM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let iM=nM(zj),aM=nM(Vj),oM=nM(Hj);iM.encode,iM.decode;function sM(e){try{let t=JSON.parse(sx(e));return cM(t)}catch{throw new rM}}aM.encode,aM.decode,oM.encode,oM.decode;let cM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new rM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new rM;let n=Ij.parse(t.resource),r=t.extensions===void 0?void 0:Rj.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function lM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(kj);if(!t)return[];let n=sM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=Lj.safeParse(e);if(!r.success)return[];let i=r.data;return ZA(RA({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 Wj(e,Aj,t)}}}function uM(e){return e}function dM(){let e=[tM(),lM(),eM()],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 uM({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)},getChallenge(e,t){let n=e=>{let t=e[0];if(!t)throw Error(`No challenge in response.`);return t},i=r(e,t);return i instanceof Promise?i.then(n):n(i)},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)}})}let fM=new WeakMap;function pM(e,t){return fM.set(e,t),e}function mM(e,t){return Promise.resolve(fM.get(e)?.(t))}let hM=new WeakMap;function gM(e,t){return hM.set(e,t),e}function _M(e){hM.delete(e)}function vM(e,t){return Promise.resolve(hM.get(e)?.(t)??t.response)}let yM=Symbol.for(`mppx.fetch.wrapper`),bM,xM=new WeakMap;function SM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=dM()}=e,l=e.eventDispatcher??TM(),u=t??ej(a),d=KM(r),f=async(e,t,r)=>{let p=GM(e,t?.headers),m=p.has($.acceptPayment),h=ZM(p,u),g=UM(e,t,p),_=HM(e,t,p,h.header,m,n),v=await d(qM(_.input),_.init),y=WM(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee;try{for(let n=0;n<i;n++){T=c.getChallenges?await c.getChallenges(v,y):[await c.getChallenge(v,y)];let i=(await QM(rj(T,a,h.entries),S??s))[0];if(!i){if(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&&EA(w.expires,w.id);let p=rN(v,_.input,_.input),m=AM(async e=>{let t=e??b;return await mM(i.method,{challenge:u,context:t,fetch:d,input:p}),XM(u,i.method,t)}),g=await l.emit(`challenge.received`,jM({challenge:u,challenges:T,createCredential:m,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:m}):void 0)??await m();if(YM(g),await l.emit(`credential.created`,MM({challenge:u,credential:g,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},g,{challenge:u})),v.ok&&EM(l,`payment.response`)&&await l.emit(`payment.response`,NM({challenge:u,credential:g,init:t,input:e,method:i.method,response:v})),!await c.isPaymentRequired(v,y))return v.ok?vM(i.method,{challenge:u,credential:g,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(qM(_.input),t,!1)}:{},response:v,signal:JM(e,t)}):v}return v}catch(n){throw await l.emit(`payment.failed`,PM({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[yM]=d,p}function CM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);bM||=globalThis.fetch,globalThis.fetch=SM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(tN()?`same-origin`:`always`),fetch:globalThis.fetch})}function wM(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function TM(){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 DM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await kM(e[`*`],t,n),r}case`credential.created`:await OM(e[`credential.created`],n),await kM(e[`*`],t,n);return;case`payment.failed`:await OM(e[`payment.failed`],n),await kM(e[`*`],t,n);return;case`payment.response`:await OM(e[`payment.response`],n),await kM(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 xM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function EM(e,t){return xM.get(e)?.(t)??!0}async function DM(e,t){try{return await e(t)}catch{return}}async function OM(e,t){for(let n of e)try{await n(t)}catch{}}async function kM(e,t,n){await OM(e,Object.freeze({name:t,payload:n}))}function AM(e){let t;return n=>(t??=e(n),t)}function jM(e){return Object.freeze({challenge:zM(e.challenge),challenges:e.challenges.map(e=>zM(e)),createCredential:e.createCredential,init:FM(e.init),input:IM(e.input),method:LM(e.method),response:RM(e.response)})}function MM(e){return Object.freeze({challenge:zM(e.challenge),credential:e.credential,init:FM(e.init),input:IM(e.input),method:LM(e.method),...e.response===void 0?{}:{response:RM(e.response)}})}function NM(e){return Object.freeze({challenge:zM(e.challenge),credential:e.credential,init:FM(e.init),input:IM(e.input),method:LM(e.method),response:RM(e.response)})}function PM(e){return Object.freeze({...e.challenge?{challenge:zM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>zM(e))}:{},error:e.error,init:FM(e.init),input:IM(e.input),...e.method?{method:LM(e.method)}:{},...e.response===void 0?{}:{response:RM(e.response)}})}function FM(e){if(e)return VM({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function IM(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function LM(e){return VM(Object.assign({},e))}function RM(e){return e instanceof Response?e.clone():zM(e)}function zM(e){try{return BM(structuredClone(e))}catch{return VM(e)}}function BM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))BM(t);return e}function VM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function HM(e,t,n,r,i,a){let o=!!r&&!i&&$M(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($.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function UM(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 WM(e,t){return t===void 0?e:{...e,body:t}}function GM(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function KM(e){let t=e;for(;t[yM];)t=t[yM];return t}function qM(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function JM(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function YM(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 XM(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}function ZM(e,t){let n=e.get($.acceptPayment);if(!n)return t;try{return{...t,entries:tj(n),header:n}}catch{return t}}async function QM(e,t){return t?t(e):e}function $M(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=nN(e);return t===`same-origin`?!tN()||n.origin===globalThis.location.origin:t.origins.some(e=>eN(n,e))}function eN(e,t){if(t.startsWith(`*.`)){let n=t.slice(1);return e.hostname.endsWith(n)||e.hostname===t.slice(2)}return e.origin===new URL(t).origin}function tN(){return globalThis.location!==void 0}function nN(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,tN()?globalThis.location.href:void 0)}function rN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=nN(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 iN(e){return e}function aN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function oN(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return N(r)}}function sN(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e),a=i;if(n&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=kE(Wb({request:t=>e(t)},{retryCount:0}),Yb(n,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),r=Ub({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:r.request,transport:{...r.config,...r.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?kE(Yb(a),Yb(n)):Yb(a);return Th({chain:{...t,id:r},transport:o})}}let cN={mainnet:4217,testnet:42431},lN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};cN.mainnet,lN.usdc,cN.testnet,lN.pathUsd;let uN={[cN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[cN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},dN={[cN.mainnet]:`https://rpc.tempo.xyz`,[cN.testnet]:`https://rpc.moderato.tempo.xyz`},fN=[`push`,`pull`],pN=K({amount:kA(),memo:Y(FA()),recipient:_k(W(),fk(e=>e))}),mN=(1n<<64n)-1n,hN={dev_second:1n,day:86400n,week:604800n},gN=_k(PA(),fk(e=>e.toLowerCase())),_N=K({accessKeyAddress:gN,keyType:lk([`p256`,`secp256k1`,`webAuthn`])}),vN=K({accessKey:Y(_N),chainId:Y(VO())}),yN=jA(`subscriptionExpires must be a valid date`).check(Tk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),bN=lk([`dev_second`,`day`,`week`]),xN=_k(q([W(),GO(),wk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),fk(e=>e.toString())).check(FO(/^[1-9]\\d*$/,`Invalid periodCount`),Tk(e=>{try{return BigInt(e)<=mN}catch{return!1}},`periodCount exceeds uint64`));function SN(e){return Tk(e=>{let{amount:t,decimals:n}=e;return Oy(t,n)>0n},e)}function CN(e){let{periodCount:t,periodUnit:n}=e;try{let e=hN[n];return e!==void 0&&BigInt(t)*e<=mN}catch{return!1}}let wN=iN({name:`tempo`,intent:`charge`,schema:{credential:{payload:rk(`type`,[K({hash:FA(),type:J(`hash`)}),K({signature:IA(),type:J(`transaction`)}),K({signature:IA(),type:J(`proof`)})])},request:_k(K({amount:kA(),chainId:Y(VO()),currency:W(),decimals:VO(),description:Y(W()),externalId:Y(W()),feePayer:Y(_k(q([UO(),wk()]),fk(e=>typeof e==`object`||e))),memo:Y(FA()),recipient:Y(W()),splits:Y(G(pN).check(PO(1),NO(10))),supportedModes:Y(G(lk(fN)).check(PO(1)))}).check(Tk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Oy(e,t),i=n.reduce((e,n)=>e+Oy(n.amount,t),0n);return n.every(e=>Oy(e.amount,t)>0n)&&i<r},`Invalid splits`)),fk(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Oy(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:Oy(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),TN=iN({name:`tempo`,intent:`session`,schema:{credential:{payload:rk(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:FA(),cumulativeAmount:kA(),descriptor:Y(wk()),signature:IA(),transaction:IA(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:kA(),channelId:FA(),descriptor:Y(wk()),transaction:IA(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:FA(),cumulativeAmount:kA(),descriptor:Y(wk()),signature:IA()}),K({action:J(`close`),channelId:FA(),cumulativeAmount:kA(),descriptor:Y(wk()),signature:IA()})])},request:_k(K({amount:kA(),chainId:Y(VO()),channelId:Y(FA()),currency:W(),decimals:VO(),escrowContract:Y(W()),feePayer:Y(_k(q([UO(),wk()]),fk(e=>typeof e==`object`||e))),minVoucherDelta:Y(kA()),operator:Y(PA()),recipient:Y(W()),sessionProtocol:Y(lk([bA.v2,bA.v1])),sessionSnapshot:Y(wk()),suggestedDeposit:Y(kA()),unitType:W()}).check(Tk(({amount:e,decimals:t})=>Oy(e,t)>0n,`Session amount must be greater than 0`)),fk(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,operator:s,sessionProtocol:c,sessionSnapshot:l,suggestedDeposit:u,...d})=>({...d,amount:Oy(e,r).toString(),...u?{suggestedDeposit:Oy(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Oy(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[yA.sessionProtocol]:c},...l!==void 0&&{[yA.sessionSnapshot]:l}}})))}}),EN=iN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:IA(),type:J(`keyAuthorization`)})},request:_k(K({amount:kA(),accessKey:Y(_N),chainId:Y(VO()),currency:gN,decimals:VO(),description:Y(W()),externalId:Y(W()),methodDetails:Y(vN),periodCount:xN,periodUnit:bN,recipient:gN,subscriptionExpires:yN}).check(SN(`Subscription amount must be greater than 0`),Tk(CN,`Subscription period exceeds uint64`)),fk(({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:Oy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Pi(),tf();let DN=(1n<<64n)-1n,ON={dev_second:1n,day:86400n,week:604800n};function kN(e){return e instanceof Date?e:new Date(e)}function AN(e){let t=e.getTime();if(!Number.isFinite(t))throw new wA({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new wA({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new wA({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function jN(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new wA({reason:`periodCount is invalid`});let t=ON[e.periodUnit];if(t===void 0)throw new wA({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>DN)throw new wA({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new wA({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function MN(e){let{challengeExpires:t,request:n}=e;jN(n);let r=AN(kN(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new wA({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function NN(e){return[{address:GN(e.currency,`currency`),selector:`0x95777d59`,recipients:[GN(e.recipient,`recipient`)]}]}async function PN(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=IN({accessKey:t,chainId:r,request:i});return WC(a,{signature:aC(await n.sign({hash:qC(a)}))})}function FN(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new wA({reason:`invalid keyAuthorization payload`});let a=LN(r.signature),o=RN(a);return zN({accessKey:t,authorization:a,chainId:n}),BN(a,i),HN(VN(a),i),UN(a.scopes,i),{authorization:a,source:{address:WN(a,o),chainId:n}}}function IN(e){let{accessKey:t,chainId:n,request:r}=e;return WC({address:GN(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:AN(kN(r.subscriptionExpires)),limits:[{token:GN(r.currency,`currency`),limit:BigInt(r.amount),period:jN(r)}],scopes:NN(r),type:t.keyType})}function LN(e){try{return JC(e)}catch{throw new wA({reason:`invalid keyAuthorization payload`})}}function RN(e){let t=e.signature;if(!t||t.type===`keychain`)throw new wA({reason:`keyAuthorization must use a primitive signature`});return t}function zN(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new wA({reason:`keyAuthorization chainId mismatch`});if(t){if(!ef(n.address,GN(t.accessKeyAddress,`accessKeyAddress`)))throw new wA({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new wA({reason:`keyAuthorization key type mismatch`})}}function BN(e,t){if(MN({request:t}),e.expiry!==AN(kN(t.subscriptionExpires)))throw new wA({reason:`keyAuthorization expiry mismatch`})}function VN(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new wA({reason:`keyAuthorization must contain exactly one token limit`});return t}function HN(e,t){if(!ef(e.token,GN(t.currency,`currency`)))throw new wA({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new wA({reason:`keyAuthorization amount mismatch`});if(e.period!==jN(t))throw new wA({reason:`keyAuthorization period mismatch`})}function UN(e,t){if(!e||e.length!==1)throw new wA({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=GN(t.currency,`currency`),r=GN(t.recipient,`recipient`),i=new Set;for(let t of e){if(!ef(t.address,n))throw new wA({reason:`keyAuthorization call target mismatch`});let e=KN(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new wA({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new wA({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!ef(t.recipients[0],r))throw new wA({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new wA({reason:`keyAuthorization must allow transferWithMemo`})}function WN(e,t){let n=qC(e);try{let e=nC({payload:n,signature:t});if(!dC(t,{address:e,payload:n}))throw new wA({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof wA?e:new wA({reason:`keyAuthorization signature is invalid`})}}function GN(e,t){if(!ji(e))throw new wA({reason:`${t} must be an address`});return e.toLowerCase()}function KN(e){return typeof e==`string`?e.toLowerCase():``}z(),tf();let qN=K({accessKey:Y(wk()),account:Y(wk())});function JN(e={}){let t=sN({chain:wE,getClient:e.getClient,rpcUrl:dN}),n=oN({account:e.account});return aN(EN,{context:qN,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??cN.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.\");XN(r.request),await e.validateRequest?.(r.request);let l=await YN(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!ef(FN({accessKey:c,chainId:a,payload:{signature:XC(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Sj({challenge:r,payload:{signature:XC(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function YN(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await PN({accessKey:n,account:r,chainId:i,request:a})||GC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:AN(kN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:jN(a)}],scopes:NN(a)}]})).keyAuthorization)}function XN(e){jN(e),AN(kN(e.subscriptionExpires))}cp(),z();let ZN=L(m_(Hf(`mpp`),{as:`Hex`}),0,4);function QN(e){return yp(L(m_(Hf(e),{as:`Hex`}),0,10))}function $N(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(yp(ZN),0),i[4]=1,i.set(QN(t),5),n&&i.set(QN(n),15),i.set(eP(r),25),fp(i)}function eP(e){return yp(L(m_(Hf(e),{as:`Hex`}),0,7))}function tP(e,t){return e.toLowerCase()===t.toLowerCase()}let nP=[lN.pathUsd,lN.usdc];function rP(e,t){let n=QT.call;return n.length>=2?n(e,t):n(t)}function iP(e,t){let n=KT.call;return n.length>=2?n(e,t):n(t)}function aP(e,t){let n=jT.call;return n.length>=2?n(e,t):n(t)}async function oP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!tP(e,i)),c=await Promise.allSettled([Km(e,rP(e,{account:n,token:i})),...s.map(t=>Km(e,rP(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 IT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[iP(e,{amount:n,spender:cT,token:l}),aP(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new cP({currency:i})}}function sP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>tP(e,t)))]:t,slippage:e.slippage??1}:!1}var cP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function lP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let uP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function dP(e){return{name:`MPP`,version:`3`,chainId:e}}function fP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function pP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:dP(n),types:uP,primaryType:`Proof`,message:fP({account:t,challengeId:r,realm:i})}}function mP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let hP=K({account:Y(wk()),autoSwap:Y(wk()),mode:Y(lk(fN))});function gP(e,t){let n=dE.call;return n.length>=2?n(e,t):n(t)}function _P(e={}){let{clientId:t}=e,n=sN({chain:wE,getClient:e.getClient,rpcUrl:dN}),r=oN({account:e.account});return aN(wN,{context:hP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Sj({challenge:i,payload:{signature:await Rb(c,{account:m,...pP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:mP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:$N({challengeId:i.id,clientId:t,serverId:i.realm}),_=lP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>gP(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=sP(a?.autoSwap??e.autoSwap,nP),y=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...v?{}:{calls:_}}})??m,b=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=y.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),x=[...(v?await oP(c,{account:y.address,amountOut:BigInt(d),tokenOut:h,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],S=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(b===`push`){let{receipts:e}=await Nb(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Sj({challenge:i,payload:{hash:t,type:`hash`},source:mP({address:y.address,chainId:l})})}let C=await Zd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Sj({challenge:i,payload:{signature:await Lb(c,C),type:`transaction`},source:mP({address:y.address,chainId:l})})}})}function vP(e){return`accessKeyAddress`in e}function yP(e){return vP(e)?e.accessKeyAddress:e.address}function bP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let xP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function SP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function CP(e,t,n){return vg({domain:bP(e,t),types:xP,primaryType:`Voucher`,message:SP(n)})}async function wP(e,t,n,r,i){return Rb(e,{account:t,domain:bP(r,i),types:xP,primaryType:`Voucher`,message:SP(n)})}function TP(e){let t=aC(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Wv(t.inner.signature)}return cC(t)}function EP(e){return e.type!==`keychain`&&e.type===`secp256k1`}function DP(e){if(!EP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function OP(e,t,n,r,i,a){let o=a??t,s=yP(o),c=CP(r,i,n),l=TP(vP(o)?await o.sign({hash:c,raw:!0}):await wP(e,o,n,r,i)),u=aC(l);if(DP(u),!dC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function kP(e){return m_(hv(_v([`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 AP=[{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:[]}];vm(),ya(),Hp(),pa(),la(),Gm();async function jP(e,t,n){return Km(e,{address:t,abi:AP,functionName:`getChannel`,args:[n]})}ua({abi:AP,name:`open`}),ua({abi:AP,name:`topUp`}),z(),ya();function MP(e,t){return t??e}function NP(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??uN[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function PP(e,t,n,r){return Sj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function FP(e,t,n,r,i,a,o){let s=MP(t,o),c=await OP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function IP(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=MP(t,n.voucherSigner),d=yP(u),f=gp(32),p=kP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=va({abi:V,functionName:`approve`,args:[r,o]}),h=va({abi:AP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Zd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,nonceKey:`expiring`,validBefore:g});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Lb(e,_),y=await OP(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 LP(e,t,n,r){try{let i=await jP(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 RP=K({account:Y(wk()),action:Y(lk([`open`,`topUp`,`voucher`,`close`])),channelId:Y(W()),cumulativeAmount:Y(kA()),cumulativeAmountRaw:Y(W()),transaction:Y(W()),additionalDeposit:Y(kA()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function zP(e={}){let{decimals:t=6}=e,n=sN({chain:wE,getClient:e.getClient,rpcUrl:dN}),r=oN({account:e.account}),i=e.maxDeposit===void 0?void 0:Oy(e.maxDeposit,t),a=new Map,o=new Map,s=new Map;function c(t){e.onChannelUpdate?.(t)}function l(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function u(t,n,r){if(r){let e=a.get(r);if(e)return e}return NP(t,n,e.escrowContract)}async function d(r,d,f){let p=r.request.methodDetails,m=p?.chainId??0,h=await n({chainId:m}),g=u(r,m),_=r.request.recipient,v=r.request.currency,y=BigInt(r.request.amount),b=r.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return Oy(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,w=l(_,v,g),T=o.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let n=await LP(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Oy(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(w,n),s.set(n.channelId,w),a.set(n.channelId,g),T=n,c(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}T?.opened&&T.authorizedSigner.toLowerCase()!==yP(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await FP(h,d,T.channelId,T.cumulativeAmount,g,m,C),c(T);else{let e=await IP(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(w,e.entry),s.set(e.entry.channelId,w),a.set(e.entry.channelId,g),ee=e.payload,c(e.entry)}return PP(r,ee,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?Oy(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Oy(l.additionalDeposit,t):void 0,b=u(r,d,_);a.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await OP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:yP(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 FP(f,i,_,v,b,d,g);let e=s.get(_);if(e){let t=o.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,c(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await OP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=s.get(_);if(t){let e=o.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,c(e))}break}}return PP(r,x,d,i)}return aN(TN,{canHandleChallenge({challenge:e}){let t=xA(e.request.methodDetails,yA.sessionProtocol);return t===void 0||t===bA.v1},context:RP,async createCredential({challenge:t,context:a}){let o=t.request.methodDetails?.chainId??0,s=await n({chainId:o}),c=r(s,a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,c,a);if(a?.action)return f(t,c,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let BP=(1n<<96n)-1n;function VP(e){return e>=0n&&e<=BP}function HP(e){return UP(e),e}function UP(e){if(!VP(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let WP=new Set([`open`,`topUp`,`voucher`,`close`]);function GP(e){return typeof e==`object`&&!!e}function KP(e){return typeof e==`string`&&WP.has(e)}function qP(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!KP(t.action))}function JP(e,t=`No session credential context available.`){if(!qP(e))throw Error(t);return e}function YP(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function XP(e){return GP(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function ZP(e){return GP(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 QP(e){let t=sx(e),n=JSON.parse(t);if(!ZP(n))throw Error(`Invalid session receipt.`);return n}function $P(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function eF(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=tF(r);return XP(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=tF(r);return ZP(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function tF(e){try{return JSON.parse(e)}catch{return null}}function nF(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function rF(){return JSON.stringify({mpp:`payment-close-request`})}function iF(e){let t=aF(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`&&ZP(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`&&XP(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&ZP(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function aF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let oF=`0x4d50500000000000000000000000000000000000`,sF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function cF(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Oy(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=0n,l=null,u=null,d=null,f=null,p=null,m=null,h=null,g=0n,_=0n,v=zP({account:e.account,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==i?.channelId&&(s=0n,c=0n),i=e}}),y=SM({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function T(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function ee(e){if(!h)return;let t=h;h=null,t.reject(e)}function te(e){if(!p)return;let t=p;p=null,t.reject(e)}function ne(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function re(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ie(e){let t=e.headers.get($.paymentReceipt),n=t?QP(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function ae(e,t){return o=e,ie(await y(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=sF.CLOSED,r=null}if(e===`open`&&(i=sF.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 i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[$.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get($.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${$.wwwAuthenticate}: ${t}]`:``}`)}},fetch:ae,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await ae(e,{...s,headers:{...wM(s.headers),Accept:`text/event-stream`},...o?{signal:o}:{}}),l=a;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let n=``;try{for(;!o?.aborted;){let{done:a,value:o}=await u.read();if(a)break;n+=d.decode(o,{stream:!0});let s=n.split(`\n\n`);n=s.pop();for(let n of s){if(!n.trim())continue;let a=eF(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);re(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[$.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let ne=(await lF(rj(GA(C),[v],ej([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ne)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ne;let ie=await v.createCredential({challenge:ne,context:{}});f=null,l=ne,g=0n,_=BigInt(ne.request.amount);let ae=yj(ie);u=ae.payload.channelId;let se=new n(y,p);d=se;let ce=oe(se),le=e=>{ee(Error(e)),te(Error(e)),(se.readyState===sF.CONNECTING||se.readyState===sF.OPEN)&&se.close(3008,e)},ue=e=>e.challengeId===ne.id&&e.channelId===u,de=new Promise((e,t)=>{let n=()=>{se.removeEventListener(`error`,r),ce.emit(`open`,{type:`open`}),e()},r=()=>{se.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};se.addEventListener(`open`,n,{once:!0}),se.addEventListener(`error`,r,{once:!0})});return se.addEventListener(`close`,e=>{d===se&&(d=null),l===ne&&(l=null),u===ae.payload.channelId&&(u=null),m=null,ee(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),ce.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),se.addEventListener(`error`,()=>{ce.emit(`error`,{type:`error`})}),se.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=iF(t);if(!n){ce.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,ce.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ue(n.data)){le(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){le(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),T(n.data),ce.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:ee(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){le(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){le(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:ne,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});se.send(nF(r));break}case`payment-receipt`:if(!ue(n.data)){le(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){le(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{ee(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),se.close()},{once:!0}),await de,se.send(nF(ie)),await S(),ce.socket},async close(){let e=l??a,n=u??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(d?.readyState===sF.OPEN){let t=f??await(async()=>(d.send(rF()),C()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>c?i.cumulativeAmount:c))throw Error(`close-ready spent exceeds local voucher state`);let a=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();m=o;try{let t=S(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);d.send(nF(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(ne(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[$.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get($.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${$.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get($.paymentReceipt);return p?QP(p):void 0}}}async function lF(e,t){let n=t;return n?n(e):e}z();function uF(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function dF(e){return m_(hv(_v([`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 fF(e){return bw(e)}function pF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function mF(e,t){return m_(F(fF(e),t.sender))}let hF=[{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`}],gF=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],_F={name:`descriptor`,type:`tuple`,components:hF},vF=[{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:[_F,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[_F,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[_F,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[_F],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[_F],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[_F],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:hF},{name:`state`,type:`tuple`,components:gF}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:gF}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:gF}]},{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 yF(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let bF={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function xF(e,t){return HC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function SF(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?xF(t,n):vg({domain:yF(e,t),types:bF,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function CF(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function wF(e,t){return $w(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function TF(e,t,n,r,i){let a=aC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await wF(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Rb(e,{account:t,domain:yF(r,i),types:bF,primaryType:`Voucher`,message:n})})());if(!CF(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return cC(a)}function EF(e,t,n,r){try{let i=aC(n.signature);if(!CF(i.type)||cC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=SF(e,t,n),o=nC({payload:a,signature:i});return dC(i,{address:o,payload:a})&&tP(o,r)}catch{return!1}}z(),ya(),Pi();function DF(e){return typeof e==`object`&&!!e}function OF(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function kF(e){return OF(e.accessKeyAddress)}function AF(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}function jF(e){return kF(e)??e.address}async function MF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Zd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function NF(e,t){return await Lb(e,t)}function PF(e,t){let n=e.request.methodDetails,r=DF(n)?OF(n.escrowContract)??OF(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function FF(e,t,n,r){return Sj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function IF(e,t){return e.toLowerCase()===t.toLowerCase()}async function LF(e,t,n,r,i,a=oF){let o=dF({...n,chainId:i,escrow:a}),s=HP(r),c=await TF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function RF(e,t,n,r,i,a=oF){let o=await LF(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function zF(e,t,n){let r=jF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=gp(32),s=HP(n.deposit),c=HP(n.initialAmount),l=va({abi:vF,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await NF(e,await MF(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.token})),d=Uw(u),f={authorizedSigner:r,expiringNonceHash:mF(pF({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=dF({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await TF(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function BF(e,t,n,r,i,a,o=oF,s=[]){let c=dF({...n,chainId:i,escrow:o}),l=HP(r);return{action:`topUp`,type:`transaction`,channelId:c,transaction:await NF(e,await MF(e,{account:t,calls:[...s,{to:o,data:va({abi:vF,functionName:`topUp`,args:[n,l]})}],feePayer:a,feeToken:n.token,validAfter:AF()})),descriptor:n,additionalDeposit:l.toString()}}function VF(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function HF(e){return VF({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function UF(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(HF(t),t)},delete(t){e.delete(t)}}}Gm();let WF=2n**96n-1n;function GF(e){if(e<0n||e>WF)throw new wA({reason:`amount exceeds uint96 range`})}async function KF(e,t,n=oF,r){return qF(await Km(e,{address:n,abi:vF,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function qF(e){return GF(e.settled),GF(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Pi();let JF=wk(e=>typeof e==`string`&&ji(e,{strict:!1})),YF=wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),XF=nM(K({acceptedCumulative:W(),chainId:VO(),channelId:YF,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:JF,expiringNonceHash:YF,operator:JF,payee:JF,payer:JF,salt:YF,token:JF}),escrow:JF,highestVoucher:Y(K({channelId:YF,cumulativeAmount:W(),signature:wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:W(),settled:W(),spent:W(),units:Y(VO())}));function ZF(e){return XF.encode(e)}function QF(e){return XF.decode(e)}let $F={status:`idle`};function eI(e){return{status:`active`,...e}}function tI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?oI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?oI(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:iI(e.challengeId,t.snapshot),effects:[]}:oI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?oI(e,t):{state:vI({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:aI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:oI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?oI(e,t):{state:xI(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?rI({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):oI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:oI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?oI(e,t):{state:aI(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}]}:oI(e,t);case`settled`:return e.status===`settling`?{state:aI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:oI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:oI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:oI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?oI(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`?oI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function nI(e,t){let n=tI(e.state,t);return e.state=n.state,n}function rI(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 iI(e,t){return eI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function aI(e,t,n,r){return eI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function oI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function sI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function cI(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`);sI({cumulativeAmount:i,maxVoucherCumulative:n}),sI({cumulativeAmount:a,maxVoucherCumulative:n})}function lI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;cI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function uI(e,t){return typeof e==`bigint`?e:Oy(e,t)}function dI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(pI(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 fI(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;sI({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 pI(e,t){sI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function mI(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 hI(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function gI(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>hI({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function _I(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;return!!i.txHash&&i.challengeId===t&&i.channelId===n&&i.acceptedCumulative===r&&i.spent===r}function vI(e){return eI({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 yI(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:$F}}function bI(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=lI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&nI(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function xI(e,t){return eI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function SI(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(r&&r.challengeId===t&&r.channelId===n)return BigInt(r.spent);if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return c}function CI(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 tI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function wI(e){return{channel:e.channel===null?null:{entry:e.channel,cumulativeAmount:e.channel.cumulativeAmount,deposit:e.channel.deposit,opened:e.channel.opened},spent:e.spent,state:e.state}}function TI(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 EI(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(rF()),e.waitForCloseReady()))(),a=BigInt(i.spent);gI({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=>_I({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(nF(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Pi();function DI(e){return`cumulativeAmount`in e}function OI(e){if(DI(e))return BigInt(e.cumulativeAmount)}async function kI(e,t){t.opened?await e.store.set(t):await e.store.delete(HF(t)),e.notifyUpdate(t)}async function AI(e,t,n){let r=OI(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 kI(e,i))}let jI=wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),MI=K({account:Y(wk()),autoSwap:Y(wk()),action:Y(lk([`open`,`topUp`,`voucher`,`close`])),channelId:Y(wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(kA()),cumulativeAmountRaw:Y(W()),transaction:Y(jI),descriptor:Y(wk()),additionalDeposit:Y(kA()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function NI(e){return e?.action!==void 0}function PI(e){return NI(e)&&e.descriptor!==void 0}function FI(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 Oy(i,t)}function II(e,t,n,r){let i=FI(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function LI(e){return typeof e==`object`&&!!e}function RI(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function zI(e){let t=e.request.methodDetails;return LI(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:RI(t.escrowContract),escrow:RI(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:RI(t.operator),sessionSnapshot:xA(t,yA.sessionSnapshot)}:{}}function BI(e,t){if(typeof e==`string`&&ji(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function VI(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function HI(e){return typeof e==`string`?e:void 0}async function UI(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=zI(t),a=await r({chainId:i.chainId}),o=i.chainId??a.chain?.id;if(!o)throw Error(`No chainId configured for TIP-1034 session challenge.`);let s=PF(t,n),c=BI(t.request.recipient,`recipient`),l=BI(t.request.currency,`currency`);return{amount:VI(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:VF({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:HI(t.request.suggestedDeposit),token:l}}async function WI(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=KF}=e,o=dF({...r,chainId:i.chainId,escrow:i.escrow});GI({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 GI(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(!IF(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!IF(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!IF(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!IF(uF(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function KI(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function qI(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=FI(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function JI(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(!EF(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},uF(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await WI({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:jF(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 YI(e,t){return IF(e.address,t.payer)?IF(jF(e),uF(t)):!1}function XI(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(NI(r)){if(!PI(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=KI({context:r,snapshot:o.snapshot});return!n&&s&&YI(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&YI(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 ZI(e,t,n=!1){switch(e.type){case`open`:return $I(e,t,n);case`recover`:return eL(e,t);case`voucher`:return tL(e,t);case`manual`:return nL(e,t,n)}}async function QI(e,t){if(e)return await oP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function $I(e,t,n){let{account:r,resolved:i}=e,a=dI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await zF(i.client,r,{chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,initialAmount:i.amount,operator:i.operator,payee:i.payee,prefixCalls:await QI(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await kI(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function eL(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await WI({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:jF(n),token:o.token}}),l=qI({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`);pI(l,a);let u=await LF(o.client,n,s,l,o.chainId,o.escrow);return await kI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function tL(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;pI(a,e.maxDeposit);let o=await LF(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await kI(t,r),o}async function nL(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=dF({...s,chainId:o.chainId,escrow:o.escrow});GI({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:jF(r),token:o.token});let l=await rL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await AI(t,o.key,l),l}async function rL(e,t){switch(e.context.action){case`open`:return iL(e);case`topUp`:return aL(e,t);case`voucher`:return oL(e);case`close`:return sL(e)}}async function iL(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=II(r,i,`cumulativeAmount`,`open`),c=await LF(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 aL(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=II(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:BF(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await QI(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}))}function oL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return LF(a.client,t,i,II(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function sL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return RF(a.client,t,i,II(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let cL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function lL(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=cL.CLOSED,r=null}if(a.type===`open`&&(i=cL.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);break}let o=t.get(e);if(o)for(let e of Array.from(o))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&o.delete(e)}let c=null,l={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,get onmessage(){return c},set onmessage(e){if(c=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:l}}function uL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function dL(e){let{amount:t,assertVoucherWithinLocalLimit:n,channel:r,decimals:i,lastChallenge:a,lastUrl:o}=e;if(!r?.opened)throw Error(`Cannot top up session: no open channel.`);if(!a)throw Error(`Cannot top up session: no challenge available. Make a request first.`);if(!o)throw Error(`Cannot top up session: no URL available. Call fetch(), sse(), or ws() first.`);let s=uI(t,i);if(s<=0n)throw Error(`Top-up amount must be greater than zero.`);return n(r.cumulativeAmount+s),{additionalDeposit:s,challenge:a,channelId:r.channelId,input:o}}function fL(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:xI(s,u)}:i?{channel:u,state:vI({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function pL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=uL(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:HP(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function mL(e){return e.method===_A.tempo&&e.intent===vA.session}function hL(e){return mL(e)&&xA(e.request.methodDetails,yA.sessionProtocol)===bA.v2}function gL(e){return xA(e.request.methodDetails,yA.sessionSnapshot)}function _L(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...wM(r),...wM(t?.headers),[$.authorization]:n}}}function vL(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 yL(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function bL(e){let t=await e.text().catch(()=>``);if(!t)return``;if(!e.headers.get(`Content-Type`)?.includes(`application/problem+json`))return t;try{return JSON.parse(t).detail??t}catch{return t}}async function xL(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 SL({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($.paymentReceipt);return i?QP(i):void 0}async function SL(e){let t=async t=>e.fetch(vL(e.input),{method:`POST`,headers:{[$.authorization]:await e.createSessionCredential(t,e.context)}}),n=await t(e.challenge);if(n.status!==402)return n;let r=GA(n).find(hL);return r?t(r):n}async function CL(e){let t=wL({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()}),u=await e.fetch(e.input,_L(e.input,e.init,l));return!u.ok&&!u.headers.get($.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function wL(e){let t=GA(e.response).find(hL);if(!t)return;let n=gL(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function TL(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:{[$.authorization]:a}})},i=await r(e.target.challenge);if(i.status===402){let t=GA(i).find(hL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await bL(i),t=i.headers.get($.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${$.wwwAuthenticate}: ${t}]`:``}`)}let a=i.headers.get($.paymentReceipt);if(!a)return;let o=QP(a);if(!o.txHash||!Sp(o.txHash,{strict:!0})||_p(o.txHash)!==32||!_I({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function EL(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...wM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!$P(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),DL(e,s,{onReceipt:r,signal:i},n)}function DL(e,t,n,r){if(!$P(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return OL({onNeedVoucher:t=>NL({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*OL(e){for await(let t of kL(e))t.data!==void 0&&(yield t.data)}async function*kL(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=AL(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=eF(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);break}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function AL(e,t){for(let n=0;n<e.length;n++){let r=jL(e,n,t);if(!r)continue;let i=jL(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function jL(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 ML(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=kL({...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 NL(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await pL({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 SL({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 PL(e){let t=new URL(e.input.toString()),n=yL(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=GA(r).find(hL);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,credential:await e.createSessionCredential(i,{}),httpUrl:n,wsUrl:t}}function FL(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:yj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:YP(t)}}function IL(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function LL(e){if(!IL(e))return`received mismatched payment-close-ready frame`;if(BigInt(e.receipt.spent)>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function RL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!IL(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!_I({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function zL(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=FL({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=lL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===cL.CONNECTING||o.readyState===cL.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 VL({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 BL(o,c.emit,a),o.send(nF(n)),await e.waitForReceipt(),c.socket}function BL(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 VL(e){let t=iF(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`:HL(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 UL(e,t.data);return;case`payment-receipt`:WL(e,t.data);return}}function HL(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=LL({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 UL(e,t){try{let n=await pL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.driver.challenge,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,topUpIfNeeded:e.driver.topUpIfNeeded});if(n.status===`ignored`){e.failSocketFlow(n.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let r=await e.driver.createSessionCredential(e.driver.challenge,n.context);e.rawSocket.send(nF(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function WL(e,t){let n=RL({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}function GL(e={}){let{account:t,autoSwap:n,channelStore:r,decimals:i=6,escrow:a,getClient:o,maxDeposit:s,topUpAmount:c,onChannelUpdate:l,resolveAccount:u}=e,d=sN({chain:wE,getClient:o,rpcUrl:dN}),f=oN({account:t}),p=s===void 0?void 0:Oy(s,i),m=c===void 0?void 0:Oy(c,i),h=r??UF(),g={store:h,notifyUpdate:e=>l?.(e)},_=async(e,t,n)=>{let r=f(e.client,t),i=t?.action?t.descriptor:n?.descriptor??KI({context:t,snapshot:e.snapshot})?.descriptor;return await u?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:uF(i)}:{}}})??r},v=aN(TN,{canHandleChallenge:({challenge:e})=>hL(e),context:MI,async createCredential({challenge:e,context:t}){let r=await UI({challenge:e,escrowOverride:a,getClient:d}),o=await h.get(r.key),s=await _(r,t,o);return FF(e,await ZI(XI({account:s,entry:o,context:t,decimals:i,maxDeposit:p,resolved:r}),g,sP(t?.autoSwap??n,nP)),r.chainId,s)}}),y=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=fI({deposit:o,maxDeposit:p,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:m});s>0n&&await xL({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>v.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l={...t,deposit:c};await h.set(l),g.notifyUpdate(l)};return pM(v,async({challenge:e,context:t,fetch:n,input:r})=>{if(!hL(e))return;let i=t===void 0?void 0:MI.parse(t);if(NI(i))return;let o=await UI({challenge:e,escrowOverride:a,getClient:d}),s=await h.get(o.key);if(!s?.opened)return;let c=o.snapshot?.channelId.toLowerCase()===s.channelId.toLowerCase()?o.snapshot:void 0,l=s.cumulativeAmount+YP(e),u=c?BigInt(c.requiredCumulative):l,f=u>l?u:l,p=c?BigInt(c.deposit):s.deposit,m=p>s.deposit?p:s.deposit;f<=m&&m===s.deposit||YI(await _(o,i,s),s.descriptor)&&await y({challenge:e,channel:s,deposit:m,fetch:n,input:r,requiredCumulative:f})}),gM(v,async({challenge:e,credential:t,fetch:n,headers:r,input:i,refetch:o,response:s,signal:c})=>{if(!hL(e))return s;if(!$P(s))return JP(yj(t).payload).action===`open`&&r.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await o?.()??s:s;let l=(await UI({challenge:e,escrowOverride:a,getClient:d})).key,u=await h.get(l),f={assertVoucherWithinLocalLimit:e=>pI(e,p),createSessionCredential:(e,t)=>v.createCredential({challenge:e,context:t}),fetch:n,getChannel:()=>u??null,async topUpIfNeeded({deposit:t,requiredCumulative:r}){u&&await y({challenge:e,channel:u,deposit:u.deposit>t?u.deposit:t,fetch:n,input:i,requiredCumulative:r})}};return ML({onNeedVoucher:t=>NL({challenge:e,driver:f,input:i},t),onReceipt(){},response:s,signal:c})})}let KL=new WeakMap;function qL(e,t){KL.set(e,t)}function JL(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 YL(e){let t=JL(`close-ready`),n=JL(`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 XL(e){return e.method===_A.tempo&&e.intent===vA.charge}function ZL(e){if(!XL(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function QL(e,t,n){if(!n)return t;let r={...wM(e instanceof Request?e.headers:void 0),...wM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===$.paymentSession.toLowerCase())?t:{...t,headers:{...r,[$.paymentSession]:n}}}function $L(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:Oy(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Oy(e.topUpAmount,t),WebSocket:n}}function eR(e){let t=$L(e),n=sN({chain:wE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:dN}),r=oN({account:e.account}),i=yI(),a=YL({getSocketSession:()=>i.socketSession}),o=e.channelStore??UF(),s=new Set,c;async function l(e){let t=await o.get(e);if(t?.opened&&!s.has(t.channelId))return t}let u={async get(e){let t=await l(e);return t&&c&&(c.seenExisting.add(e),!c.committed&&!c.created.has(e)&&(c.resumed??=t)),t},async set(e){let t=HF(e);e.opened&&s.delete(e.channelId),c?.trackCreates&&!c.seenExisting.has(t)&&c.created.set(t,e),await o.set(e)},delete:e=>o.delete(e)};async function d(e){s.add(e.channelId),await Promise.resolve(o.delete(HF(e))).catch(()=>void 0)}async function f(){let e=c;if(e?.created.size){for(let[t,n]of e.created)s.add(n.channelId),await Promise.resolve(o.delete(t)).catch(()=>void 0);e.created.clear(),oe(e.previous)}}function p(e){let t=xA(e.request.methodDetails,yA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=c;if(!n?.created.size)return!1;for(let e of n.created.values())if(e.channelId.toLowerCase()===t.channelId.toLowerCase())return!0;return!1}function m(e){return nI(i,e)}function h(e){let t=c,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=wI({channel:i.channel,spent:i.spent,state:i.state}))}let g=GL({account:e.account,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:t.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:u,onChannelUpdate(e){e.channelId!==i.channel?.channelId&&(i.spent=0n),i.channel=e,i.lastChallenge&&m({type:`activated`,challengeId:i.lastChallenge.id,entry:e,spent:i.spent.toString(),units:0}),h(e)}});_M(g);let _=_P({account:e.account,getClient:e.client?()=>e.client:e.getClient}),v=SM({fetch:t.fetch,methods:[g],onChallenge:async(e,t)=>{if(!mL(e))return;let n=c,r=n&&n.challengesReceived>0&&e.id===i.lastChallenge?.id;p(e)||(n?.created.size?await f():r&&oe(n.previous)),n&&n.challengesReceived++,i.lastChallenge=e,m({type:`challengeReceived`,challengeId:e.id})}});function y(e,t){return g.createCredential({challenge:e,context:t})}function b(e){bI({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:i})}function x(e=i.state.status===`active`?i.state.units:0){!i.channel||!i.lastChallenge||i.state.status===`active`||i.state.status===`withdrawable`||i.state.status===`closeRequested`||m({type:`activated`,challengeId:i.lastChallenge.id,entry:i.channel,spent:i.spent.toString(),units:e})}async function S(t){let a=t.headers.get($.paymentSessionSnapshot);if(!a)return;let o=QF(a),s=await n({chainId:o.chainId}),c=r(s),{entry:l,spent:d}=await JI({account:await e.resolveAccount?.({account:c,chainId:o.chainId,operation:{authority:uF(o.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:o});return ne(l.cumulativeAmount),await Promise.resolve(u.set(l)).catch(()=>void 0),i.channel=l,i.spent=d,l}async function C(n,r){if(!e.bootstrap||i.channel?.opened)return;let a=n instanceof Request?n.headers:void 0,{body:o,method:s,...c}=r??{},l=n instanceof Request?n.url:n,u={...c,method:`HEAD`,headers:{...wM(a),...wM(r?.headers),[$.acceptPayment]:`${_A.tempo}/${vA.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await S(e);let n=GA(e).find(XL);if(!n||!ZL(n))return;let r=await _.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...wM(u.headers),[$.authorization]:r}});return i.ok?await S(i):void 0}catch{return}}function w(e,t){let n=i.socketSession;return SI({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:i.channel?.channelId===t?i.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:i.spent,tickCost:n?.tickCost})}function T(e,t){let n=gL(t);if(!n)return;if(dF({...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 ee(e,t){let n=T(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:a}=n;if(i.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);a>i.spent&&(i.spent=a)}function te(e,t=e.challenge,n=!1){n&&ee(e,t);let r=w(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ne(r),r.toString()}function ne(e){sI({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function re(e){let{knownDeposit:n,...r}=e,a=await xL({...r,channel:i.channel,createSessionCredential:y,fetch:t.fetch});b(a);let o=fL({additionalDeposit:e.additionalDeposit,channel:i.channel,channelId:e.channelId,challengeId:i.lastChallenge?.id,currentState:i.state,knownDeposit:n,receipt:a,spent:i.spent});return o?.channel&&i.lastChallenge&&(await u.set(o.channel),m({type:`activated`,challengeId:i.lastChallenge.id,entry:o.channel,spent:i.spent.toString(),units:i.state.status===`active`?i.state.units:0}),h(o.channel)),a}async function ie(e){let n=i.channel?.channelId===e.channelId?i.channel.deposit:0n,r=n>e.deposit?n:e.deposit,a=fI({deposit:r,maxDeposit:t.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:t.topUpAmount});a!==0n&&await re({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:a,knownDeposit:r})}function ae(e,t){let n=CI({channel:i.channel,channelId:e,challengeId:i.lastChallenge?.id,cumulativeAmount:t,spent:i.spent,state:i.state});n&&i.channel&&m({type:`activated`,challengeId:n.challengeId,entry:i.channel,spent:n.spent,units:n.units})}function oe(e){let t=TI(e,i.channel);i.channel=t.channel,i.spent=t.spent,i.state=t.state}function se(e){let t=e.headers.get($.paymentReceipt),n=t?QP(t):null;return b(n),Object.assign(e,{receipt:n,challenge:i.lastChallenge,channelId:i.channel?.channelId??null,cumulative:i.channel?.cumulativeAmount??0n})}async function ce(e,n){if(c)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);i.lastUrl=e;let r=wI({channel:i.channel,spent:i.spent,state:i.state}),a={challengesReceived:0,committed:void 0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};c=a;let o=i.channel?.opened?i.channel.channelId:void 0;try{await C(e,n),a.trackCreates=!0;let s=QL(e,n,o),c=!r.channel?.opened;async function l(){let t=a.resumed;return!c||!t?!1:(c=!1,await d(t),s=QL(e,n,void 0),!0)}for(;;){let n;try{n=await v(e,s)}catch(e){if(oe(a.committed??r),await l())continue;throw e}let o=se(n),c=!1;if(o.status===402){let n=await CL({input:e,init:s,response:o,createSessionCredential:y,fetch:t.fetch,getChannel:()=>i.channel,restoreCumulative:ae,setChallenge(e){i.lastChallenge=e},topUpIfNeeded:ie});n&&(c=!0,o=se(n))}if(!c&&!o.ok&&!o.receipt){if(oe(a.committed??r),await l())continue;return o}return o}}finally{c=void 0}}async function le(e){let n=await TL({createSessionCredential:y,fetch:t.fetch,lastUrl:i.lastUrl,resolveSignedCloseAmount:t=>te(e,t,!0),signedCloseAmount:te(e),setChallenge(e){i.lastChallenge=e},target:e});return n&&(x(),m({type:`closeStarted`}),m({type:`closed`,receipt:n})),n}let ue={createSessionCredential:y,doFetch:ce,fetch:t.fetch,getChannel:()=>i.channel,getChallenge:()=>i.lastChallenge,assertVoucherWithinLocalLimit:ne,acceptReceipt(e){b(e)},topUpIfNeeded:ie},de={get channelId(){return i.channel?.channelId},get cumulative(){return i.channel?.cumulativeAmount??0n},get opened(){return i.channel?.opened??!1},get state(){return i.state},fetch:ce,async topUp(e){let n=dL({amount:e,assertVoucherWithinLocalLimit:ne,channel:i.channel,decimals:t.decimals,lastChallenge:i.lastChallenge,lastUrl:i.lastUrl});return re({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,input:n.input})},async sse(e,t){return EL(e,t,ue)},async ws(e,n){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=yL(e),o=n?.signal?{signal:n.signal}:void 0;await C(r,o);let s=i.channel?.opened?i.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await PL({async createSessionCredential(e,n){return i.lastChallenge=e,await mM(g,{challenge:e,context:n,fetch:t.fetch,input:r}),y(e,n)},fetch:t.fetch,input:e,onProbeUrl(e){i.lastUrl=e.toString()},probeInit:QL(r,o,s),signal:n?.signal});return i.lastChallenge=c,zL({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:n,createSessionCredential:y,getChannel:()=>i.channel,setSocketSession(e){i.socketSession=e},assertVoucherWithinLocalLimit:ne,acceptReceipt:b,rejectCloseReady:a.rejectCloseReady,rejectReceipt:a.rejectReceipt,settleCloseReady:a.settleCloseReady,settleReceipt:a.settleReceipt,topUpIfNeeded:ie,waitForReceipt:a.waitForReceipt})},async close(){let e=i.socketSession,t=mI({channel:i.channel,currentSocket:e,lastChallenge:i.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===cL.OPEN){let r=await EI({activeSocket:n,createSessionCredential:y,currentSocket:e,spent:i.spent,target:t,waitForCloseReady:a.waitForCloseReady,waitForReceipt:a.waitForReceipt});return x(),m({type:`closeStarted`}),m({type:`closed`,receipt:r}),r}return le(t)}};return qL(de,{consumeSseResponse(e,t,n){return DL(e,t,n,ue)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!mL(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.`);ne(e.cumulativeAmount);let a=T(e,t),o=a&&a.spent>r?a.spent:r;i.lastUrl=n,i.lastChallenge=t,i.channel=e,i.spent=o,m({type:`challengeReceived`,challengeId:t.id}),m({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),de}(function(e){e.serializeSnapshot=ZF,e.deserializeSnapshot=QF})(eR||={});let tR=Object.assign(GL,{manager:eR}),nR=Object.assign(cF,{method:zP});function rR(e={}){return[_P(e),tR(e)]}(function(e){e.charge=_P,e.common=rR,e.session=tR,e.sessionLegacy=nR,e.subscription=JN})(rR||={});function iR(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=dM()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=ej(c,e.paymentPreferences),u=TM(),d=n,f={acceptPayment:l,acceptPaymentPolicy:a,...e.fetch&&{fetch:e.fetch},eventDispatcher:u,...t!==void 0&&{maxPaymentRetries:t},...d&&{onChallenge:d},...r&&{orderChallenges:r},methods:c,transport:o},p=SM(f);i&&CM(f);function m(e){return u.on(`challenge.received`,e)}function h(e){return u.on(`credential.created`,e)}function g(e){return u.on(`payment.failed`,e)}function _(e){return u.on(`payment.response`,e)}return{fetch:p,rawFetch:s,methods:c,transport:o,on:u.on,onChallengeReceived:m,onCredentialCreated:h,onPaymentFailed:g,onPaymentResponse:_,async createCredential(e,t,n){let i=o.getChallenges?await o.getChallenges(e):[await o.getChallenge(e)],a=mR(l.entries,n?.acceptPayment),s,d;try{let o=(await hR(rj(i,c,a),n?.orderChallenges??r))[0];if(!o)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${c.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=o.challenge;s=l,d=o.method,s.expires&&EA(s.expires,s.id);let f=aR(e=>gR(l,d,e??t)),p=await u.emit(`challenge.received`,oR({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return YM(p),await u.emit(`credential.created`,sR({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,cR({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function aR(e){let t;return n=>(t??=e(n),t)}function oR(e){return Object.freeze({challenge:dR(e.challenge),challenges:e.challenges.map(e=>dR(e)),createCredential:e.createCredential,method:lR(e.method),response:uR(e.response)})}function sR(e){return Object.freeze({challenge:dR(e.challenge),credential:e.credential,method:lR(e.method),response:uR(e.response)})}function cR(e){return Object.freeze({...e.challenge?{challenge:dR(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>dR(e))}:{},error:e.error,...e.method?{method:lR(e.method)}:{},response:uR(e.response)})}function lR(e){return pR(Object.assign({},e))}function uR(e){return e instanceof Response?e.clone():dR(e)}function dR(e){try{return fR(structuredClone(e))}catch{return pR(e)}}function fR(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))fR(t);return e}function pR(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function mR(e,t){return t?typeof t==`string`?tj(t):t:e}async function hR(e,t){return t?t(e):e}async function gR(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}z(),k();let _R={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},vR=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function yR(e){return{add:t=>OR({...t,store:e}),authorize:t=>xR({...t,store:e}),clear:()=>MR({store:e}),get:t=>ER({...t,store:e}),prepareAuthorization:t=>bR({...t,keystores:e.keystores}),getStatus:t=>wR({...t,store:e}),list:t=>JR({...t,store:e}),remove:t=>jR({...t,store:e}),select:t=>TR({...t,store:e}),updateAuthorization:t=>AR({...t,store:e})}}async function bR(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:WC({address:(()=>{switch(e){case`secp256k1`:return Xw(s);case`p256`:return Yw(s);case`webAuthn`:throw new Xx({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:WC({address:t??N_(y_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??RE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Xx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=WC({address:N_(x_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function xR(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await bR({...r,chainId:r.chainId??n,keystores:i.keystores}),o=qC(a.keyAuthorization),s=await t.sign({hash:o}),c=WC(a.keyAuthorization,{signature:aC(s)});return OR({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),ZC(c)}async function SR(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=JR({account:t,chainId:r,store:a});for(let e of s)if(!KR(e.expiry,o)&&IR(e,i)&&!(n&&!PR(e,{calls:n}))&&await GR(e,a))return!0;return!1}function CR(e){return FR(e.parameters.scopes,{calls:e.calls})}async function wR(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=JR({account:n,accessKey:t,chainId:i,store:o}).find(e=>PR(e,{calls:r}));if(c){if(KR(c.expiry,s))return _R.expired;if(c.keyAuthorization){let e=await qR(a,{accessKey:c.address,account:n,now:s}).catch(()=>_R.pending);return e===_R.published&&kR({accessKey:c.address,account:n,chainId:i,store:o}),e===_R.published?_R.published:_R.pending}return await qR(a,{accessKey:c.address,account:n,now:s})}return t?await qR(a,{accessKey:t,account:n,now:s}):_R.missing}async function TR(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=JR({account:t,chainId:r,store:i});for(let e of o){if(!PR(e,{calls:n}))continue;if(KR(e.expiry,a)){await jR({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await GR(e,i);if(t)return t}}async function ER(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=JR({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(KR(o.expiry,a)){await jR({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await GR(o,i)}}function DR(e){return OE({source:{get(t){return JR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){kR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){AR({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function OR(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=>!XR(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function kR(e){let{store:t,...n}=e;YR({...n,patch:{keyAuthorization:void 0},store:t})}function AR(e){let{authorization:t,store:n,...r}=e;YR({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function jR(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!XR(e,n))}))}function MR(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function NR(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&vR.has(t)})?!0:e instanceof Error&&vR.has(ME(e).errorName)}function PR(e,t){return FR(e.scopes,t)}function FR(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(!UR(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=BR(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 F_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function IR(e,t){return!(!LR(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!HR(e.limits,t.reuse?.minLimits))}function LR(e,t){return!t||!e||t.every(t=>e.some(e=>RR(e,t)))}function RR(e,t){return!UR(e)||!UR(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!zR(e.selector,t.selector)?!1:VR(e.recipients,t.recipients)}function zR(e,t){if(!e)return!0;if(!t)return!1;let n=BR(e),r=BR(t);return!!n&&n===r}function BR(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Hy(e)).toLowerCase()}catch{return}}function VR(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function HR(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 UR(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!F_(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=>!F_(e))))}let WR=new WeakMap;async function GR(e,t){let n=DR(t);if(`keyPair`in e&&e.keyPair)return Qw(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return Xw(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return Yw(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=WR.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),WR.set(e,i));try{return await i}catch(n){WR.delete(e),LE(n)&&jR({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function KR(e,t){return typeof e==`number`&&e<t}async function qR(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await CT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?_R.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?_R.expired:_R.published}catch(e){if(NR(e))return _R.missing;throw e}}function JR(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>XR(e,n))}function YR(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!XR(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 XR(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 ZR(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 QR(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 tS({message:`Account \"${t}\" not found.`}):new rS({message:`No active account.`});return $R(s,{signable:n})}function $R(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 tS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return Xw(e.privateKey);case`p256`:return Yw(e.privateKey);case`webCrypto`:return Qw(e.keyPair);case`webAuthn`:return Zw(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return Jw(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new tS({message:`Unknown key type.`})}}let ez=new Map;function tz(e,t){let n=iz(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>oz(e,t),onResponse:t=>sz(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 cz(e),()=>{n.attachments.delete(r),az(e)}}function nz(e,t){let n=iz(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}),cz(e)})}function rz(e){return new URL(e).host}function iz(e){let t=rz(e),n=ez.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:_S(),requestQueue:[],synced:!1};return ez.set(t,r),r}function az(e){let t=iz(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function oz(e,t){if(t.length===0)return;let n=iz(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 eS);cz(e,{force:!0})}}function sz(e,t){let n=iz(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(hS(t.error)):r.resolve(t.result),cz(e,{force:!0}))}function cz(e,t={}){let n=iz(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,az(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:[lz(a)]}))}function lz(e){return{request:e.request,status:e.status}}z();function uz(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=tz(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=mS({async request(e){return e.method===`eth_chainId`?I(r.getState().chainId):nz(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:fA});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:[wD(iA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[wD(lA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[wD(uA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Wb(s)}}}})}let dz=new Map,fz=new WeakMap;function pz(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return hz(r);if(r?.url)return hz(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 dz;let e=fz.get(d);return e||(e=new Map,fz.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Yb(),r=i?mz(i,t):t;p=Th({chain:e,transport:s?gz(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function mz(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function hz(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function gz(e,t,n){return r=>{let i=e(r),a=Yb(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=Uw(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 _z=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function vz(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await a.accessKeys.select({account:t,calls:n,chainId:r});if(o)return yz({account:o,address:t,chainId:r,client:i,store:a})}function yz(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Zd(i,{account:t,...e,parameters:[],type:`tempo`});return await xz(i,n)}catch(e){throw Sz(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Zd(i,{account:t,...e,type:`tempo`});return bz({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw Sz(e,{account:t,address:n,chainId:r,store:a}),e}}}}function bz(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 Sz(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 Sz(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 Sz(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function xz(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 Sz(e,t){Cz(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function Cz(e){if(!(e instanceof Error))return!1;let t=ME(e);if(_z.has(t.errorName))return!0;let n=wz(e);return[..._z].some(e=>n.includes(e))}function wz(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:``,wz(r)].join(`\n`)}function Tz(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Tz.cache.get(n))return Tz.cache.get(n);let r=e().finally(()=>Tz.cache.delete(n));return Tz.cache.set(n,r),r}Tz.cache=new Map;function Ez(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function Dz(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=Ez(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let Oz;function kz(){return Oz||=Dz(`keyval-store`,`keyval`),Oz}function Az(e,t=kz()){return t(`readonly`,t=>Ez(t.get(e)))}function jz(e,t,n=kz()){return n(`readwrite`,n=>(n.put(t,e),Ez(n.transaction)))}function Mz(e,t=kz()){return t(`readwrite`,t=>(t.delete(e),Ez(t.transaction)))}let Nz=Symbol.for(`accounts.storage.supportsStructuredClone`);function Pz(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 Fz(e)?Iz(r):r}function Fz(e){return e[Nz]===!0}function Iz(e){return Object.assign(e,{[Nz]:!0})}function Lz(e={}){let t=typeof indexedDB<`u`?Dz(`tempo`,`store`):void 0;return Iz(Pz({async getItem(e){let n=await Az(e,t);return n===null?null:n},async setItem(e,n){await jz(e,n,t)},async removeItem(e){await Mz(e,t)}},e))}function Rz(e={}){let t=new Map;return Iz(Pz({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let zz=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 Bz(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 Vz=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Vz(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Vz(t)(e)}}}},Hz=(e,t)=>(n,r,i)=>{let a={storage:Bz(()=>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 Vz(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},Uz=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},Wz=(e=>e?Uz(e):Uz),Gz=Symbol.for(`accounts.storage.supportsStructuredClone`);function Kz(e){let{chainId:t,keystores:n=RE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?Lz({key:`tempo`}):Rz({key:`tempo`})}=e,s=Wz(zz(Hz(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>Jz(e,t,{schema:a}),name:`store`,partialize:e=>qz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:$z(o)}),storage:o,version:0}))),c=s;return c.accessKeys=yR({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function qz(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=>Zz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function Jz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(Xz):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>SD(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:Yz(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function Yz(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 Xz(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function Zz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&Qz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function Qz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function $z(e){return e[Gz]===!0}async function eB(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let tB=new Map;async function nB(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=tB.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 tB.set(r,a),a.then(e=>{e.length===0&&tB.delete(r)}),a}async function rB(e){let{symbol:t,...n}=e,r=await nB(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function iB(e,t){let n=SD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new nS({message:`Unsupported method \"${t?.method}\".`}):new $x(-32602,`Invalid params: ${aB(n.error.issues)}`)}return{...t,_decoded:n.data}}function aB(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?aB([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),If();let oB=new Set;function sB(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function cB(e={}){let{adapter:t=uz(),chains:n=[wE,TE,EE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?Lz():Rz()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Yb(`${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=Kz({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={})=>QR({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return pz(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??RE);let y=pS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,I(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:I(f.getState().chainId)}):y.emit(`disconnect`,new rS)});function b(){if(f.getState().accounts.length===0)throw new rS({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 nS({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 Hb({account:e.account,chain:t.chain,transport:e.transport??Wb({request:t.request})})}async function T(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?{feePayer:!0}:{}};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Zd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function ee(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 vz({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 T(e);return r.account.type===`json-rpc`?await Lb(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 vz({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?{feePayer:!0}:{}})}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 vz({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?{feePayer:!0}:{}};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[wD(Ik,a)]});let o=await yb(i,{account:r.account,...a});return wD(jk,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:ug({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:vg(t)})}async function ae(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:[wD(Xk.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 bR({...e,chainId:n});return{parameters:se(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!sB())return{parameters:e};let{key:r,keyAuthorization:i}=await bR({...e,chainId:n,keystores:l});if(!r)throw new Zx({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:GC(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 DT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!NR(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:[wD($k.parameters,e)]});return}let r=e.limits.map(t=>OT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await yb(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 ee(e);S(`signTransaction`)}async function fe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await te(e);S(`sendTransaction`)}async function pe(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ne(e);S(`sendTransactionSync`)}async function me(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await re(e);S(`signPersonalMessage`)}async function he(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ie(e);S(`signTypedData`)}async function ge(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await ae(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=>t.address.toLowerCase()===e.address.toLowerCase())||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 SR({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)})||!CR({parameters:t,calls:e.calls}))return;let n=xe(t);await ge(n,{method:`wallet_authorizeAccessKey`,params:[wD(Xk.parameters,n)]})}let Ee=Object.assign(mS({...y,async request({method:t,params:r}){return await eB(f),Tz(async()=>{let i;try{i=iB(mA,{method:t,params:r})}catch(e){if(!(e instanceof nS))throw e;return await pz(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return I(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts: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??ZR(a.accounts.find(e=>e.address.toLowerCase()===s.toLowerCase()));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 vz({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=F(await fe(l,{method:`eth_sendTransaction`,params:[wD(Ik,l)]}),mp(I(f.getState().chainId),32),uB);return{capabilities:{sync:a},id:e}}let u=await pe(l,{method:`eth_sendTransactionSync`,params:[wD(Ik,l)]}),p=u.transactionHash,m=I(f.getState().chainId),h=F(p,mp(m,32),uB);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw dB(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 rS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Xx({message:\"`tokens` is required.\"});let s=pz(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([QT(s,{account:a,token:e}),$T(s,{token:e})]),r=Number(t)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:I(t),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(uB.slice(2)))throw Error(\"`id` not supported\");lp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await pz(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=>e.address.toLowerCase()===t.toLowerCase()))throw new tS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Ce({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?hB(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Xx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Xx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await oe(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:wD(eA.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!g.forwardsAuth?await vB(o,t??f.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:p,keyAuthorization:m,personalSign:h,signature:v,username:y}=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:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??gp(16),...l?{personalSign:l}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:ye(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await ce({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??h?.message,C=o&&x&&S&&v&&b?await yB(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},...h?.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}):void 0;return{accounts:u.map(e=>({address:e.address,capabilities:e.address===b?{...m?{keyAuthorization:{...m,address:m.keyId}}:{},...v&&(!o||C||!x)?{signature:v}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...p?{identity:p}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=hB(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 nS({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 nS({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(F_(s)){let e=await $T(d,{token:s});return{address:s,decimals:e.decimals}}let e=await rB({chainId:d.chain.id,symbol:s});if(!e)throw new $x(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Oy(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[dE.call({amount:g,...y?{from:y}:{},memo:a?pp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await pe(x,{method:`eth_sendTransactionSync`,params:[wD(Ik,x)]});return{chainId:I(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new nS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new nS({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 nS({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 sS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Pf({method:t,params:r})})}},{schema:fA}),{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:Ee.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return pz(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},store:f});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;oB.has(e)||(oB.add(e),hA({info:{icon:t.icon??lB,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Ee}))}let De=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(De){let{mode:e=`push`,polyfill:t,...n}=De,r=t??fB(),i=({chainId:e})=>{let t=Ee.getClient({chainId:e}),n=f.getState().accounts[f.getState().activeAccount];if(!n)throw new rS({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};iR({methods:[rR({...n,getClient:i,mode:e}),rR.subscription({getClient:i})],polyfill:r})}return m=Ee,Ee}let lB=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,uB=m_(pp(`TEMPO_5792`));function dB(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 fB(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function pB(){return typeof document<`u`&&typeof document.cookie==`string`}function mB(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 Xx({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 hB(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:mB(e,`challenge`)}:{},...r?{verify:mB(e,`verify`)}:{},...i?{logout:mB(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return gB(a),a}function gB(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 Xx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Xx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let _B=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';async function vB(e,t){let n=typeof e==`object`?e.challenge:mB(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=tb(i.message),o=new URL(n);if(a.version!==`1`)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${_B}`});if(a.uri!==o.origin)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${_B}`});if(a.chainId!==t)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function yB(e,t){let n=typeof e==`object`?e.verify:mB(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!pB(),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 Zx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let bB={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},xB={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},SB={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var CB=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let wB={accent:new CB(`accent`),background:new CB(`background`),border:new CB(`border`),foreground:new CB(`foreground`),muted:new CB(`muted`),negative:new CB(`negative`),positive:new CB(`positive`),surface:new CB(`surface`),fontFamily:new CB(`font-family`),fontSizeBase:new CB(`font-size-base`),radius:new CB(`radius`),spacingUnit:new CB(`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: ${wB.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 TB(e){let t=new URL(location.href);t.searchParams.set(xB.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}If();function EB(e){let t=document.getElementById(bB.data),n=Nf(t.textContent),r=t.getAttribute(SB.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(SB.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(SB.challengeId),o=a?(i.removeAttribute(SB.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(bB.error)?.remove();return}let t=document.getElementById(bB.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=bB.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:TB,vars:wB}}let DB=EB(`tempo`),OB=String.raw,kB=document.createElement(`style`);kB.textContent=OB`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${DB.vars.spacingUnit} * 8);\n }\n button {\n background: ${DB.vars.accent};\n border-radius: ${DB.vars.radius};\n color: ${DB.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${DB.vars.spacingUnit} * 4) calc(${DB.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`,DB.root.append(kB);let AB=cB({testnet:DB.challenge.request.methodDetails?.chainId===TE.id||DB.challenge.request.methodDetails?.chainId===DE.id}),jB=document.createElement(`button`);jB.innerHTML=`${DB.text.pay===`Pay`?`Continue with`:DB.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>`,jB.onclick=async()=>{try{DB.error(),jB.disabled=!0;let e=await(async()=>{let e=await AB.request({method:`eth_accounts`});return e.length>0?e.at(0):(await AB.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await rR({account:e,getClient:e=>{let t=e.chainId??DB.challenge.request.methodDetails?.chainId;return Th({chain:[...AB?.chains??[],TE,DE].find(e=>e.id===t),transport:Wb(AB)})}})[0].createCredential({challenge:DB.challenge,context:{}});await DB.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;DB.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{jB.disabled=!1}},DB.root.appendChild(jB)})();</script>";
|
|
3
3
|
//# sourceMappingURL=html.gen.js.map
|