mppx 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +20 -11
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +18 -6
- package/dist/Challenge.js.map +1 -1
- package/dist/Mcp.d.ts +3 -0
- package/dist/Mcp.d.ts.map +1 -1
- package/dist/Mcp.js +2 -0
- package/dist/Mcp.js.map +1 -1
- package/dist/PaymentRequest.d.ts +10 -10
- package/dist/PaymentRequest.js +8 -8
- package/dist/client/Mppx.js +2 -2
- package/dist/client/Mppx.js.map +1 -1
- package/dist/client/Transport.d.ts +11 -16
- package/dist/client/Transport.d.ts.map +1 -1
- package/dist/client/Transport.js +55 -75
- package/dist/client/Transport.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +46 -7
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/protocols/Mcp.d.ts +7 -0
- package/dist/client/internal/protocols/Mcp.d.ts.map +1 -0
- package/dist/client/internal/protocols/Mcp.js +159 -0
- package/dist/client/internal/protocols/Mcp.js.map +1 -0
- package/dist/client/internal/protocols/Mpp.d.ts +4 -0
- package/dist/client/internal/protocols/Mpp.d.ts.map +1 -0
- package/dist/client/internal/protocols/Mpp.js +18 -0
- package/dist/client/internal/protocols/Mpp.js.map +1 -0
- package/dist/client/internal/protocols/Protocol.d.ts +10 -0
- package/dist/client/internal/protocols/Protocol.d.ts.map +1 -0
- package/dist/client/internal/protocols/Protocol.js +2 -0
- package/dist/client/internal/protocols/Protocol.js.map +1 -0
- package/dist/client/internal/protocols/Shared.d.ts +5 -0
- package/dist/client/internal/protocols/Shared.d.ts.map +1 -0
- package/dist/client/internal/protocols/Shared.js +20 -0
- package/dist/client/internal/protocols/Shared.js.map +1 -0
- package/dist/client/internal/protocols/X402.d.ts +8 -0
- package/dist/client/internal/protocols/X402.d.ts.map +1 -0
- package/dist/client/internal/protocols/X402.js +39 -0
- package/dist/client/internal/protocols/X402.js.map +1 -0
- package/dist/evm/client/index.d.ts +1 -0
- package/dist/evm/client/index.d.ts.map +1 -1
- package/dist/evm/client/index.js +1 -0
- package/dist/evm/client/index.js.map +1 -1
- package/dist/evm/index.d.ts +2 -0
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +2 -0
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/server/index.d.ts +1 -0
- package/dist/evm/server/index.d.ts.map +1 -1
- package/dist/evm/server/index.js +1 -0
- package/dist/evm/server/index.js.map +1 -1
- package/dist/mcp/client/McpClient.d.ts +101 -0
- package/dist/mcp/client/McpClient.d.ts.map +1 -0
- package/dist/mcp/client/McpClient.js +162 -0
- package/dist/mcp/client/McpClient.js.map +1 -0
- package/dist/mcp/client/index.d.ts.map +1 -0
- package/dist/mcp/client/index.js.map +1 -0
- package/dist/mcp/server/Transport.d.ts.map +1 -0
- package/dist/mcp/server/Transport.js.map +1 -0
- package/dist/mcp/server/index.d.ts.map +1 -0
- package/dist/mcp/server/index.js.map +1 -0
- package/dist/server/Mppx.d.ts +1 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +9 -0
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/Transport.d.ts +1 -1
- package/dist/server/Transport.d.ts.map +1 -1
- package/dist/server/Transport.js +1 -1
- package/dist/server/Transport.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/Proof.d.ts +85 -1
- package/dist/tempo/Proof.d.ts.map +1 -1
- package/dist/tempo/Proof.js +35 -0
- package/dist/tempo/Proof.js.map +1 -1
- package/dist/tempo/client/Charge.d.ts +13 -1
- package/dist/tempo/client/Charge.d.ts.map +1 -1
- package/dist/tempo/client/Charge.js +38 -25
- package/dist/tempo/client/Charge.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +5 -3
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/client/Methods.js +4 -2
- package/dist/tempo/client/Methods.js.map +1 -1
- package/dist/tempo/client/ResolveAccount.d.ts +40 -0
- package/dist/tempo/client/ResolveAccount.d.ts.map +1 -0
- package/dist/tempo/client/ResolveAccount.js +2 -0
- package/dist/tempo/client/ResolveAccount.js.map +1 -0
- package/dist/tempo/internal/fee-payer.d.ts +9 -1
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +35 -6
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/internal/proof.d.ts +71 -5
- package/dist/tempo/internal/proof.d.ts.map +1 -1
- package/dist/tempo/internal/proof.js +42 -6
- package/dist/tempo/internal/proof.js.map +1 -1
- package/dist/tempo/legacy/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/legacy/client/SessionManager.js +10 -3
- package/dist/tempo/legacy/client/SessionManager.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +42 -18
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +4 -2
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +4 -2
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Subscription.d.ts +10 -0
- package/dist/tempo/server/Subscription.d.ts.map +1 -1
- package/dist/tempo/server/Subscription.js +135 -23
- package/dist/tempo/server/Subscription.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts +2 -3
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +7 -10
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/ChannelStore.d.ts +51 -0
- package/dist/tempo/session/client/ChannelStore.d.ts.map +1 -0
- package/dist/tempo/session/client/ChannelStore.js +63 -0
- package/dist/tempo/session/client/ChannelStore.js.map +1 -0
- package/dist/tempo/session/client/CredentialState.d.ts +7 -24
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +51 -49
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +8 -2
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +22 -8
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +4 -40
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +124 -174
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/index.d.ts +3 -4
- package/dist/tempo/session/client/index.d.ts.map +1 -1
- package/dist/tempo/session/client/index.js +1 -0
- package/dist/tempo/session/client/index.js.map +1 -1
- package/dist/tempo/session/precompile/Voucher.d.ts +3 -3
- package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Voucher.js +24 -25
- package/dist/tempo/session/precompile/Voucher.js.map +1 -1
- package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
- package/dist/tempo/session/server/Settlement.js +4 -2
- package/dist/tempo/session/server/Settlement.js.map +1 -1
- package/dist/tempo/session/server/Sse.d.ts.map +1 -1
- package/dist/tempo/session/server/Sse.js.map +1 -1
- package/dist/tempo/session/server/Ws.d.ts.map +1 -1
- package/dist/tempo/session/server/Ws.js.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts +712 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/subscription/Store.d.ts +2 -0
- package/dist/tempo/subscription/Store.d.ts.map +1 -1
- package/dist/tempo/subscription/Store.js +16 -1
- package/dist/tempo/subscription/Store.js.map +1 -1
- package/dist/x402/index.d.ts +1 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +1 -0
- package/dist/x402/index.js.map +1 -1
- package/package.json +21 -10
- package/src/Challenge.test.ts +40 -0
- package/src/Challenge.ts +19 -6
- package/src/Mcp.ts +4 -0
- package/src/PaymentRequest.ts +10 -10
- package/src/cli/cli.test.ts +15 -15
- package/src/client/Mppx.test-d.ts +21 -1
- package/src/client/Mppx.test.ts +1 -1
- package/src/client/Mppx.ts +2 -2
- package/src/client/Transport.test.ts +225 -178
- package/src/client/Transport.ts +77 -83
- package/src/client/index.ts +14 -0
- package/src/client/internal/Fetch.test.ts +207 -2
- package/src/client/internal/Fetch.ts +52 -6
- package/src/client/internal/protocols/Mcp.test.ts +220 -0
- package/src/client/internal/protocols/Mcp.ts +162 -0
- package/src/client/internal/protocols/Mpp.ts +21 -0
- package/src/client/internal/protocols/Protocol.ts +10 -0
- package/src/client/internal/protocols/Shared.ts +25 -0
- package/src/client/internal/protocols/X402.ts +42 -0
- package/src/discovery/OpenApi.test.ts +1 -1
- package/src/evm/PublicInterface.test-d.ts +1 -1
- package/src/evm/client/index.ts +1 -0
- package/src/evm/index.ts +2 -0
- package/src/evm/server/Charge.test.ts +1 -1
- package/src/evm/server/index.ts +1 -0
- package/src/{mcp-sdk → mcp}/client/McpClient.integration.test.ts +10 -4
- package/src/{mcp-sdk → mcp}/client/McpClient.test-d.ts +45 -18
- package/src/{mcp-sdk → mcp}/client/McpClient.test.ts +211 -5
- package/src/mcp/client/McpClient.ts +307 -0
- package/src/{mcp-sdk → mcp}/client/McpClient.unit.test.ts +9 -5
- package/src/middlewares/elysia.test.ts +1 -1
- package/src/middlewares/express.test.ts +1 -1
- package/src/middlewares/hono.test.ts +1 -1
- package/src/middlewares/internal/mppx.test.ts +1 -1
- package/src/middlewares/nextjs.test.ts +1 -1
- package/src/proxy/Proxy.test.ts +1 -1
- package/src/proxy/services/anthropic.test.ts +1 -1
- package/src/proxy/services/openai.test.ts +1 -1
- package/src/proxy/services/stripe.test.ts +1 -1
- package/src/server/Mppx.authorize.test.ts +1 -1
- package/src/server/Mppx.test-d.ts +1 -1
- package/src/server/Mppx.test.ts +20 -2
- package/src/server/Mppx.ts +14 -1
- package/src/server/Transport.test.ts +6 -6
- package/src/server/Transport.ts +1 -1
- package/src/stripe/Charge.integration.test.ts +1 -1
- package/src/stripe/client/Charge.test.ts +1 -1
- package/src/stripe/server/Charge.test.ts +1 -1
- package/src/stripe/server/internal/html/package.json +1 -1
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/Proof.conformance.test.ts +146 -0
- package/src/tempo/Proof.test-d.ts +15 -0
- package/src/tempo/Proof.ts +52 -1
- package/src/tempo/Subscription.integration.test.ts +1 -1
- package/src/tempo/client/Charge.test.ts +173 -0
- package/src/tempo/client/Charge.ts +65 -36
- package/src/tempo/client/Methods.ts +4 -2
- package/src/tempo/client/ResolveAccount.ts +46 -0
- package/src/tempo/internal/fee-payer.test.ts +65 -10
- package/src/tempo/internal/fee-payer.ts +42 -6
- package/src/tempo/internal/proof.test.ts +12 -4
- package/src/tempo/internal/proof.ts +55 -6
- package/src/tempo/legacy/client/SessionManager.ts +11 -3
- package/src/tempo/legacy/server/Session.test.ts +91 -26
- package/src/tempo/server/Charge.test.ts +388 -17
- package/src/tempo/server/Charge.ts +46 -24
- package/src/tempo/server/Methods.ts +4 -2
- package/src/tempo/server/Subscription.test.ts +465 -3
- package/src/tempo/server/Subscription.ts +174 -19
- package/src/tempo/server/internal/html/package.json +2 -2
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/client/ChannelOps.ts +5 -19
- package/src/tempo/session/client/ChannelStore.ts +111 -0
- package/src/tempo/session/client/CredentialState.test.ts +206 -62
- package/src/tempo/session/client/CredentialState.ts +58 -73
- package/src/tempo/session/client/Session.test.ts +41 -1
- package/src/tempo/session/client/Session.ts +36 -10
- package/src/tempo/session/client/SessionManager.test.ts +154 -65
- package/src/tempo/session/client/SessionManager.ts +141 -235
- package/src/tempo/session/client/index.ts +8 -5
- package/src/tempo/session/precompile/Voucher.test.ts +45 -7
- package/src/tempo/session/precompile/Voucher.ts +27 -25
- package/src/tempo/session/server/Session.test.ts +4 -4
- package/src/tempo/session/server/Settlement.test.ts +88 -1
- package/src/tempo/session/server/Settlement.ts +2 -1
- package/src/tempo/session/server/Sse.ts +0 -2
- package/src/tempo/session/server/Ws.ts +0 -4
- package/src/tempo/subscription/Store.ts +27 -9
- package/src/x402/Exact.e2e.test.ts +1 -1
- package/src/x402/PublicInterface.test-d.ts +1 -1
- package/src/x402/index.ts +1 -0
- package/dist/mcp-sdk/client/McpClient.d.ts +0 -85
- package/dist/mcp-sdk/client/McpClient.d.ts.map +0 -1
- package/dist/mcp-sdk/client/McpClient.js +0 -118
- package/dist/mcp-sdk/client/McpClient.js.map +0 -1
- package/dist/mcp-sdk/client/index.d.ts.map +0 -1
- package/dist/mcp-sdk/client/index.js.map +0 -1
- package/dist/mcp-sdk/server/Transport.d.ts.map +0 -1
- package/dist/mcp-sdk/server/Transport.js.map +0 -1
- package/dist/mcp-sdk/server/index.d.ts.map +0 -1
- package/dist/mcp-sdk/server/index.js.map +0 -1
- package/src/mcp-sdk/client/McpClient.ts +0 -228
- /package/dist/{mcp-sdk → mcp}/client/index.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/client/index.js +0 -0
- /package/dist/{mcp-sdk → mcp}/server/Transport.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/server/Transport.js +0 -0
- /package/dist/{mcp-sdk → mcp}/server/index.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/server/index.js +0 -0
- /package/src/{mcp-sdk → mcp}/client/index.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/Transport.test.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/Transport.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/index.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
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)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));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:440,width:360};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function ee(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function te(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ne,re,ie,ae=[];function oe(){return typeof window>`u`?ce():C({name:`iframe`},e=>{let{host:t}=e;if(ne&&ne.host===t){let t=re;return re=e.store,t&&t!==re&&!ae.includes(t)&&ae.push(t),ie?.destroy(),ie=se()(e),ne.instance.syncTheme(e.theme),ne.instance}ne?.instance.destroy(),re=e.store,ie=se()(e);let n=!1,r=me(),i=new URL(t);i.searchParams.set(`chainId`,String(re.getState().chainId)),i.searchParams.set(`mode`,`iframe`),r.icon&&(typeof r.icon==`string`?i.searchParams.set(`icon`,r.icon):(i.searchParams.set(`icon`,r.icon.light),i.searchParams.set(`iconDark`,r.icon.dark))),x(i,e.theme);let a=document.createElement(`dialog`);a.dataset.tempoWallet=``,a.setAttribute(`role`,`dialog`),a.setAttribute(`aria-closed`,`true`),a.setAttribute(`aria-label`,`Tempo Wallet`),a.setAttribute(`hidden`,`until-found`),Object.assign(a.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let o=document.createElement(`iframe`);o.dataset.testid=`tempo-wallet`,o.setAttribute(`allow`,[`publickey-credentials-get ${i.origin}`,`publickey-credentials-create ${i.origin}`,`clipboard-write`,`payment`].join(`; `)),o.setAttribute(`allowtransparency`,`true`),o.setAttribute(`tabindex`,`0`),o.setAttribute(`title`,`Tempo Wallet`),o.src=i.toString(),Object.assign(o.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let s=document.createElement(`style`);s.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,a.appendChild(s),a.appendChild(o);let c,l=!1;function u(){c=void 0;let e=h({from:m(window,{targetOrigin:i.origin}),to:m(o.contentWindow,{targetOrigin:i.origin}),waitForReady:!0});return e.on(`rpc-response`,e=>{ue(le(re,ae,e.id),e)}),e.waitForReady().then(t=>{c=t,t.colorScheme&&(o.style.colorScheme=t.colorScheme),fe(e)}),e.on(`sync`,({valid:e})=>{e===!1&&re?.setState({accessKeys:[],accounts:[],activeAccount:0})}),e.on(`switch-mode`,()=>{ce(),S(),n=!1,l=!0;let e=re?.getState().requestQueue.filter(e=>e.status===`pending`);e&&e.length>0&&ie?.syncRequests(e)}),e}document.body.appendChild(a);let d=u();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===a){document.body.appendChild(a),d.destroy(),d=u();return}}).observe(document.body,{childList:!0});let p=``,g=null,_=()=>de(re),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&a.removeAttribute(`inert`)});y.observe(a,{attributeOldValue:!0,attributes:!0});let b=!1,S=()=>{b&&(b=!1,a.removeEventListener(`cancel`,_),a.removeEventListener(`click`,_),a.style.pointerEvents=`none`,g?.focus(),g=null,document.body.style.overflow=p)},C=()=>{b||(b=!0,a.addEventListener(`cancel`,_),a.addEventListener(`click`,_),o.focus(),a.style.pointerEvents=`auto`,p=document.body.style.overflow,document.body.style.overflow=`hidden`)},ee=!1,oe=()=>{ee||(ee=!0,document.activeElement instanceof HTMLElement&&(g=document.activeElement),a.removeAttribute(`hidden`),a.removeAttribute(`aria-closed`),a.showModal())},ce=()=>{if(ee){ee=!1,a.setAttribute(`hidden`,`true`),a.setAttribute(`aria-closed`,`true`),a.close();for(let e of a.parentNode?Array.from(a.parentNode.children):[])e!==a&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},he={close(){ie.close(),n=!1,ce(),S()},destroy(){ne?.instance===he&&(ne=void 0),ie?.close(),n=!1,S(),ce(),ie?.destroy(),d.destroy(),a.remove(),y.disconnect(),re=void 0,ie=void 0,ae=[]},open(){n||(n=!0,oe(),C())},async syncRequests(e){if(l){ie.syncRequests(e);return}let{trustedHosts:t}=c??await d.waitForReady();if(te()&&e.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){ie.syncRequests(e);return}let r=f(),a=window.location.hostname.replace(/^www\\./,``),o=!!(t&&v(t,a,i.hostname));if(!(r||o))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),ie.syncRequests(e);else{let t=e.some(e=>e.status===`pending`);!n&&t&&this.open(),d.send(`rpc-requests`,{account:pe(re),chainId:re.getState().chainId,requests:e})}},syncTheme(e){o.style.colorScheme=e?.scheme??`light dark`,d.send(`theme`,e??{})}};return ne={host:t,instance:he},he})}function se(e={}){if(typeof window>`u`)return ce();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=(()=>{let e=setInterval(()=>{i?.closed&&de(r)},100);return()=>clearInterval(e)})(),o,s=document.createElement(`div`);Object.assign(s.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let c=document.createElement(`p`);Object.assign(c.style,{margin:`0`}),c.textContent=`Continue in the popup window`;let l=document.createElement(`button`);return Object.assign(l.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),l.textContent=`Close`,l.addEventListener(`click`,()=>de(r)),s.appendChild(c),s.appendChild(l),document.body.appendChild(s),{close(){s.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),o?.destroy(),a(),s.remove()},open(){o?.destroy(),i?.close();let a=me(),c=new URL(n);c.searchParams.set(`chainId`,String(r.getState().chainId)),c.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?c.searchParams.set(`icon`,a.icon):(c.searchParams.set(`icon`,a.icon.light),c.searchParams.set(`iconDark`,a.icon.dark))),x(c,e.theme);let l=(window.innerWidth-t.width)/2+window.screenX,u=window.screenY+100;if(i=window.open(c.toString(),`_blank`,`width=${t.width},height=${t.height},left=${l},top=${u}`),!i)throw Error(`Failed to open popup`);o=h({from:m(window,{targetOrigin:c.origin}),to:m(i,{targetOrigin:c.origin}),waitForReady:!0}),o.on(`rpc-response`,e=>ue(r,e)),s.style.display=`flex`},async syncRequests(e){e.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),o?.send(`rpc-requests`,{account:pe(r),chainId:r.getState().chainId,requests:e})},syncTheme(){}}})}function ce(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function le(e,t,n){if(e.getState().requestQueue.some(e=>e.request.id===n))return e;for(let e of t)if(e.getState().requestQueue.some(e=>e.request.id===n))return e;return e}function ue(e,t){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.request.id===t.id?t.error?{request:e.request,error:t.error,status:`error`}:{request:e.request,result:t.result,status:`success`}:e)}))}function de(e){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.status===`pending`?{request:e.request,error:{code:4001,message:`User rejected the request.`},status:`error`}:e)}))}function fe(e){if(!re)return;let{accounts:t}=re.getState();t.length!==0&&e.send(`sync`,{addresses:t.map(e=>e.address)})}function pe(e){let{accounts:t,activeAccount:n}=e.getState(),r=t[n];if(r)return{address:r.address}}function me(){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 he,ge=o((()=>{he=`1.2.3`})),_e,ve=o((()=>{ge(),_e=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@${he}`].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 ye(e,t){return e.exec(t)?.groups}var be,xe,Se,Ce=o((()=>{be=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xe=/^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)?$/,Se=/^\\(.+?\\).*?$/}));function we(e){let t=e.type;if(Te.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+=we(i),r<n-1&&(t+=`, `)}let r=ye(Te,e.type);return t+=`)${r?.array||``}`,we({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Te,Ee=o((()=>{Ce(),Te=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function De(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=we(i),r!==n-1&&(t+=`, `)}return t}var Oe=o((()=>{Ee()}));function ke(e){return e.type===`function`?`function ${e.name}(${De(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${De(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${De(e.inputs)})`:e.type===`error`?`error ${e.name}(${De(e.inputs)})`:e.type===`constructor`?`constructor(${De(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Ae=o((()=>{Oe()}));function je(e){return We.test(e)}function Me(e){return ye(We,e)}function Ne(e){return Ge.test(e)}function Pe(e){return ye(Ge,e)}function Fe(e){return Ke.test(e)}function Ie(e){return ye(Ke,e)}function Le(e){return qe.test(e)}function Re(e){return ye(qe,e)}function ze(e){return Je.test(e)}function Be(e){return ye(Je,e)}function Ve(e){return Ye.test(e)}function He(e){return ye(Ye,e)}function Ue(e){return Xe.test(e)}var We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e=o((()=>{Ce(),We=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ge=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ke=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,qe=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Je=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ye=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Xe=/^receive\\(\\) external payable$/,Ze=new Set([`indexed`]),Qe=new Set([`calldata`,`memory`,`storage`])})),et,tt,nt=o((()=>{ve(),et=class extends _e{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`})}},tt=class extends _e{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`})}}})),rt,it,at,ot,st,ct=o((()=>{ve(),rt=class extends _e{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},it=class extends _e{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`})}},at=class extends _e{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`})}},ot=class extends _e{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`})}},st=class extends _e{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`})}}})),lt,ut,dt,ft=o((()=>{ve(),lt=class extends _e{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},ut=class extends _e{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},dt=class extends _e{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`})}}})),pt,mt=o((()=>{ve(),pt=class extends _e{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`})}}})),ht,gt=o((()=>{ve(),ht=class extends _e{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 _t(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 vt,yt=o((()=>{vt=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 bt(e,t={}){if(Fe(e))return xt(e,t);if(Ne(e))return St(e,t);if(je(e))return Ct(e,t);if(ze(e))return wt(e,t);if(Ve(e))return Tt(e);if(Ue(e))return{type:`receive`,stateMutability:`payable`};throw new ut({signature:e})}function xt(e,t={}){let n=Ie(e);if(!n)throw new lt({signature:e,type:`function`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{modifiers:Qe,structs:t,type:`function`}));let o=[];if(n.returns){let e=Dt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Et(e[n],{modifiers:Qe,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function St(e,t={}){let n=Pe(e);if(!n)throw new lt({signature:e,type:`event`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{modifiers:Ze,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function Ct(e,t={}){let n=Me(e);if(!n)throw new lt({signature:e,type:`error`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function wt(e,t={}){let n=Be(e);if(!n)throw new lt({signature:e,type:`constructor`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function Tt(e){let t=He(e);if(!t)throw new lt({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Et(e,t){let n=_t(e,t?.type,t?.structs);if(vt.has(n))return vt.get(n);let r=Se.test(e),i=ye(r?Mt:jt,e);if(!i)throw new rt({param:e});if(i.name&&kt(i.name))throw new it({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=Dt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Et(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Nt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Ot(c))throw new tt({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new at({param:e,type:t?.type,modifier:i.modifier});if(Qe.has(i.modifier)&&!At(c,!!i.array))throw new ot({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return vt.set(n,u),u}function Dt(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?Dt(o,[...t,n.trim()]):Dt(o,t,`${n}${i}`,r);case`(`:return Dt(o,t,`${n}${i}`,r+1);case`)`:return Dt(o,t,`${n}${i}`,r-1);default:return Dt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ht({current:n,depth:r});return t.push(n.trim()),t}function Ot(e){return e===`address`||e===`bool`||e===`function`||e===`string`||be.test(e)||xe.test(e)}function kt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||be.test(e)||xe.test(e)||Pt.test(e)}function At(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var jt,Mt,Nt,Pt,Ft=o((()=>{Ce(),nt(),ct(),ft(),gt(),yt(),$e(),jt=/^(?<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$_]*))?$/,Mt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Nt=/^u?int$/,Pt=/^(?: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 It(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Le(n))continue;let i=Re(n);if(!i)throw new lt({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=Et(t,{type:`struct`});o.push(n)}if(!o.length)throw new dt({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]=Lt(a,t)}return r}function Lt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Se.test(i.type))r.push(i);else{let e=ye(Rt,i.type);if(!e?.type)throw new st({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new pt({type:o});r.push({...i,type:`tuple${a??``}`,components:Lt(t[o],t,new Set([...n,o]))})}else if(Ot(o))r.push(i);else throw new et({type:o})}}return r}var Rt,zt=o((()=>{Ce(),nt(),ct(),ft(),mt(),$e(),Ft(),Rt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Bt(e){let t=It(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Le(r)||n.push(bt(r,t))}return n}var Vt=o((()=>{$e(),zt(),Ft()})),Ht=o((()=>{ve(),Ae(),Ee(),Oe(),Vt(),nt(),$e(),zt(),Ft(),ct(),ft(),gt(),mt()}));function w(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 Ut(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new Cn(e.type);return`${e.name}(${Wt(e.inputs,{includeName:t})})`}function Wt(e,{includeName:t=!1}={}){return e?e.map(e=>Gt(e,{includeName:t})).join(t?`, `:`,`):``}function Gt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Wt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Kt=o((()=>{wn()}));function T(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var qt=o((()=>{}));function Jt(e){return T(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Yt=o((()=>{qt()})),Xt,Zt=o((()=>{Xt=`2.51.3`}));function Qt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Qt(e.cause,t):t?null:e}var $t,E,D=o((()=>{Zt(),$t={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Xt}`},E=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.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...$t.version?[`Version: ${$t.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=Xt}walk(e){return Qt(this,e)}}})),en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn=o((()=>{Kt(),Yt(),D(),en=class extends E{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`})}},tn=class extends E{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`})}},nn=class extends E{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Wt(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}},rn=class extends E{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},an=class extends E{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`})}},on=class extends E{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Jt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},sn=class extends E{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},cn=class extends E{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`})}},ln=class extends E{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`})}},un=class extends E{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}},dn=class extends E{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},fn=class extends E{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`})}},pn=class extends E{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`})}},mn=class extends E{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`})}},hn=class extends E{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`})}},gn=class extends E{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ut(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Ut(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},_n=class extends E{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},vn=class extends E{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: (${Wt(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}},yn=class extends E{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Ut(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},bn=class extends E{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`})}},xn=class extends E{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`})}},Sn=class extends E{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},Cn=class extends E{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Tn,En,Dn,On=o((()=>{D(),Tn=class extends E{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},En=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Dn=class extends E{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 kn(e,{dir:t,size:n=32}={}){return typeof e==`string`?An(e,{dir:t,size:n}):jn(e,{dir:t,size:n})}function An(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new En({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function jn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new En({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 Mn=o((()=>{On()})),Nn,Pn,Fn,In,Ln,Rn=o((()=>{D(),Nn=class extends E{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`})}},Pn=class extends E{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`})}},Fn=class extends E{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},In=class extends E{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Ln=class extends E{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function zn(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 Bn=o((()=>{}));function Vn(e,{size:t}){if(Jt(e)>t)throw new Ln({givenSize:Jt(e),maxSize:t})}function O(e,t={}){let{signed:n}=t;t.size&&Vn(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 Hn(e,t={}){let n=e;if(t.size&&(Vn(n,{size:t.size}),n=zn(n)),zn(n)===`0x00`)return!1;if(zn(n)===`0x01`)return!0;throw new Fn(n)}function Un(e,t={}){let n=O(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Nn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Wn=o((()=>{Rn(),Yt(),Bn()}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?k(e,t):typeof e==`string`?Jn(e,t):typeof e==`boolean`?Kn(e,t):qn(e,t)}function Kn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{size:t.size})):n}function qn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Yn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Vn(r,{size:t.size}),kn(r,{dir:`right`,size:t.size})):r}function k(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 Nn({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?kn(s,{size:r}):s}function Jn(e,t={}){return qn(Xn.encode(e),t)}var Yn,Xn,A=o((()=>{Rn(),Mn(),Wn(),Yn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Xn=new TextEncoder}));function Zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?tr(e,t):typeof e==`boolean`?Qn(e,t):T(e)?er(e,t):nr(e,t)}function Qn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{size:t.size})):n}function $n(e){if(e>=ir.zero&&e<=ir.nine)return e-ir.zero;if(e>=ir.A&&e<=ir.F)return e-(ir.A-10);if(e>=ir.a&&e<=ir.f)return e-(ir.a-10)}function er(e,t={}){let n=e;t.size&&(Vn(n,{size:t.size}),n=kn(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=$n(r.charCodeAt(t++)),i=$n(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new E(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function tr(e,t){return er(k(e,t))}function nr(e,t={}){let n=rr.encode(e);return typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{dir:`right`,size:t.size})):n}var rr,ir,ar=o((()=>{D(),qt(),Mn(),Wn(),A(),rr=new TextEncoder,ir={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function or(e,t=!1){return t?{h:Number(e&lr),l:Number(e>>ur&lr)}:{h:Number(e>>ur&lr)|0,l:Number(e&lr)|0}}function sr(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}=or(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function cr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr=o((()=>{lr=BigInt(2**32-1),ur=BigInt(32),dr=(e,t,n)=>e>>>n,fr=(e,t,n)=>e<<32-n|t>>>n,pr=(e,t,n)=>e>>>n|t<<32-n,mr=(e,t,n)=>e<<32-n|t>>>n,hr=(e,t,n)=>e<<64-n|t>>>n-32,gr=(e,t,n)=>e>>>n-32|t<<64-n,_r=(e,t,n)=>e<<n|t>>>32-n,vr=(e,t,n)=>t<<n|e>>>32-n,yr=(e,t,n)=>t<<n-32|e>>>64-n,br=(e,t,n)=>e<<n-32|t>>>64-n,xr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Sr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Cr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),wr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Tr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Er=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Or,kr=o((()=>{Or=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ar(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function jr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Mr(e,...t){if(!Ar(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 Nr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);jr(e.outputLen),jr(e.blockLen)}function Pr(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 Fr(e,t){Mr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ir(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Lr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Rr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zr(e,t){return e<<32-t|e>>>t}function Br(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Vr(e){for(let t=0;t<e.length;t++)e[t]=Br(e[t]);return e}function Hr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Ur(e){return typeof e==`string`&&(e=Hr(e)),Mr(e),e}function Wr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Mr(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 Gr(e){let t=t=>e().update(Ur(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Kr(e=32){if(Or&&typeof Or.getRandomValues==`function`)return Or.getRandomValues(new Uint8Array(e));if(Or&&typeof Or.randomBytes==`function`)return Uint8Array.from(Or.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var qr,Jr,Yr,Xr=o((()=>{kr(),qr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Jr=qr?e=>e:Vr,Yr=class{}}));function Zr(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=ui(a,o,1)^n[r],c=di(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=ai[n],a=ui(t,i,r),o=di(t,i,r),s=ii[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]^=ci[r],e[1]^=li[r]}Lr(n)}var Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi=o((()=>{Dr(),Xr(),Qr=BigInt(0),$r=BigInt(1),ei=BigInt(2),ti=BigInt(7),ni=BigInt(256),ri=BigInt(113),ii=[],ai=[],oi=[];for(let e=0,t=$r,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ii.push(2*(5*r+n)),ai.push((e+1)*(e+2)/2%64);let i=Qr;for(let e=0;e<7;e++)t=(t<<$r^(t>>ti)*ri)%ni,t&ei&&(i^=$r<<($r<<BigInt(e))-$r);oi.push(i)}si=sr(oi,!0),ci=si[0],li=si[1],ui=(e,t,n)=>n>32?yr(e,t,n):_r(e,t,n),di=(e,t,n)=>n>32?br(e,t,n):vr(e,t,n),fi=class e extends Yr{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,jr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ir(this.state)}clone(){return this._cloneInto()}keccak(){Jr(this.state32),Zr(this.state32,this.rounds),Jr(this.state32),this.posOut=0,this.pos=0}update(e){Pr(this),e=Ur(e),Mr(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){Pr(this,!1),Mr(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 jr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Fr(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,Lr(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}},pi=(e,t,n)=>Gr(()=>new fi(t,e,n)),mi=pi(1,136,256/8)}));function gi(e,t){let n=t||`hex`,r=mi(T(e,{strict:!1})?Zn(e):e);return n===`bytes`?r:Gn(r)}var _i=o((()=>{hi(),qt(),ar(),A()}));function vi(e){return yi(e)}var yi,bi=o((()=>{ar(),_i(),yi=e=>gi(Zn(e))}));function xi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new E(`Unable to normalize signature.`);return i}var Si=o((()=>{D()})),Ci,wi=o((()=>{Ht(),Si(),Ci=e=>xi(typeof e==`string`?e:ke(e))}));function Ti(e){return vi(Ci(e))}var Ei=o((()=>{bi(),wi()})),Di,Oi=o((()=>{Ei(),Di=Ti})),ki,Ai=o((()=>{D(),ki=class extends E{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),ji,Mi=o((()=>{ji=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Ni(e,t){if(Fi.has(`${e}.${t}`))return Fi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=gi(nr(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Fi.set(`${e}.${t}`,a),a}function Pi(e,t){if(!Li(e,{strict:!1}))throw new ki({address:e});return Ni(e,t)}var Fi,Ii=o((()=>{Ai(),ar(),_i(),Mi(),Bi(),Fi=new ji(8192)}));function Li(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(zi.has(r))return zi.get(r);let i=Ri.test(e)?e.toLowerCase()===e?!0:n?Ni(e)===e:!0:!1;return zi.set(r,i),i}var Ri,zi,Bi=o((()=>{Mi(),Ii(),Ri=/^0x[a-fA-F0-9]{40}$/,zi=new ji(8192)}));function Vi(e){return typeof e[0]==`string`?Ui(e):Hi(e)}function Hi(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ui(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Wi=o((()=>{}));function Gi(e,t,n,{strict:r}={}){return T(e,{strict:!1})?Yi(e,t,n,{strict:r}):Ji(e,t,n,{strict:r})}function Ki(e,t){if(typeof t==`number`&&t>0&&t>Jt(e)-1)throw new Tn({offset:t,position:`start`,size:Jt(e)})}function qi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Jt(e)!==n-t)throw new Tn({offset:n,position:`end`,size:Jt(e)})}function Ji(e,t,n,{strict:r}={}){Ki(e,t);let i=e.slice(t,n);return r&&qi(i,t,n),i}function Yi(e,t,n,{strict:r}={}){Ki(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&qi(i,t,n),i}var Xi=o((()=>{On(),qt(),Yt()})),Zi,Qi,$i=o((()=>{Zi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Qi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function ea(e,t){if(e.length!==t.length)throw new sn({expectedLength:e.length,givenLength:t.length});let n=ra(ta({params:e,values:t}));return n.length===0?`0x`:n}function ta({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(na({param:e[r],value:t[r]}));return n}function na({param:e,value:t}){let n=da(e.type);if(n){let[r,i]=n;return aa(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ua(t,{param:e});if(e.type===`address`)return ia(t);if(e.type===`bool`)return sa(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Qi.exec(e.type)??[];return ca(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return oa(t,{param:e});if(e.type===`string`)return la(t);throw new bn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function ra(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Jt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(k(t+i,{size:32})),r.push(s),i+=Jt(s)):n.push(s)}return Vi([...n,...r])}function ia(e){if(!Li(e))throw new ki({address:e});return{dynamic:!1,encoded:An(e.toLowerCase())}}function aa(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new Sn(e);if(!r&&e.length!==t)throw new an({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=na({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=ra(a);if(r){let t=k(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Vi([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Vi(a.map(({encoded:e})=>e))}}function oa(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Jt(e);if(!n){let t=e;return r%32!=0&&(t=An(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Vi([An(k(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new on({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:An(e,{dir:`right`})}}function sa(e){if(typeof e!=`boolean`)throw new E(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:An(Kn(e))}}function ca(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Nn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:k(e,{size:32,signed:t})}}function la(e){let t=Jn(e),n=Math.ceil(Jt(t)/32),r=[];for(let e=0;e<n;e++)r.push(An(Gi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Vi([An(k(Jt(t),{size:32})),...r])}}function ua(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=na({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?ra(r):Vi(r.map(({encoded:e})=>e))}}function da(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var fa=o((()=>{wn(),Ai(),D(),Rn(),Bi(),Wi(),Mn(),Yt(),Xi(),A(),$i()})),pa,ma=o((()=>{Xi(),Ei(),pa=e=>Gi(Ti(e),0,4)}));function ha(e){let{abi:t,args:n=[],name:r}=e,i=T(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?pa(e)===r:e.type===`event`?Di(e)===r:!1:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?ga(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=_a(e.inputs,o.inputs,n);if(t)throw new gn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ga(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Li(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&ga(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>ga(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function _a(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return _a(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Li(n[r],{strict:!1}))return o}}var va=o((()=>{wn(),qt(),Bi(),Oi(),ma()}));function ya(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ba=o((()=>{}));function xa(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ha({abi:t,args:n,name:r});if(!e)throw new pn(r,{docsPath:Sa});i=e}if(i.type!==`function`)throw new pn(void 0,{docsPath:Sa});return{abi:[i],functionName:pa(Ut(i))}}var Sa,Ca=o((()=>{wn(),ma(),Kt(),va(),Sa=`/docs/contract/encodeFunctionData`}));function wa(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:xa(e),i=n[0];return Ui([r,(`inputs`in i&&i.inputs?ea(i.inputs,t??[]):void 0)??`0x`])}var Ta=o((()=>{Wi(),fa(),Ca()})),Ea,Da,Oa,ka=o((()=>{Ea={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},Da={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Oa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Aa,ja,Ma,Na=o((()=>{D(),Aa=class extends E{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},ja=class extends E{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ma=class extends E{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Pa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Fa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Fa,Ia=o((()=>{Na(),Fa={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Ma({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ja({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Aa({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Aa({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function La(e,t={}){return t.size!==void 0&&Vn(e,{size:t.size}),O(qn(e,t),t)}function Ra(e,t={}){let n=e;if(t.size!==void 0&&(Vn(n,{size:t.size}),n=zn(n)),n.length>1||n[0]>1)throw new Pn(n);return!!n[0]}function za(e,t={}){return t.size!==void 0&&Vn(e,{size:t.size}),Un(qn(e,t),t)}function Ba(e,t={}){let n=e;return t.size!==void 0&&(Vn(n,{size:t.size}),n=zn(n,{dir:`right`})),new TextDecoder().decode(n)}var Va=o((()=>{Rn(),Bn(),Wn(),A()}));function Ha(e,t){let n=typeof t==`string`?er(t):t,r=Pa(n);if(Jt(n)===0&&e.length>0)throw new rn;if(Jt(t)&&Jt(t)<32)throw new nn({data:typeof t==`string`?t:qn(t),params:e,size:Jt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=Ua(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function Ua(e,t,{staticPosition:n}){let r=da(t.type);if(r){let[i,a]=r;return Ga(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ya(e,t,{staticPosition:n});if(t.type===`address`)return Wa(e);if(t.type===`bool`)return Ka(e);if(t.type.startsWith(`bytes`))return qa(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ja(e,t);if(t.type===`string`)return Xa(e,{staticPosition:n});throw new xn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Wa(e){return[Ni(qn(Ji(e.readBytes(32),-20))),32]}function Ga(e,t,{length:n,staticPosition:r}){if(!n){let n=r+za(e.readBytes($a)),i=n+Qa;e.setPosition(n);let a=za(e.readBytes(Qa)),o=Za(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ua(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Za(t)){let i=r+za(e.readBytes($a)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ua(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Ua(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function Ka(e){return[Ra(e.readBytes(32),{size:32}),32]}function qa(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=za(e.readBytes(32));e.setPosition(n+t);let r=za(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[qn(i),32]}return[qn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ja(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?La(i,{signed:n}):za(i,{signed:n}),32]}function Ya(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Za(t)){let o=n+za(e.readBytes($a));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ua(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Ua(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Xa(e,{staticPosition:t}){let n=t+za(e.readBytes(32));e.setPosition(n);let r=za(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ba(zn(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Za(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Za);let n=da(e.type);return!!(n&&Za({...e,type:n[1]}))}var Qa,$a,eo=o((()=>{wn(),Ii(),Ia(),Yt(),Xi(),Bn(),Va(),ar(),A(),fa(),Qa=32,$a=32}));function to(e){let{abi:t,data:n,cause:r}=e,i=Gi(n,0,4);if(i===`0x`)throw new rn({cause:r});let a=[...t||[],Da,Oa].find(e=>e.type===`error`&&i===pa(Ut(e)));if(!a)throw new un(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ha(a.inputs,Gi(n,4)):void 0,errorName:a.name}}var no=o((()=>{ka(),wn(),Xi(),ma(),eo(),Kt()})),ro,io=o((()=>{ro=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function ao({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?ro(t[n]):t[n]}`).join(`, `)})`}var oo=o((()=>{io()})),so,co,lo=o((()=>{so={gwei:9,wei:18},co={ether:-9,wei:9}}));function uo(e,t){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}var fo=o((()=>{}));function po(e,t=`wei`){return uo(e,so[t])}var mo=o((()=>{lo(),fo()}));function ho(e,t=`wei`){return uo(e,co[t])}var go=o((()=>{lo(),fo()}));function _o(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function vo(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=_o(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=_o(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var yo,bo,xo=o((()=>{D(),yo=class extends E{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},bo=class extends E{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function So(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var Co,wo,To,Eo,Do,Oo,ko=o((()=>{mo(),go(),D(),Co=class extends E{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},wo=class extends E{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,So(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},To=class extends E{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 E{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 E{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 E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=So({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}}));function Ao(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 jo(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Mo,No,Po=o((()=>{Mo=e=>e,No=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Fo,Io,Lo,Ro,zo,Bo,Vo=o((()=>{ba(),ka(),no(),Kt(),oo(),va(),mo(),go(),wn(),D(),xo(),ko(),Po(),Fo=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=So({from:(t?ya(t):void 0)?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(c)} gwei`,nonce:l});f&&(p+=`\\n${vo(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Io=class extends E{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ha({abi:t,args:n,name:a}),c=s?ao({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Ut(s,{includeName:!0}):void 0,u=So({address:r&&Mo(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}},Lo=class extends E{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=to({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=Ea[e]}else{let e=n?Ut(n,{includeName:!0}):void 0,t=n&&a?ao({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof un&&(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}},Ro=class extends E{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})}},zo=class extends E{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`})}},Bo=class extends E{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}}})),Ho,Uo,Wo,Go=o((()=>{io(),D(),Po(),Ho=class extends E{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: ${No(a)}`,e&&`Request body: ${ro(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Uo=class extends E{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${No(n)}`,`Request body: ${ro(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Wo=class extends E{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${No(t)}`,`Request body: ${ro(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss=o((()=>{D(),Go(),Ko=-1,qo=class extends E{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 Uo?e.code:t??Ko}},Jo=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}},Yo=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(Yo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Xo=class e extends qo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Xo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Zo=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(Zo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Qo=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(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),$o=class e extends qo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),es=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(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),ts=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(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),ns=class e extends qo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),rs=class e extends qo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),is=class e extends qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),as=class e extends qo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),os=class e extends qo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ss=class e extends Jo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),cs=class e extends Jo{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(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ls=class e extends Jo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),us=class e extends Jo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),ds=class e extends Jo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),fs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ps=class e extends Jo{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(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),ms=class e extends Jo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),hs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),gs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),_s=class e extends Jo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),vs=class e extends Jo{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(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),ys=class e extends Jo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),bs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),xs=class extends qo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));wn(),D(),Vo(),Go(),Ss();function Cs(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Bo?e:e instanceof E?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Io(e instanceof rn?new Ro({functionName:a,cause:e}):[3,$o.code].includes(c)&&(l||u||d||f)||c===es.code&&u===`execution reverted`&&l?new Lo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Uo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ii(),_i();function ws(e){return Ni(`0x${gi(`0x${e.substring(4)}`).substring(26)}`)}function Ts(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 Es(e,t,n){return e&t^~e&n}function Ds(e,t,n){return e&t^e&n^t&n}var Os,ks,As,js,Ms=o((()=>{Xr(),Os=class extends Yr{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=Rr(this.buffer)}update(e){Pr(this),e=Ur(e),Mr(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=Rr(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){Pr(this),Fr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Lr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Ts(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Rr(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()}},ks=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),As=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),js=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks=o((()=>{Ms(),Dr(),Xr(),Ns=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]),Ps=new Uint32Array(64),Fs=class extends Os{constructor(e=32){super(64,e,8,!1),this.A=ks[0]|0,this.B=ks[1]|0,this.C=ks[2]|0,this.D=ks[3]|0,this.E=ks[4]|0,this.F=ks[5]|0,this.G=ks[6]|0,this.H=ks[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)Ps[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ps[e-15],n=Ps[e-2],r=zr(t,7)^zr(t,18)^t>>>3;Ps[e]=(zr(n,17)^zr(n,19)^n>>>10)+Ps[e-7]+r+Ps[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=zr(o,6)^zr(o,11)^zr(o,25),u=l+t+Es(o,s,c)+Ns[e]+Ps[e]|0,d=(zr(n,2)^zr(n,13)^zr(n,22))+Ds(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(){Lr(Ps)}destroy(){this.set(0,0,0,0,0,0,0,0),Lr(this.buffer)}},Is=sr(`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))),Ls=Is[0],Rs=Is[1],zs=new Uint32Array(80),Bs=new Uint32Array(80),Vs=class extends Os{constructor(e=64){super(128,e,16,!1),this.Ah=js[0]|0,this.Al=js[1]|0,this.Bh=js[2]|0,this.Bl=js[3]|0,this.Ch=js[4]|0,this.Cl=js[5]|0,this.Dh=js[6]|0,this.Dl=js[7]|0,this.Eh=js[8]|0,this.El=js[9]|0,this.Fh=js[10]|0,this.Fl=js[11]|0,this.Gh=js[12]|0,this.Gl=js[13]|0,this.Hh=js[14]|0,this.Hl=js[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)zs[n]=e.getUint32(t),Bs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=zs[e-15]|0,n=Bs[e-15]|0,r=pr(t,n,1)^pr(t,n,8)^dr(t,n,7),i=mr(t,n,1)^mr(t,n,8)^fr(t,n,7),a=zs[e-2]|0,o=Bs[e-2]|0,s=pr(a,o,19)^hr(a,o,61)^dr(a,o,6),c=mr(a,o,19)^gr(a,o,61)^fr(a,o,6),l=Cr(i,c,Bs[e-7],Bs[e-16]);zs[e]=wr(l,r,s,zs[e-7],zs[e-16])|0,Bs[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=pr(u,d,14)^pr(u,d,18)^hr(u,d,41),v=mr(u,d,14)^mr(u,d,18)^gr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Tr(_,v,b,Rs[e],Bs[e]),S=Er(x,g,t,y,Ls[e],zs[e]),C=x|0,ee=pr(n,r,28)^hr(n,r,34)^hr(n,r,39),te=mr(n,r,28)^gr(n,r,34)^gr(n,r,39),ne=n&i^n&o^i&o,re=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}=cr(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 ie=xr(C,te,re);n=Sr(ie,S,ee,ne),r=ie|0}({h:n,l:r}=cr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=cr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=cr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=cr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=cr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=cr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=cr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=cr(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(){Lr(zs,Bs)}destroy(){Lr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Hs=class extends Vs{constructor(){super(48),this.Ah=As[0]|0,this.Al=As[1]|0,this.Bh=As[2]|0,this.Bl=As[3]|0,this.Ch=As[4]|0,this.Cl=As[5]|0,this.Dh=As[6]|0,this.Dl=As[7]|0,this.Eh=As[8]|0,this.El=As[9]|0,this.Fh=As[10]|0,this.Fl=As[11]|0,this.Gh=As[12]|0,this.Gl=As[13]|0,this.Hh=As[14]|0,this.Hl=As[15]|0}},Us=Gr(()=>new Fs),Ws=Gr(()=>new Vs),Gs=Gr(()=>new Hs)})),qs,Js,Ys=o((()=>{Xr(),qs=class extends Yr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Nr(e);let n=Ur(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),Lr(i)}update(e){return Pr(this),this.iHash.update(e),this}digestInto(e){Pr(this),Mr(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()}},Js=(e,t,n)=>new qs(e,t).update(n).digest(),Js.create=(e,t)=>new qs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Xs(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Zs(e){if(!Xs(e))throw Error(`Uint8Array expected`)}function Qs(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function $s(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ec(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?vc:BigInt(`0x`+e)}function tc(e){if(Zs(e),bc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=xc[e[n]];return t}function nc(e){if(e>=Sc._0&&e<=Sc._9)return e-Sc._0;if(e>=Sc.A&&e<=Sc.F)return e-(Sc.A-10);if(e>=Sc.a&&e<=Sc.f)return e-(Sc.a-10)}function rc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(bc)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=nc(e.charCodeAt(i)),a=nc(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 ic(e){return ec(tc(e))}function ac(e){return Zs(e),ec(tc(Uint8Array.from(e).reverse()))}function oc(e,t){return rc(e.toString(16).padStart(t*2,`0`))}function sc(e,t){return oc(e,t).reverse()}function cc(e,t,n){let r;if(typeof t==`string`)try{r=rc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Xs(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 lc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Zs(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 uc(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 dc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function fc(e,t,n){return Cc(e)&&Cc(t)&&Cc(n)&&t<=e&&e<n}function pc(e,t,n,r){if(!fc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function mc(e){let t;for(t=0;e>vc;e>>=yc,t+=1);return t}function hc(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=Tc(e),i=Tc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Tc(0))=>{i=s(Ec([0]),e),r=s(),e.length!==0&&(i=s(Ec([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 lc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function gc(e,t,n={}){let r=(t,n,r)=>{let i=Dc[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 _c(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 vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc=o((()=>{vc=BigInt(0),yc=BigInt(1),bc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,xc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Sc={_0:48,_9:57,A:65,F:70,a:97,f:102},Cc=e=>typeof e==`bigint`&&vc<=e,wc=e=>(yc<<BigInt(e))-yc,Tc=e=>new Uint8Array(e),Ec=e=>Uint8Array.from(e),Dc={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`||Xs(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 kc(e,t){let n=e%t;return n>=Gc?n:t+n}function Ac(e,t,n){let r=e;for(;t-- >Gc;)r*=r,r%=n;return r}function jc(e,t){if(e===Gc)throw Error(`invert: expected non-zero number`);if(t<=Gc)throw Error(`invert: expected positive modulus, got `+t);let n=kc(e,t),r=t,i=Gc,a=Kc,o=Kc,s=Gc;for(;n!==Gc;){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!==Kc)throw Error(`invert: does not exist`);return kc(i,t)}function Mc(e,t){let n=(e.ORDER+Kc)/Yc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Nc(e,t){let n=(e.ORDER-Xc)/Zc,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 Pc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Kc,n=0;for(;t%qc===Gc;)t/=qc,n++;let r=qc,i=Vc(e);for(;zc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Mc;let a=i.pow(r,t),o=(t+Kc)/qc;return function(e,r){if(e.is0(r))return r;if(zc(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=Kc<<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 Fc(e){return e%Yc===Jc?Mc:e%Zc===Xc?Nc:Pc(e)}function Ic(e){return gc(e,Qc.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Lc(e,t,n){if(n<Gc)throw Error(`invalid exponent, negatives unsupported`);if(n===Gc)return e.ONE;if(n===Kc)return t;let r=e.ONE,i=t;for(;n>Gc;)n&Kc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Kc;return r}function Rc(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 zc(e,t){let n=(e.ORDER-Kc)/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 Bc(e,t){t!==void 0&&jr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Vc(e,t,n=!1,r={}){if(e<=Gc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Bc(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:wc(i),ZERO:Gc,ONE:Kc,create:t=>kc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Gc<=t&&t<e},is0:e=>e===Gc,isOdd:e=>(e&Kc)===Kc,neg:t=>kc(-t,e),eql:(e,t)=>e===t,sqr:t=>kc(t*t,e),add:(t,n)=>kc(t+n,e),sub:(t,n)=>kc(t-n,e),mul:(t,n)=>kc(t*n,e),pow:(e,t)=>Lc(s,e,t),div:(t,n)=>kc(t*jc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>jc(t,e),sqrt:r.sqrt||(t=>(o||=Fc(e),o(s,t))),toBytes:e=>n?sc(e,a):oc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?ac(e):ic(e)},invertBatch:e=>Rc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Hc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Uc(e){let t=Hc(e);return t+Math.ceil(t/2)}function Wc(e,t,n=!1){let r=e.length,i=Hc(t),a=Uc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=kc(n?ac(e):ic(e),t-Kc)+Kc;return n?sc(o,i):oc(o,i)}var Gc,Kc,qc,Jc,Yc,Xc,Zc,Qc,$c=o((()=>{Xr(),Oc(),Gc=BigInt(0),Kc=BigInt(1),qc=BigInt(2),Jc=BigInt(3),Yc=BigInt(4),Xc=BigInt(5),Zc=BigInt(8),Qc=[`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 el(e,t){let n=t.negate();return e?n:t}function tl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function nl(e,t){tl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:wc(e),maxNumber:i,shiftBy:BigInt(e)}}function rl(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+=dl);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 il(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 al(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 ol(e){return pl.get(e)||1}function sl(e,t){return{constTimeNegate:el,hasPrecomputes(e){return ol(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ul;)n&dl&&(r=r.add(i)),i=i.double(),n>>=dl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=nl(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=nl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=rl(i,e,s);i=t,c?o=o.add(el(u,r[d])):a=a.add(el(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=nl(n,t);for(let e=0;e<o.windows&&i!==ul;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=rl(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=fl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&fl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ol(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ol(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){tl(n,t),pl.set(e,n),fl.delete(e)}}}function cl(e,t,n,r){il(n,e),al(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=mc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=wc(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 ll(e){return Ic(e.Fp),gc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Bc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ul,dl,fl,pl,ml=o((()=>{$c(),Oc(),ul=BigInt(0),dl=BigInt(1),fl=new WeakMap,pl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction hl(e){e.lowS!==void 0&&Qs(`lowS`,e.lowS),e.prehash!==void 0&&Qs(`prehash`,e.prehash)}function gl(e){let t=ll(e);gc(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 _l(e,t){return tc(oc(e,t))}function vl(e){let t=gl(e),{Fp:n}=t,r=Vc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return lc(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,Dl),Ol),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 fc(e,j,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Xs(e)&&(e=tc(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:ic(cc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=kc(o,a)),pc(`private key`,o,j,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=_c((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=_c(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=Rc(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(cc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return cl(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,Dl),{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,Dl),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;pc(`scalar`,e,Tl,i);let a=h.ZERO;if(e===Tl)return a;if(this.is0()||e===j)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>Tl||l>Tl;)s&j&&(u=u.add(f)),l&j&&(d=d.add(f)),f=f.double(),s>>=j,l>>=j;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;pc(`scalar`,e,j,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===Tl||t===j||!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===j)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===j?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Qs(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Qs(`isCompressed`,e),tc(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=sl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function yl(e){let t=ll(e);return gc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function bl(e){let t=yl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return kc(e,r)}function l(e){return jc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=vl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=lc;return Qs(`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=ic(i);if(!fc(e,j,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&j)===j;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>>j}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>ic(e.slice(t,n));class _{constructor(e,t,n){pc(`r`,e,j,r),pc(`s`,t,j,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=cc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=wl.toSig(cc(`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(cc(`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+_l(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 rc(this.toDERHex())}toDERHex(){return wl.hexFromSig(this)}toCompactRawBytes(){return rc(this.toCompactHex())}toCompactHex(){let e=i;return _l(this.r,e)+_l(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Uc(t.n);return Wc(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=cc(`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=ic(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},ee=wc(a);function te(e){return pc(`num < 2^`+a,e,Tl,ee),oc(e,i)}function ne(e,r,i=re){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=cc(`msgHash`,e),hl(i),f&&(e=cc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[te(y),te(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(cc(`extraEntropy`,e))}let x=lc(...b),ee=v;function ne(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===Tl)return;let a=c(n*c(ee+i*y));if(a===Tl)return;let o=(r.x===i?0:2)|Number(r.y&j),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ne}}let re={lowS:t.lowS,prehash:!1},ie={lowS:t.lowS,prehash:!1};function ae(e,n,r=re){let{seed:i,k2sig:a}=ne(e,n,r),o=t;return hc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function oe(e,n,r,i=ie){let a=e;n=cc(`msgHash`,n),r=cc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(hl(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`||Xs(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 wl.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),ee=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return ee?c(ee.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ae,verify:oe,ProjectivePoint:u,Signature:_,utils:v}}function xl(e,t){let n=e.ORDER,r=Tl;for(let e=n-j;e%El===Tl;e/=El)r+=j;let i=r,a=El<<i-j-j,o=a*El,s=(n-j)/o,c=(s-j)/El,l=o-j,u=a,d=e.pow(t,s),f=e.pow(t,(s+j)/El),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>j;t--){let n=t-El;n=El<<n-j;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%Ol===Dl){let n=(e.ORDER-Dl)/Ol,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 Sl(e,t){if(Ic(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=xl(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=Rc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Cl,wl,Tl,j,El,Dl,Ol,kl=o((()=>{ml(),$c(),Oc(),Cl=class extends Error{constructor(e=``){super(e)}},wl={Err:Cl,_tlv:{encode:(e,t)=>{let{Err:n}=wl;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=$s(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?$s(i.length/2|128):``;return $s(e)+a+i+t},decode(e,t){let{Err:n}=wl,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}=wl;if(e<Tl)throw new t(`integer: negative integers are not allowed`);let n=$s(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}=wl;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 ic(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=wl,i=cc(`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}=wl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Tl=BigInt(0),j=BigInt(1),El=BigInt(2),Dl=BigInt(3),Ol=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Al(e){return{hash:e,hmac:(t,...n)=>Js(e,t,Wr(...n)),randomBytes:Kr}}function jl(e,t){let n=t=>bl({...e,...Al(t)});return{...n(t),create:n}}var Ml=o((()=>{Ys(),Xr(),kl()}));function Nl(e,t){if(Fl(e),Fl(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 Pl(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 Fl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Il(e,t,n,r){Zs(e),Zs(t),Fl(n),t.length>255&&(t=r(lc(dc(`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=lc(t,Nl(t.length,1)),c=Nl(0,a),l=Nl(n,2),u=Array(o),d=r(lc(c,e,l,Nl(0,1),s));u[0]=r(lc(d,Nl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(lc(Pl(d,u[e-1]),Nl(e+1,1),s));return lc(...u).slice(0,n)}function Ll(e,t,n,r,i){if(Zs(e),Zs(t),Fl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(dc(`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(Nl(n,2)).update(t).update(Nl(t.length,1)).digest()}function Rl(e,t,n){gc(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;Zs(e),Fl(t);let l=typeof c==`string`?dc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Il(e,l,f,o);else if(s===`xof`)p=Ll(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=kc(Vl(p.subarray(i,i+d)),r)}m[e]=t}return m}function zl(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Rc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Bl(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=Rl(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(Rl(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 Vl,Hl=o((()=>{$c(),Oc(),Vl=ic})),Ul=c({encodeToCurve:()=>yu,hashToCurve:()=>vu,schnorr:()=>mu,secp256k1:()=>au,secp256k1_hasher:()=>_u});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Wl(e){let t=Ql,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=Ac(Ac(Ac(u,n,t)*u%t,n,t)*u%t,nu,t)*l%t,f=Ac(d,i,t)*d%t,p=Ac(f,a,t)*f%t,m=Ac(p,s,t)*p%t,h=Ac(Ac(Ac(Ac(Ac(Ac(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,nu,t);if(!iu.eql(iu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Gl(e,...t){let n=ou[e];if(n===void 0){let t=Us(Uint8Array.from(e,e=>e.charCodeAt(0)));n=lc(t,t),ou[e]=n}return Us(lc(n,...t))}function Kl(e){let t=au.utils.normPrivateKeyToScalar(e),n=du.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:uu(-t),bytes:su(n)}}function ql(e){pc(`x`,e,tu,Ql);let t=Wl(lu(lu(e*e)*e+BigInt(7)));t%nu!==eu&&(t=lu(-t));let n=new du(e,t,tu);return n.assertValidity(),n}function Jl(...e){return uu(pu(Gl(`BIP0340/challenge`,...e)))}function Yl(e){return Kl(e).bytes}function Xl(e,t,n=Kr(32)){let r=cc(`message`,e),{bytes:i,scalar:a}=Kl(t),o=uu(pu(Gl(`BIP0340/nonce`,cu(a^pu(Gl(`BIP0340/aux`,cc(`auxRand`,n,32)))),i,r)));if(o===eu)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Kl(o),l=Jl(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(cu(uu(c+l*a)),32),!Zl(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Zl(e,t,n){let r=cc(`signature`,e,64),i=cc(`message`,t),a=cc(`publicKey`,n,32);try{let e=ql(pu(a)),t=pu(r.subarray(0,32));if(!fc(t,tu,Ql))return!1;let n=pu(r.subarray(32,64));if(!fc(n,tu,$l))return!1;let o=fu(e,n,uu(-Jl(cu(t),su(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu=o((()=>{Ks(),Xr(),Ml(),Hl(),$c(),Oc(),kl(),Ql=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),$l=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),eu=BigInt(0),tu=BigInt(1),nu=BigInt(2),ru=(e,t)=>(e+t/nu)/t,iu=Vc(Ql,void 0,void 0,{sqrt:Wl}),au=jl({a:eu,b:BigInt(7),Fp:iu,n:$l,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=$l,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-tu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=ru(a*e,t),c=ru(-r*e,t),l=kc(e-s*n-c*i,t),u=kc(-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}}}},Us),ou={},su=e=>e.toRawBytes(!0).slice(1),cu=e=>oc(e,32),lu=e=>kc(e,Ql),uu=e=>kc(e,$l),du=au.ProjectivePoint,fu=(e,t,n)=>du.BASE.multiplyAndAddUnsafe(e,t,n),pu=ic,mu={getPublicKey:Yl,sign:Xl,verify:Zl,utils:{randomPrivateKey:au.utils.randomPrivateKey,lift_x:ql,pointToBytes:su,numberToBytesBE:oc,bytesToNumberBE:ic,taggedHash:Gl,mod:kc}},hu=zl(iu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),gu=Sl(iu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:iu.create(BigInt(`-11`))}),_u=Bl(au.ProjectivePoint,e=>{let{x:t,y:n}=gu(iu.create(e[0]));return hu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:iu.ORDER,m:1,k:128,expand:`xmd`,hash:Us}),vu=_u.hashToCurve,yu=_u.encodeToCurve}));qt(),Yt(),Wn(),A();async function xu({hash:e,signature:t}){let n=T(e)?e:Gn(e),{secp256k1:r}=await Promise.resolve().then(()=>(bu(),Ul));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Su(Number(a??i));return new r.Signature(O(e),O(n)).addRecoveryBit(o)}let e=T(t)?t:Gn(t);if(Jt(e)!==65)throw Error(`invalid signature length`);let n=Su(Un(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Su(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 Cu({hash:e,signature:t}){return ws(await xu({hash:e,signature:t}))}D(),Ia(),ar(),A();function wu(e,t=`hex`){let n=Tu(e),r=Pa(new Uint8Array(n.length));return n.encode(r),t===`hex`?qn(r.bytes):r.bytes}function Tu(e){return Array.isArray(e)?Eu(e.map(e=>Tu(e))):Du(e)}function Eu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Ou(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 Du(e){let t=typeof e==`string`?er(e):e,n=Ou(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 Ou(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 E(`Length is too large.`)}Wi(),ar(),A(),_i();function ku(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=gi(Ui([`0x05`,wu([t?k(t):`0x`,i,n?k(n):`0x`])]));return r===`bytes`?er(a):a}async function Au(e){let{authorization:t,signature:n}=e;return Cu({hash:ku(t),signature:n??t})}mo(),go(),D(),ko();var ju=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=So({from:t?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu=o((()=>{go(),D(),Mu=class extends E{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(Mu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Mu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Nu=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${ho(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Nu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Pu=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${ho(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Pu,\"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/}),Fu=class extends E{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(Fu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Iu=class extends E{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(Iu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Lu=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Ru=class extends E{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(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),zu=class extends E{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Bu=class extends E{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(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Vu=class extends E{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Hu=class extends E{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${ho(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${ho(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Uu=class extends E{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Gu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof E?e.walk(e=>e?.code===Mu.code):e;return r instanceof E?new Mu({cause:e,message:r.details}):Mu.nodeMessage.test(n)?new Mu({cause:e,message:e.details}):Nu.nodeMessage.test(n)?new Nu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Pu.nodeMessage.test(n)?new Pu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Fu.nodeMessage.test(n)?new Fu({cause:e,nonce:t?.nonce}):Iu.nodeMessage.test(n)?new Iu({cause:e,nonce:t?.nonce}):Lu.nodeMessage.test(n)?new Lu({cause:e,nonce:t?.nonce}):Ru.nodeMessage.test(n)?new Ru({cause:e}):zu.nodeMessage.test(n)?new zu({cause:e,gas:t?.gas}):Bu.nodeMessage.test(n)?new Bu({cause:e,gas:t?.gas}):Vu.nodeMessage.test(n)?new Vu({cause:e}):Hu.nodeMessage.test(n)?new Hu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Uu({cause:e})}var Ku=o((()=>{D(),Wu()}));Wu(),Ku();function qu(e,{docsPath:t,...n}){return new ju((()=>{let t=Gu(e,n);return t instanceof Uu?e:t})(),{docsPath:t,...n})}function Ju(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 Yu=o((()=>{}));function Xu(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 Zu=o((()=>{}));function Qu(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=$u(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=>qn(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=k(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=k(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=k(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=k(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=k(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=k(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=ed[e.type]),e.value!==void 0&&(n.value=k(e.value)),n}function $u(e){return e.map(e=>({address:e.address,r:e.r?k(BigInt(e.r)):e.r,s:e.s?k(BigInt(e.s)):e.s,chainId:k(e.chainId),nonce:k(e.nonce),...e.yParity===void 0?{}:{yParity:k(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:k(e.v)}:{}}))}var ed,td,nd=o((()=>{A(),Zu(),ed={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},td=Xu(`transactionRequest`,Qu)}));function rd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Dn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Dn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function id(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=k(t)),n!==void 0&&(o.nonce=k(n)),r!==void 0&&(o.state=rd(r)),i!==void 0){if(o.state)throw new bo;o.stateDiff=rd(i)}return o}function ad(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Li(n,{strict:!1}))throw new ki({address:n});if(t[n])throw new yo({address:n});t[n]=id(r)}return t}var od=o((()=>{Ai(),On(),xo(),Bi(),A()})),sd,cd=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)),sd=2n**256n-1n}));function ld(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?ya(t):void 0;if(a&&!Li(a.address))throw new ki({address:a.address});if(i&&!Li(i))throw new ki({address:i});if(n&&n>sd)throw new Nu({maxFeePerGas:n});if(r&&n&&r>n)throw new Hu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var ud=o((()=>{ba(),cd(),Ai(),Wu(),Bi()}));go(),D();var dd=class extends E{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},fd=class extends E{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},pd=class extends E{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${ho(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};D();var md=class extends E{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`})}};Wn(),Zu();let hd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function gd(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?Un(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?Un(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?hd[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=vd(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 _d=Xu(`transaction`,gd);function vd(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 yd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:gd(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}}A();async function bd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:k(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 md({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||yd)(s,`getBlock`)}async function xd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Wn();async function Sd(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 w(e,bd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?O(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):w(e,bd,`getBlock`)({}),w(e,xd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new fd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Cd(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 dd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await w(e,bd,`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 fd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Sd(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 w(e,xd,`getGasPrice`)({}))}}function wd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new E(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?k(n):r??`latest`}var Td=o((()=>{D(),A()}));Td(),Wn();async function Ed(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=wd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Un(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}ar(),A();function Dd(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=>er(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>qn(e))}ar(),A();function Od(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=>er(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>er(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=>qn(e))}Ks();let kd=Us;qt(),ar(),A();function Ad(e,t){let n=t||`hex`,r=kd(T(e,{strict:!1})?Zn(e):e);return n===`bytes`?r:Gn(r)}A();function jd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Ad(t,`bytes`);return i.set([n],0),r===`bytes`?i:qn(i)}function Md(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(jd({commitment:e,to:r,version:n}));return i}D();var Nd=class extends E{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Pd=class extends E{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Fd=class extends E{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Id=class extends E{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Ia(),Yt(),ar(),A();function Ld(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?er(e.data):e.data,r=Jt(n);if(!r)throw new Pd;if(r>761855)throw new Nd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Pa(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>qn(e.bytes))}function Rd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Ld({data:t,to:r}),a=e.commitments??Dd({blobs:i,kzg:n,to:r}),o=e.proofs??Od({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}ko();function zd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new wo({transaction:e})}Wu(),ko(),Ku();function Bd(e,{docsPath:t,...n}){return new Oo((()=>{let t=Gu(e,n);return t instanceof Uu?e:t})(),{docsPath:t,...n})}Wn();async function Vd(e){return Un(await e.request({method:`eth_chainId`},{dedupe:!0}))}ba(),Yu(),nd(),ud();async function Hd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=ya(n),r=a?a.id:await w(e,Vd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();ld(t);let x=a?.formatters?.transactionRequest?.format,S=(x||Qu)({...Ju(y,{format:x}),account:n?ya(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||gd)(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 w(e,bd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new dd;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 Bd(n,{...t,chain:e.chain})}}ba(),Mi(),ud();let Ud=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Wd=new Map,Gd=new ji(128);async function Kd(e,t){let n=t;n.account??=e.account,n.parameters??=Ud;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 w(e,Vd,`getChainId`)({}),c):n.chainId)}let u=r&&ya(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Gd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await w(e,Hd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return Gd.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}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...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`)})&&Gd.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 w(e,bd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await w(e,Ed,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Dd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Md({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Rd({blobs:p,commitments:e,proofs:Od({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=zd(n)}catch{let t=Wd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Wd.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 Cd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new pd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new fd;if(n.gasPrice===void 0){let{gasPrice:t}=await Cd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await w(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`})),ld(n),delete n.parameters,n}ba(),D(),A(),Yu(),nd(),od(),ud();async function qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?ya(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Au({authorization:t.authorizationList[0]}).catch(()=>{throw new E(\"`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 Kd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?k(u):void 0)||d,C=ad(b);ld(t);let ee=e.chain?.formatters?.transactionRequest?.format,te=(ee||Qu)({...Ju(x,{format:ee}),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?[te,S??e.experimental_blockTag??`latest`,C]:S?[te,S]:[te]}))}catch(n){throw qu(n,{...t,account:i,chain:e.chain})}}function Jd(e,t){if(!Li(e,{strict:!1}))throw new ki({address:e});if(!Li(t,{strict:!1}))throw new ki({address:t});return e.toLowerCase()===t.toLowerCase()}var Yd=o((()=>{Ai(),Bi()}));function Xd(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}:{}}}wn(),Na(),Yt(),Oi(),eo(),Kt();let Zd=`/docs/contract/decodeEventLog`;function Qd(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new dn({docsPath:Zd});let c=t.find(e=>e.type===`event`&&o===Di(Ut(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new fn(o,{docsPath:Zd});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 yn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=$d({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Ha(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof nn||e instanceof ja?new vn({abiItem:c,data:n,params:g,size:Jt(n)}):e}else if(a)throw new vn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function $d({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ha([e],t)||[])[0]}Yd(),ar(),_i(),Oi();function ef(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:Di(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?Xd(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=Qd({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Qd({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)||!tf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function tf(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`?Jd(t,n):e.type===`string`||e.type===`bytes`?gi(Zn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}function nf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ha({abi:t,args:n,name:r});if(!e)throw new pn(r,{docsPath:rf});a=e}if(a.type!==`function`)throw new pn(void 0,{docsPath:rf});if(!a.outputs)throw new mn(a.name,{docsPath:rf});let o=Ha(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var rf,af=o((()=>{wn(),eo(),va(),rf=`/docs/contract/decodeFunctionResult`})),of,sf=o((()=>{of=`0.1.1`}));function cf(){return of}var lf=o((()=>{sf()}));function uf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?uf(e.cause,t):t?null:e}var M,df=o((()=>{lf(),M=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return uf(this,e)}},Object.defineProperty(M,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${cf()}`}}),M.setStaticOptions(M.defaultStaticOptions)}));function ff(e,t){if(Bf(e)>t)throw new $f({givenSize:Bf(e),maxSize:t})}function pf(e,t){if(typeof t==`number`&&t>0&&t>Bf(e)-1)throw new ep({offset:t,position:`start`,size:Bf(e)})}function mf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Bf(e)!==n-t)throw new ep({offset:n,position:`end`,size:Bf(e)})}function hf(e){if(e>=vf.zero&&e<=vf.nine)return e-vf.zero;if(e>=vf.A&&e<=vf.F)return e-(vf.A-10);if(e>=vf.a&&e<=vf.f)return e-(vf.a-10)}function gf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new tp({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 _f(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 vf,yf=o((()=>{np(),vf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function bf(e,t){if(up(e)>t)throw new Cp({givenSize:up(e),maxSize:t})}function xf(e,t){if(typeof t==`number`&&t>0&&t>up(e)-1)throw new wp({offset:t,position:`start`,size:up(e)})}function Sf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&up(e)!==n-t)throw new wp({offset:n,position:`end`,size:up(e)})}function Cf(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 Tp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function wf(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 Tf=o((()=>{L()}));function Ef(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=>Ef(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)}:${Ef(r)}`),t},[]).join(`,`)}}`}function Df(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(kf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Of(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+kf:n,n)}var kf,Af=o((()=>{kf=`#__bigint`}));function jf(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 Qf(e)}function Mf(...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 Nf(e){return e instanceof Uint8Array?e:typeof e==`string`?Ff(e):Pf(e)}function Pf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Ff(e,t={}){let{size:n}=t,r=e;n&&(bf(e,n),r=cp(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=hf(i.charCodeAt(t++)),r=hf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new M(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function If(e,t={}){let{size:n}=t,r=Xf.encode(e);return typeof n==`number`?(ff(r,n),Rf(r,n)):r}function Lf(e,t){return uc(e,t)}function Rf(e,t){return gf(e,{dir:`right`,size:t})}function zf(e){return crypto.getRandomValues(new Uint8Array(e))}function Bf(e){return e.length}function Vf(e,t,n,r={}){let{strict:i}=r;pf(e,t);let a=e.slice(t,n);return i&&mf(a,t,n),a}function Hf(e,t={}){let{size:n}=t;return n!==void 0&&ff(e,n),fp(P(e,t),t)}function Uf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(ff(r,n),r=Kf(r)),r.length>1||r[0]>1)throw new Zf(r);return!!r[0]}function Wf(e,t={}){let{size:n}=t;return n!==void 0&&ff(e,n),mp(P(e,t),t)}function Gf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(ff(r,n),r=qf(r)),Yf.decode(r)}function Kf(e){return _f(e,{dir:`left`})}function qf(e){return _f(e,{dir:`right`})}function Jf(e){try{return jf(e),!0}catch{return!1}}var Yf,Xf,Zf,Qf,$f,ep,tp,np=o((()=>{Oc(),df(),L(),yf(),Tf(),Af(),Yf=new TextDecoder,Xf=new TextEncoder,Zf=class extends M{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},Qf=class extends M{constructor(e){super(`Value \\`${typeof e==`object`?Of(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`})}},$f=class extends M{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},ep=class extends M{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},tp=class extends M{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function rp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new bp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new xp(e)}function N(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function ip(e){return e instanceof Uint8Array?P(e):Array.isArray(e)?P(new Uint8Array(e)):e}function ap(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(bf(n,t.size),sp(n,t.size)):n}function P(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=vp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(bf(r,t.size),cp(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 yp({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?sp(s,r):s}function op(e,t={}){return P(_p.encode(e),t)}function sp(e,t){return Cf(e,{dir:`left`,size:t})}function cp(e,t){return Cf(e,{dir:`right`,size:t})}function lp(e){return P(zf(e))}function I(e,t,n,r={}){let{strict:i}=r;xf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Sf(a,t,n),a}function up(e){return Math.ceil((e.length-2)/2)}function dp(e){return wf(e,{dir:`left`})}function fp(e,t={}){let{signed:n}=t;t.size&&bf(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 pp(e,t={}){return Ff(e,t)}function mp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:fp(e,t))}function hp(e,t={}){let{size:n}=t,r=Ff(e);return n&&(ff(r,n),r=qf(r)),new TextDecoder().decode(r)}function gp(e,t={}){let{strict:n=!1}=t;try{return rp(e,{strict:n}),!0}catch{return!1}}var _p,vp,yp,bp,xp,Sp,Cp,wp,Tp,L=o((()=>{np(),df(),yf(),Tf(),Af(),_p=new TextEncoder,vp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),yp=class extends M{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},bp=class extends M{constructor(e){super(`Value \\`${typeof e==`object`?Of(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`})}},xp=class extends M{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Sp=class extends M{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Cp=class extends M{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},wp=class extends M{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Tp=class extends M{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Ep(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Dp=o((()=>{L()}));function Op(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(Ep)}}}var kp=o((()=>{L(),Dp()})),Ap,jp,Mp,Np,Pp,Fp=o((()=>{Ap=[{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`}],jp=[{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`}]}],Mp=[{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`}],[...Mp],[...Mp],Np=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Pp=[{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`}]})),Ip=o((()=>{})),Lp,Rp,zp,Bp,Vp=o((()=>{Lp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Rp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,zp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Bp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Hp,Up,Wp,Gp,Kp,qp=o((()=>{D(),Hp=class extends E{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`})}},Up=class extends E{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`})}},Wp=class extends E{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`})}},Gp=class extends E{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Kp=class extends E{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Jp(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 en({docsPath:Yp});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new tn({docsPath:Yp});return Ui([r,ea(i.inputs,n)])}var Yp,Xp=o((()=>{wn(),Wi(),fa(),Yp=`/docs/contract/encodeDeployData`}));function Zp({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Hp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Hp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var Qp=o((()=>{qp()}));function $p(e,{docsPath:t,...n}){return new Fo((()=>{let t=Gu(e,n);return t instanceof Uu?e:t})(),{docsPath:t,...n})}var em=o((()=>{Vo(),Wu(),Ku()}));function tm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var nm=o((()=>{}));function rm({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=()=>im.delete(t),s=()=>c().map(({args:e})=>e),c=()=>im.get(t)||[],l=e=>im.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=tm();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 im,am=o((()=>{nm(),im=new Map})),om,sm,cm,lm=o((()=>{io(),D(),Po(),om=class extends E{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=>` ${No(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},sm=class extends E{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${No(t)}`,`Response: ${ro(e)}`],name:`OffchainLookupResponseMalformedError`})}},cm=class extends E{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 um(e){let{abi:t,data:n}=e,r=Gi(n,0,4),i=t.find(e=>e.type===`function`&&r===pa(Ut(e)));if(!i)throw new hn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ha(i.inputs,Gi(n,4)):void 0}}var dm=o((()=>{wn(),Xi(),ma(),eo(),Kt()}));function fm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ha({abi:t,args:r,name:n});if(!e)throw new ln(n,{docsPath:pm});i=e}if(i.type!==`error`)throw new ln(void 0,{docsPath:pm});let a=pa(Ut(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new cn(i.name,{docsPath:pm});o=ea(i.inputs,r)}return Ui([a,o])}var pm,mm=o((()=>{wn(),Wi(),ma(),fa(),Kt(),va(),pm=`/docs/contract/encodeErrorResult`}));function hm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ha({abi:t,name:n});if(!e)throw new pn(n,{docsPath:gm});i=e}if(i.type!==`function`)throw new pn(void 0,{docsPath:gm});if(!i.outputs)throw new mn(i.name,{docsPath:gm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Sn(r)})();return ea(i.outputs,a)}var gm,_m=o((()=>{wn(),fa(),va(),gm=`/docs/contract/encodeFunctionResult`}));async function vm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=um({abi:jp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await vm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=ym(e)}})),hm({abi:jp,functionName:`query`,result:[i,a]})}function ym(e){return e.name===`HttpRequestError`&&e.status?fm({abi:jp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):fm({abi:[Da],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var bm=o((()=>{Fp(),ka(),dm(),mm(),_m()})),xm=c({ccipRequest:()=>Cm,offchainLookup:()=>Sm,offchainLookupAbiItem:()=>Tm,offchainLookupSignature:()=>wm});async function Sm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=to({data:r,abi:[Tm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Cm;try{if(!Jd(a,s))throw new cm({sender:s,to:a});let{data:r}=await Dm(e,{blockNumber:t,blockTag:n,data:Vi([u,ea([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await vm({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?Ao(i.signal):jo(e)?e:new om({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Cm({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 Ao(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 Ho({body:c,details:a?.error?ro(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!T(a)){i=new sm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Ao(t.signal);if(jo(e))throw e;i=new Ho({body:c,details:e.message,url:o})}}throw i}var wm,Tm,Em=o((()=>{Rm(),lm(),Go(),Po(),no(),fa(),Yd(),Wi(),qt(),bm(),io(),wm=`0x556f1830`,Tm={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 Dm(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:ee,stateOverride:te,...ne}=t,re=n?ya(n):void 0;if(f&&(m||h))throw new E(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new E(\"Cannot provide both `code` & `to` as parameters.\");let ie=f&&p,ae=m&&h&&C&&p,oe=ie||ae,se=ie?Nm({code:f,data:p}):ae?Pm({data:p,factory:m,factoryData:h,to:C}):p;try{ld(t);let n=wd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Op(d):void 0,p=ad(te),m=e.chain?.formatters?.transactionRequest?.format,h=(m||Qu)({...Ju(ne,{format:m}),accessList:l,account:re,authorizationList:r,blobs:u,data:se,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:oe?void 0:C,value:ee},`call`);if(i&&Om({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=jm(e,{blockNumber:o,deployless:t});if(!n||!Mm(p,n))return await Am(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Gp)&&!(e instanceof Hp))throw e}let ie=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ae=await e.request({method:`eth_call`,params:ie},S);return ae===`0x`?{data:void 0}:{data:ae}}catch(n){if(S?.signal?.aborted)throw Ao(S.signal);if(jo(n))throw n;let r=Fm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Em(),xm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw oe&&r?.slice(0,10)===`0x101bb98d`?new zo({factory:m}):$p(n,{...t,account:re,chain:e.chain})}}function Om({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function km(e){if(!e)return`default`;let t=Lm.get(e);if(t!==void 0)return t;let n=Im++;return Lm.set(e,n),n}async function Am(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?jm(e,{blockNumber:o,deployless:r}):u,h=wd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=rm({id:`${e.uid}.${g}.${km(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=wa({abi:Ap,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Nm({code:Bp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return nf({abi:Ap,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Bo({data:y});return y===`0x`?{data:void 0}:{data:y}}function jm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return Zp({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Gp}function Mm(e,t){return e?Object.keys(e).some(e=>Jd(e,t)):!1}function Nm(e){let{code:t,data:n}=e;return Jp({abi:Bt([`constructor(bytes, bytes)`]),bytecode:Lp,args:[t,n]})}function Pm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Jp({abi:Bt([`constructor(address, bytes, address, bytes)`]),bytecode:Rp,args:[i,t,n,r]})}function Fm(e){if(!(e instanceof E))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Im,Lm,Rm=o((()=>{Ht(),kp(),ba(),Fp(),Ip(),Vp(),D(),qp(),Vo(),Po(),af(),Xp(),Ta(),Yd(),Td(),Qp(),em(),Yu(),nd(),am(),od(),ud(),Im=0,Lm=new WeakMap}));af(),Ta(),Rm();async function zm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=wa({abi:n,args:i,functionName:a});try{let{data:t}=await w(e,Dm,`call`)({...o,data:s,to:r});return nf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Cs(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}let Bm=new Map,Vm=new Map,Hm=0;function Um(e,t,n){let r=++Hm,i=()=>Bm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Bm.delete(e),Vm.delete(e);return}Bm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Vm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Bm.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`&&Vm.set(e,l),o}Po();async function Wm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Ao(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Ao(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Gm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Wm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Wm(r),s())};s()})(),a}D();var Km=class extends E{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`})}},qm=class extends E{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};qp();function Jm({chain:e,currentChainId:t}){if(!e)throw new Wp;if(t!==e.id)throw new Up({chain:e,currentChainId:t})}async function Ym(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ba(),D(),Wi(),Yu(),nd(),Mi(),ud();let Xm=new ji(128);async function Zm(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 Km({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?ya(n):null,b;try{ld(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Au({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await w(e,Vd,`getChainId`)({}),r&&Jm({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||Qu)({...Ju(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Vi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=Xm.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=>(Xm.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Xm.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:w(e,Vd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await w(e,Kd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Vi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Ud,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await w(e,Ym,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new qm({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new qm({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof qm?e:(b&&y?.nonceManager?.reset(b),Bd(e,{...t,account:y,chain:t.chain||void 0}))}}ba(),Ta();async function Qm(e,t){return Qm.internal(e,Zm,`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 Km({docsPath:`/docs/contract/writeContract`});let u=a?ya(a):null,d=wa({abi:i,args:s,functionName:c});try{return await w(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Cs(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(Qm||={}),D();var $m=class extends E{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}};Po();function eh(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(Ao(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Wm(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Ao(i));return}if(jo(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Wn(),Zu();let th={\"0x0\":`reverted`,\"0x1\":`success`};function nh(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=>Xd(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Un(e.transactionIndex):null,status:e.status?th[e.status]:null,type:e.type?hd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let rh=Xu(`transactionReceipt`,nh);ba(),D(),Ss(),Ta(),Wi(),Wn(),A();let ih=k(0,{size:32});async function ah(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?ya(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?wa({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Vi([n,t.dataSuffix]):n,to:t.to,value:t.value?k(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:k(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 ps(new E(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new ys(new E(e,{details:e}))}let t=[];for(let n of d){try{let i=await Zm(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?O(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:Vi([...t.map(e=>e.status===`fulfilled`?e.value:ih),k(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Bd(n,{...t,account:l,chain:t.chain})}}Xi(),Bn(),Wn();async function oh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=zn(Yi(t,-64,-32)),r=Yi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>ih.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:Un(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?Un(i):void 0,receipts:a?.map(e=>({...e,blockNumber:O(e.blockNumber),gasUsed:O(e.gasUsed),status:th[e.status]}))??[],statusCode:l,status:c,version:o}}D(),nm(),io();async function sh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=ro([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=tm(),p,m=Um(l,{resolve:d,reject:f},t=>{let s=Gm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await eh(async()=>{let t=await w(e,oh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new $m(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 ch({id:n}))},s):void 0,await u}var ch=class extends E{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let lh=256,uh;function dh(e=11){if(!uh||lh+e>256*2){uh=``,lh=0;for(let e=0;e<256;e++)uh+=(256+Math.random()*256|0).toString(16).substring(1)}return uh.substring(lh,lh+++e)}ba();function fh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,type:s=`base`}=e,c=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),l=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(l/2),500),4e3),d=e.pollingInterval??u,f=e.cacheTime??d,p=e.account?ya(e.account):void 0,{config:m,request:h,value:g}=e.transport({account:p,chain:n,pollingInterval:d}),_={account:p,batch:t,cacheTime:f,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:d,request:h,transport:{...m,...g},type:s,uid:dh(),...c?{experimental_blockTag:c}:{}};function v(e){return t=>{let n=t(e);for(let e in _)delete n[e];let r={...e,...n};return Object.assign(r,{extend:v(r)})}}return Object.assign(_,{extend:v(_)})}Td();async function ph(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=wd({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}cd(),Ai(),D(),qp(),Wu(),Bi(),Yt(),Xi(),Wn();function mh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Li(n))throw new ki({address:n});if(t<0)throw new Kp({chainId:t})}gh(e)}function hh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Pd;for(let e of t){let t=Jt(e),n=Un(Gi(e,0,1));if(t!==32)throw new Fd({hash:e,size:t});if(n!==1)throw new Id({hash:e,version:n})}}gh(e)}function gh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Kp({chainId:t});if(i&&!Li(i))throw new ki({address:i});if(r&&r>sd)throw new Nu({maxFeePerGas:r});if(n&&r&&n>r)throw new Hu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function _h(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Kp({chainId:t});if(a&&!Li(a))throw new ki({address:a});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>sd)throw new Nu({maxFeePerGas:r})}function vh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Li(a))throw new ki({address:a});if(t!==void 0&&t<=0)throw new Kp({chainId:t});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>sd)throw new Nu({maxFeePerGas:r})}Ai(),ko(),Bi();function yh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Do({storageKey:i[e]});if(!Li(r,{strict:!1}))throw new ki({address:r});t.push([r,i])}return t}ko(),Wi(),Bn(),A();function bh(e,t){let n=zd(e);return n===`eip1559`?Ch(e,t):n===`eip2930`?wh(e,t):n===`eip4844`?Sh(e,t):n===`eip7702`?xh(e,t):Th(e,t)}function xh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;mh(e);let f=yh(u),p=Dh(n);return Ui([`0x04`,wu([k(r),a?k(a):`0x`,l?k(l):`0x`,c?k(c):`0x`,i?k(i):`0x`,o??`0x`,s?k(s):`0x`,d??`0x`,f,p,...Eh(e,t)])])}function Sh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;hh(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=>qn(e)),n=e.kzg,r=Dd({blobs:t,kzg:n});f===void 0&&(f=Md({commitments:r})),p===void 0&&(p=Rd({blobs:t,commitments:r,proofs:Od({blobs:t,commitments:r,kzg:n})}))}let m=yh(u),h=[k(n),i?k(i):`0x`,l?k(l):`0x`,c?k(c):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,d??`0x`,m,s?k(s):`0x`,f??[],...Eh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ui([`0x03`,wu(p?[h,g,_,v]:h)])}function Ch(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;gh(e);let d=yh(l);return Ui([`0x02`,wu([k(n),i?k(i):`0x`,c?k(c):`0x`,s?k(s):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,u??`0x`,d,...Eh(e,t)])])}function wh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;_h(e);let u=yh(c);return Ui([`0x01`,wu([k(n),a?k(a):`0x`,l?k(l):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`,u,...Eh(e,t)])])}function Th(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;vh(e);let l=[a?k(a):`0x`,c?k(c):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new Co({v:t.v});return e})(),r=zn(t.r),i=zn(t.s);l=[...l,k(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,k(n),`0x`,`0x`]);return wu(l)}function Eh(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=zn(n.r),o=zn(n.s);return[typeof i==`number`?i?k(1):`0x`:r===0n?`0x`:r===1n?k(1):r===27n?`0x`:k(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}A();function Dh(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?Gn(e):`0x`,a,r?Gn(r):`0x`,...Eh({},i)])}return t}Ii(),Yd();async function Oh({address:e,authorization:t,signature:n}){return Jd(Pi(e),await Au({authorization:t,signature:n}))}Mi();let kh=new ji(8192);function Ah(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(kh.get(n))return kh.get(n);let r=e().finally(()=>kh.delete(n));return kh.set(n,r),r}D(),Go(),Ss(),Po(),io();function jh(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 is(Error(`method not supported`),{method:u});if(c?.aborted)throw Ao(c);return Ah(()=>eh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Ao(c);if(jo(e))throw e;let t=e;switch(t.code){case Yo.code:throw new Yo(t);case Xo.code:throw new Xo(t);case Zo.code:throw new Zo(t,{method:n.method});case Qo.code:throw new Qo(t);case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t);case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t,{method:n.method});case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);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 5e3:throw new ss(t);case bs.code:throw new bs(t);default:throw e instanceof E?e:new xs(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Ho){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})=>Mh(e)}),{enabled:i,id:i?Nh(`${l}.${ro(n)}`):void 0})}}function Mh(e){return jo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===as.code||e.code===$o.code||e.code===429:e instanceof Ho&&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 Nh(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 Ph(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 Fh(){return{}}D(),Rn(),Ia(),ar(),A();function Ih(e,t=`hex`){return Lh(Pa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new In(e);return er(e)}return e})(),{recursiveReadLimit:1/0}),t)}function Lh(e,t=`hex`){if(e.bytes.length===0)return t===`hex`?qn(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Rh(e,n,128),i=e.readBytes(r);return t===`hex`?qn(i):i}return zh(e,Rh(e,n,192),t)}function Rh(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 E(`Invalid RLP prefix`)}function zh(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Lh(e,n));return i}qt(),Yt();function Bh(e){return T(e)&&Jt(e)===32}Po();function Vh(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&&jo(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function Hh(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let Uh=Hh();Go(),Po(),io();function Wh(e,t={}){let{url:n,headers:r}=Gh(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:s=t.onResponse,timeout:c=t.timeout??1e4}=e,l={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:u,method:d,signal:f}=l;try{let e=await Vh(async({signal:e})=>{let t={...l,body:ro(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Uh.take(),...e})):{jsonrpc:`2.0`,id:i.id??Uh.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...u},method:d||`POST`,signal:f||(c>0?e:null)},s=new Request(n,t),p=await o?.(s,t)??{...t,url:n};return await a(p.url??n,p)},{errorInstance:new Wo({body:i,url:n}),timeout:c,signal:!0});s&&await s(e);let t;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=await e.json();else{t=await e.text();try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Ho({body:i,details:ro(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw f?.aborted?Ao(f):jo(e)||e instanceof Ho||e instanceof Wo?e:new Ho({body:i,cause:e,url:n})}}}}function Gh(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Wi(),Yt(),A();function Kh(e){let t=typeof e==`string`?Jn(e):typeof e.raw==`string`?e.raw:qn(e.raw);return Vi([Jn(`\u0019Ethereum Signed Message:\n${Jt(t)}`),t])}_i();function qh(e,t){return gi(Kh(e),t)}io(),D();var Jh=class extends E{constructor({domain:e}){super(`Invalid domain \"${ro(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Yh=class extends E{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`.\"]})}},Xh=class extends E{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};wn(),Ai(),Bi(),Yt(),A(),$i(),io();function Zh(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return ro({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function Qh(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;k(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Li(o))throw new ki({address:o});let c=r.match(Zi);if(c){let[e,t]=c;if(t&&Jt(o)!==Number.parseInt(t,10))throw new _n({expectedSize:Number.parseInt(t,10),givenSize:Jt(o)})}let l=i[r];l&&(eg(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Jh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Yh({primaryType:r,types:i})}function $h({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 eg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Xh({type:e})}fa(),Wi(),A(),_i();function tg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:$h({domain:t}),...e.types};Qh({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(ng({domain:t,types:i})),r!==`EIP712Domain`&&a.push(rg({data:n,primaryType:r,types:i})),gi(Vi(a))}function ng({domain:e,types:t}){return rg({data:e,primaryType:`EIP712Domain`,types:t})}function rg({data:e,primaryType:t,types:n}){return gi(ig({data:e,primaryType:t,types:n}))}function ig({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[ag({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=cg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ea(r,i)}function ag({primaryType:e,types:t}){return gi(Gn(og({primaryType:e,types:t})))}function og({primaryType:e,types:t}){let n=``,r=sg({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 sg({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])sg({primaryType:e.type,types:t},n);return n}function cg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},gi(ig({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},gi(r)];if(n===`string`)return[{type:`bytes32`},gi(Gn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>cg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},gi(ea(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var lg=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 ug(e,t){return e.exec(t)?.groups}let dg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,fg=/^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)?$/,pg=/^\\(.+?\\).*?$/,mg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function hg(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+=hg(i),r<n-1&&(t+=`, `)}let r=ug(mg,e.type);return t+=`)${r?.array||``}`,hg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function gg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=hg(i),r!==n-1&&(t+=`, `)}return t}function _g(e){return e.type===`function`?`function ${e.name}(${gg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${gg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${gg(e.inputs)})`:e.type===`error`?`error ${e.name}(${gg(e.inputs)})`:e.type===`constructor`?`constructor(${gg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let vg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function yg(e){return vg.test(e)}function bg(e){return ug(vg,e)}let xg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Sg=new Set([`calldata`,`memory`,`storage`]);var Cg=class extends lg{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`})}},wg=class extends lg{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`})}},Tg=class extends lg{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`})}},Eg=class extends lg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Dg=class extends lg{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`})}},Og=class extends lg{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 lg{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`})}},Ag=class extends lg{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 lg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Mg=class extends lg{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`})}},Ng=class extends lg{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`})}},Pg=class extends lg{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 Fg(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 Ig=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}]]),Lg=/^(?<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$_]*))?$/,Rg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,zg=/^u?int$/;function Bg(e,t){let n=Fg(e,t?.type,t?.structs);if(Ig.has(n))return Ig.get(n);let r=pg.test(e),i=ug(r?Rg:Lg,e);if(!i)throw new Eg({param:e});if(i.name&&Wg(i.name))throw new Dg({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=Vg(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Bg(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(zg.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Hg(c))throw new wg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Og({param:e,type:t?.type,modifier:i.modifier});if(Sg.has(i.modifier)&&!Gg(c,!!i.array))throw new kg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Ig.set(n,u),u}function Vg(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?Vg(o,[...t,n.trim()]):Vg(o,t,`${n}${i}`,r);case`(`:return Vg(o,t,`${n}${i}`,r+1);case`)`:return Vg(o,t,`${n}${i}`,r-1);default:return Vg(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Pg({current:n,depth:r});return t.push(n.trim()),t}function Hg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||dg.test(e)||fg.test(e)}let Ug=/^(?: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 Wg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||dg.test(e)||fg.test(e)||Ug.test(e)}function Gg(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Kg(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!yg(n))continue;let i=bg(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=Bg(t,{type:`struct`});o.push(n)}if(!o.length)throw new Mg({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]=Jg(a,t)}return r}let qg=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function Jg(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(pg.test(i.type))r.push(i);else{let e=ug(qg,i.type);if(!e?.type)throw new Ag({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Ng({type:o});r.push({...i,type:`tuple${a??``}`,components:Jg(t[o],t,new Set([...n,o]))})}else if(Hg(o))r.push(i);else throw new Cg({type:o})}}return r}function Yg(e){let t=[];if(typeof e==`string`){let n=Vg(e),r=n.length;for(let e=0;e<r;e++)t.push(Bg(n[e],{modifiers:xg}))}else{let n=Kg(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(yg(r))continue;let a=Vg(r),o=a.length;for(let e=0;e<o;e++)t.push(Bg(a[e],{modifiers:xg,structs:n}))}}if(t.length===0)throw new Tg({params:e});return t}let Xg={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;Ys(),hi(),np(),L();function Zg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=mi(Nf(e));return n===`Bytes`?r:P(r)}function Qg(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Js(kd,Nf(e),Nf(t));return r===`Bytes`?i:P(i)}function $g(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=kd(Nf(e));return n===`Bytes`?r:P(r)}function e_(e){return gp(e)&&up(e)===32}np(),df(),L(),Af();function t_(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 c_({prefix:r,cause:new u_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new c_({prefix:r,cause:new l_});return}throw new s_({publicKey:e})}function n_(e){let t=(()=>{if(gp(e))return i_(e);if(Jf(e))return r_(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 t_(t),t}function r_(e){return i_(P(e))}function i_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new d_({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 a_(e,t={}){return Ff(o_(e,t))}function o_(e,t={}){t_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return N(a?F(n,{size:1}):`0x`,F(r,{size:32}),typeof i==`bigint`?F(i,{size:32}):`0x`)}var s_=class extends M{constructor({publicKey:e}){super(`Value \\`${Of(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`})}},c_=class extends M{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},l_=class extends M{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},u_=class extends M{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},d_=class extends M{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${up(ip(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};np(),df();let f_=/^0x[a-fA-F0-9]{40}$/;function p_(e,t={}){let{strict:n=!0}=t;if(!f_.test(e))throw new y_({address:e,cause:new b_});if(n){if(e.toLowerCase()===e)return;if(m_(e)!==e)throw new y_({address:e,cause:new x_})}}function m_(e){if(Xg.has(e))return Xg.get(e);p_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Zg(If(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 Xg.set(e,i),i}function h_(e,t={}){let{checksum:n=!1}=t;return p_(e),n?m_(e):e}function g_(e,t={}){return h_(`0x${Zg(`0x${o_(e).slice(4)}`).substring(26)}`,t)}function __(e,t){return p_(e,{strict:!1}),p_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function v_(e,t={}){let{strict:n=!0}=t??{};try{return p_(e,{strict:n}),!0}catch{return!1}}var y_=class extends M{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},b_=class extends M{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},x_=class extends M{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let S_=/^(.*)\\[([0-9]*)\\]$/,C_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,w_=/^(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 T_=2n**256n-1n;np(),df(),L();function E_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=W_(t.type);if(a){let[n,o]=a;return O_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return M_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return D_(e,{checksum:r});if(t.type===`bool`)return k_(e);if(t.type.startsWith(`bytes`))return A_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return j_(e,t);if(t.type===`string`)return N_(e,{staticPosition:i});throw new sv(t.type)}function D_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?m_(e):e)(P(Vf(e.readBytes(32),-20))),32]}function O_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Wf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Wf(e.readBytes(32)),s=G_(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=E_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(G_(t)){let n=a+Wf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=E_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=E_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function k_(e){return[Uf(e.readBytes(32),{size:32}),32]}function A_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Wf(e.readBytes(32));e.setPosition(n+t);let r=Wf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[P(i),32]}return[P(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?Hf(i,{signed:n}):Wf(i,{signed:n}),32]}function M_(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(G_(t)){let n=i+Wf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=E_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=E_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function N_(e,{staticPosition:t}){let n=t+Wf(e.readBytes(32));e.setPosition(n);let r=Wf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Gf(Kf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function P_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(F_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function F_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=W_(r.type);if(i){let[t,a]=i;return R_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return U_(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return L_(n,{checksum:e});if(r.type===`bool`)return B_(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=w_.exec(r.type)??[];return V_(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return z_(n,{type:r.type});if(r.type===`string`)return H_(n);throw new sv(r.type)}function I_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=up(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+=up(s)):n.push(s)}return N(...n,...r)}function L_(e,t){let{checksum:n=!1}=t;return p_(e,{strict:n}),{dynamic:!1,encoded:sp(e.toLowerCase())}}function R_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new ov(e);if(!a&&e.length!==r)throw new rv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=F_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=I_(s);if(a){let t=F(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?N(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:N(...s.map(({encoded:e})=>e))}}function z_(e,{type:t}){let[,n]=t.split(`bytes`),r=up(e);if(!n){let t=e;return r%32!=0&&(t=cp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:N(sp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new iv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:cp(e)}}function B_(e){if(typeof e!=`boolean`)throw new M(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:sp(ap(e))}}function V_(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 yp({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 H_(e){let t=op(e),n=Math.ceil(up(t)/32),r=[];for(let e=0;e<n;e++)r.push(cp(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:N(cp(F(up(t),{size:32})),...r)}}function U_(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=F_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?I_(a):N(...a.map(({encoded:e})=>e))}}function W_(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function G_(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(G_);let n=W_(e.type);return!!(n&&G_({...e,type:n[1]}))}df();let K_={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 X_({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Y_({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new J_({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 J_({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 q_(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(K_);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var J_=class extends M{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},Y_=class extends M{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},X_=class extends M{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};np(),df(),L();function Z_(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Ff(t):t,o=q_(a);if(Bf(a)===0&&e.length>0)throw new nv;if(Bf(a)&&Bf(a)<32)throw new tv({data:typeof t==`string`?t:P(t),parameters:e,size:Bf(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]=E_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function Q_(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new av({expectedLength:e.length,givenLength:t.length});let i=I_(P_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function $_(e,t){if(e.length!==t.length)throw new av({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($_.encode(i,a))}return N(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return p_(e),sp(e.toLowerCase(),r?32:0)}if(e===`string`)return op(n);if(e===`bytes`)return n;if(e===`bool`)return sp(ap(n),r?32:1);let i=e.match(w_);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(C_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new iv({expectedSize:Number.parseInt(t,10),value:n});return cp(n,r?32:0)}let o=e.match(S_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:N(...i)}throw new sv(e)}e.encode=t})($_||={});function ev(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?Yg(e):e}var tv=class extends M{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${gg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},nv=class extends M{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},rv=class extends M{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},iv=class extends M{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${up(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},av=class extends M{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},ov=class extends M{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},sv=class extends M{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};np(),df(),L();function cv(e){return lv(e,`Hex`)}function lv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return uv(q_((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Sp(e);return Ff(e)}return e})(),{recursiveReadLimit:1/0}),n)}function uv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?P(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=dv(e,n,128),i=e.readBytes(r);return t===`Hex`?P(i):i}return fv(e,dv(e,n,192),t)}function dv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new M(`Invalid RLP prefix`)}function fv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(uv(e,n));return i}function pv(e,t){let{as:n}=t,r=hv(e),i=q_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?P(i.bytes):i.bytes}function mv(e,t={}){let{as:n=`Hex`}=t;return pv(e,{as:n})}function hv(e){return Array.isArray(e)?gv(e.map(e=>hv(e))):_v(e)}function gv(e){let t=e.reduce((e,t)=>e+t.length,0),n=vv(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 _v(e){let t=typeof e==`string`?Ff(e):e,n=vv(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 vv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new M(`Length is too large.`)}df(),L(),Af();function yv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Nv({signature:e});if(e.r<0n||e.r>T_)throw new Pv({value:e.r});if(e.s<0n||e.s>T_)throw new Fv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Iv({value:e.yParity})}function bv(e){return xv(P(e))}function xv(e){if(e.length!==130&&e.length!==132)throw new Mv({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 Av(t)}catch{throw new Iv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Sv(e){if(e.r!==void 0&&e.s!==void 0)return Cv(e)}function Cv(e){let t=typeof e==`string`?xv(e):e instanceof Uint8Array?bv(e):typeof e.r==`string`?Tv(e):e.v?wv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return yv(t),t}function wv(e){return{r:e.r,s:e.s,yParity:Av(e.v)}}function Tv(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=Av(t)),typeof n!=`number`)throw new Iv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Ev(e){let[t,n,r]=e;return Cv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Dv(e){yv(e);let t=e.r,n=e.s;return N(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(jv(e.yParity),{size:1}):`0x`)}function Ov(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 kv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:dp(F(t)),n===0n?`0x`:dp(F(n))]}function Av(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Lv({value:e})}function jv(e){if(e===0)return 27;if(e===1)return 28;throw new Iv({value:e})}var Mv=class extends M{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${up(ip(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Nv=class extends M{constructor({signature:e}){super(`Signature \\`${Of(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Pv=class extends M{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Fv=class extends M{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},Iv=class extends M{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},Lv=class extends M{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};L();function Rv(e,t={}){return typeof e.chainId==`string`?zv(e):{...e,...t.signature}}function zv(e){let{address:t,chainId:n,nonce:r}=e,i=Sv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function Bv(e){return e.map(zv)}function Vv(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Ov(i)}}function Hv(e){return e.map(Vv)}bu(),np(),L();function Uv(e){let{privateKey:t}=e;return n_(au.ProjectivePoint.fromPrivateKey(ip(t).slice(2)))}function Wv(e){return g_(Gv(e))}function Gv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return n_(new au.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(ip(t).substring(2)))}function Kv(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=au.sign(Nf(r),Nf(i),{extraEntropy:typeof t==`boolean`?t:ip(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function qv(e){let{hash:t,payload:n}=e;return e.address?__(e.address,Wv({payload:n,signature:e.signature})):au.verify(e.signature,Nf(n),a_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}df(),L();let Jv=ev(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function Yv(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new Qv(e)}else yv(e.authorization)}function Xv(e){Yv(e);let t=mp(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=Z_(Jv,n);return{authorization:Rv({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 Zv(e){try{return Yv(e),!0}catch{return!1}}var Qv=class extends M{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};ko(),Xi(),Wn();function $v(e){let t=Yi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Un(t)>=192)return`legacy`;throw new To({serializedType:t})}Ai(),ko(),Bi(),qt(),Mn(),Bn(),Wn();function ey(e){let t=$v(e);return t===`eip1559`?ry(e):t===`eip2930`?iy(e):t===`eip4844`?ny(e):t===`eip7702`?ty(e):ay(e)}function ty(e){let t=oy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new 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:Un(n),type:`eip7702`};return T(s)&&s!==`0x`&&(h.to=s),T(o)&&o!==`0x`&&(h.gas=O(o)),T(l)&&l!==`0x`&&(h.data=l),T(r)&&(h.nonce=r===`0x`?0:Un(r)),T(c)&&c!==`0x`&&(h.value=O(c)),T(a)&&a!==`0x`&&(h.maxFeePerGas=O(a)),T(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=O(i)),u.length!==0&&u!==`0x`&&(h.accessList=sy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=cy(d)),mh(h),{...t.length===13?ly(t):void 0,...h}}function ny(e){let t=oy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new 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:Un(a),to:u,type:`eip4844`};return T(l)&&l!==`0x`&&(S.gas=O(l)),T(f)&&f!==`0x`&&(S.data=f),T(o)&&(S.nonce=o===`0x`?0:Un(o)),T(d)&&d!==`0x`&&(S.value=O(d)),T(m)&&m!==`0x`&&(S.maxFeePerBlobGas=O(m)),T(c)&&c!==`0x`&&(S.maxFeePerGas=O(c)),T(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=O(s)),p.length!==0&&p!==`0x`&&(S.accessList=sy(p)),y&&b&&x&&(S.sidecars=Rd({blobs:y,commitments:b,proofs:x})),hh(S),{...r.length===14?ly(r):void 0,...S}}function ry(e){let t=oy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new 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:Un(n),type:`eip1559`};return T(s)&&s!==`0x`&&(m.to=s),T(o)&&o!==`0x`&&(m.gas=O(o)),T(l)&&l!==`0x`&&(m.data=l),T(r)&&(m.nonce=r===`0x`?0:Un(r)),T(c)&&c!==`0x`&&(m.value=O(c)),T(a)&&a!==`0x`&&(m.maxFeePerGas=O(a)),T(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=O(i)),u.length!==0&&u!==`0x`&&(m.accessList=sy(u)),gh(m),{...t.length===12?ly(t):void 0,...m}}function iy(e){let t=oy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new 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:Un(n),type:`eip2930`};return T(o)&&o!==`0x`&&(p.to=o),T(a)&&a!==`0x`&&(p.gas=O(a)),T(c)&&c!==`0x`&&(p.data=c),T(r)&&(p.nonce=r===`0x`?0:Un(r)),T(s)&&s!==`0x`&&(p.value=O(s)),T(i)&&i!==`0x`&&(p.gasPrice=O(i)),l.length!==0&&l!==`0x`&&(p.accessList=sy(l)),_h(p),{...t.length===11?ly(t):void 0,...p}}function ay(e){let t=Ih(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(T(a)&&a!==`0x`&&(d.to=a),T(i)&&i!==`0x`&&(d.gas=O(i)),T(s)&&s!==`0x`&&(d.data=s),T(n)&&(d.nonce=n===`0x`?0:Un(n)),T(o)&&o!==`0x`&&(d.value=O(o)),T(r)&&r!==`0x`&&(d.gasPrice=O(r)),vh(d),t.length===6)return d;let f=T(c)&&c!==`0x`?O(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new Co({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function oy(e){return Ih(`0x${e.slice(4)}`,`hex`)}function sy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Li(r,{strict:!1}))throw new ki({address:r});t.push({address:r,storageKeys:i.map(e=>Bh(e)?e:zn(e))})}return t}function cy(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:Un(r),nonce:a===`0x`?0:Un(a),...ly([o,s,c])})}return t}function ly(e){let t=e.slice(-3),n=t[0]===`0x`||O(t[0])===0n?27n:28n;return{r:An(t[1],{size:32}),s:An(t[2],{size:32}),v:n,yParity:n===27n?0:1}}D();var uy=class extends E{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function dy(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new uy({value:e});let[n,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),r=r.replace(/(0+)$/,``),t===0)Math.round(Number(`.${r}`))===1&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let[e,i,a]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${i}.${a}`));r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,`0`):`${e}${o}`,r.length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}Fp(),Vp(),wn(),D(),Vo(),af(),Ta(),Qp();async function fy(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,{batchSize:f=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},m=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return Zp({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),h=[[]],g=0,_=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=wa({abi:t,args:a,functionName:o});_+=(e.length-2)/2,f>0&&_>f&&h[g].length>0&&(g++,_=(e.length-2)/2,h[g]=[]),h[g]=[...h[g],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Cs(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;h[g]=[...h[g],{allowFailure:!0,callData:`0x`,target:r}]}}let v=await Promise.allSettled(h.map(t=>w(e,zm,`readContract`)({...m===null?{code:Bp}:{address:m},abi:Ap,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),y=[];for(let e=0;e<v.length;e++){let t=v[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<h[e].length;n++)y.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}=h[e][t],{abi:s,address:c,functionName:l,args:u}=d[y.length];try{if(o===`0x`)throw new rn;if(!a)throw new Bo({data:r});let e=nf({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=Cs(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new E(`multicall results mismatch`);return y}df();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 M(`Unable to normalize signature.`);return i}function my(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return v_(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)=>my(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=>my(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function hy(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 hy(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`))&&v_(n[r],{strict:!1}))return o}}df(),L();function gy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=gp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?_y(e)===I(t,0,4):e.type===`event`?yy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new xy({name:t});if(o.length===1)return{...o[0],...i?{hash:yy(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:yy(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?my(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=hy(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 xy({name:t});return{...c,...i?{hash:yy(c)}:{}}}function _y(...e){return I(yy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return gy(t,n)}return e[0]})()),0,4)}function vy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return gy(t,n)}return e[0]})();return py(typeof t==`string`?t:_g(t))}function yy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return gy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Zg(op(vy(t)))}var by=class extends M{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${py(_g(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${py(_g(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`})}},xy=class extends M{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Sy(e){return _y(e)}df(),L();function Cy(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Ey(e)}function wy(e){let{data:t,signature:n,to:r}=e;return N(Q_(ev(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Ty(e){try{return Cy(e),!0}catch{return!1}}var Ey=class extends M{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};bu(),Wn(),ar();function Dy({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 au.Signature(O(e),O(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:er(o)}Fp(),Vp(),Vo(),Xp(),Ta(),Ii(),Yd(),Wi(),qt(),Wn(),A(),Rm();async function Oy(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 T(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Dy(e):qn(e)})();try{if(s===`eoa`)try{if(Jd(Pi(n),await Cu({hash:i,signature:c})))return!0}catch{}return Zv(c)?await ky(e,{...t,multicallAddress:o,signature:c}):await Ay(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Jd(Pi(n),await Cu({hash:i,signature:c})))return!0}catch{}if(e instanceof My)return!1;throw e}}async function ky(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=Xv(t.signature);if(await ph(e,{address:n,blockNumber:r,blockTag:i})===Ui([`0xef0100`,s.address]))return await jy(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:k(s.r,{size:32}),s:k(s.s,{size:32}),yParity:s.yParity};if(!await Oh({address:n,authorization:d}))throw new My;let f=await w(e,zm,`readContract`)({...o?{address:o}:{code:Bp},authorizationList:[d],abi:Ap,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:wa({abi:Np,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new My}async function Ay(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Ty(o)?o:wy({data:i,signature:o,to:r}))(),u=s?{to:s,data:wa({abi:Pp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Jp({abi:Pp,args:[n,a,l],bytecode:zp}),...c},{data:d}=await w(e,Dm,`call`)(u).catch(e=>{throw e instanceof Fo?new My:e});if(Hn(d??`0x0`))return!0;throw new My}async function jy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await w(e,zm,`readContract`)({address:n,abi:Np,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Io?new My:e})).startsWith(`0x1626ba7e`))return!0;throw new My}var My=class extends Error{};function Ny(e){let{scheme:t,statement:n,...r}=e.match(Py)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(Fy)?.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 Py=/^(?:(?<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)?/,Fy=/(?: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>.+))?/;async function Iy(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await w(e,ah,`sendCalls`)(t);return await w(e,sh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}ba(),A(),nd(),ud();async function Ly(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Km({docsPath:`/docs/actions/wallet/signTransaction`});let a=ya(n);ld({account:a,...t});let o=await w(e,Vd,`getChainId`)({});r!==null&&Jm({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Qu;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:k(o),from:a.address}]},{retryCount:0})}ba();async function Ry(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Km({docsPath:`/docs/actions/wallet/signTypedData`});let o=ya(n),s={EIP712Domain:$h({domain:r}),...t.types};if(Qh({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Zh({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}function zy({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=dh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:jh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function By(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>zy({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}D();var Vy=class extends E{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Go(),am();let Hy=0,Uy=new WeakMap;function Wy(e){if(!e)return`default`;let t=Uy.get(e);if(t!==void 0)return t;let n=Hy++;return Uy.set(e,n),n}function Gy(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,methods:o,name:s=`HTTP JSON-RPC`,onFetchRequest:c,onFetchResponse:l,retryDelay:u,raw:d}=t;return({chain:f,retryCount:p,timeout:m})=>{let{batchSize:h=1e3,wait:g=0}=typeof n==`object`?n:{},_=t.retryCount??p,v=m??t.timeout??1e4,y=e||f?.rpcUrls.default.http[0];if(!y)throw new Vy;let b=Wh(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return zy({key:a,methods:o,name:s,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=rm({id:`${y}.${Wy(r?.signal)}`,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await b.request({body:e,fetchOptions:a})])(i);if(d)return{error:s,result:c};if(s)throw new Uo({body:i,error:s,url:y});return c},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}df(),L();function Ky(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&p_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>e_(e)?e:dp(e))})}return t}function qy(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(up(r[e])!==32)throw new Jy({storageKey:r[e]});n&&p_(n,{strict:!1}),t.push([n,r])}return t}var Jy=class extends M{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${up(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};np();let Yy=new TextEncoder,Xy=new TextDecoder,Zy=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Qy={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function $y(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]=Zy[r>>18],i[t+1]=Zy[r>>12&63],i[t+2]=Zy[r>>6&63],i[t+3]=Zy[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=Xy.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function eb(e,t={}){return $y(Ff(e),t)}function tb(e,t={}){return $y(If(e),t)}function nb(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Yy.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Qy[r[e]]<<18)+(Qy[r[e+1]]<<12)+(Qy[r[e+2]]<<6)+Qy[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 rb(e){return Gf(nb(e))}let ib={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ab={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ob(e,t={}){if(!e)return null;let n=Sv(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=Bv(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=ab[e.type]??e.type),n&&(r.v=jv(n.yParity)),r}np(),df(),L();function sb(e,t={}){let{as:n=`Hex`}=t,r=xb(e),i=q_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?P(i.bytes):i.bytes}var cb=class extends M{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},lb=class extends M{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},ub=class extends M{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},db=class extends M{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},fb=class extends M{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},pb=class extends M{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},mb=class extends M{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},hb=class extends M{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},gb=class extends M{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},_b=class extends M{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},vb=class extends M{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},yb=class extends M{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},bb=class extends M{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function xb(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 xb.number(e);if(typeof e==`bigint`)throw new mb;if(typeof e==`string`)return xb.string(e);if(Array.isArray(e))return xb.array(e);if(e instanceof Uint8Array)return xb.byteString(e);if(e instanceof ArrayBuffer)return xb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return xb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return xb.map(e);if(typeof e==`object`)return xb.object(e);throw new hb({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 gb({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 gb({number:e.toString(10)})}e.number=t;function n(e){let t=If(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 _b({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 vb({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 bb({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 yb({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 yb({size:i})}e.map=o})(xb||={});function Sb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Sb.readUnsignedInteger(e,r);case 1:return Sb.readNegativeInteger(e,r);case 2:return Sb.readByteString(e,r);case 3:return Sb.readTextString(e,r);case 4:return Sb.readArray(e,r);case 5:return Sb.readMap(e,r);case 6:throw new db({tag:r});case 7:return Sb.readSimpleOrFloat(e,r);default:throw new cb({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 ub:new lb({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 fb({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 fb({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Gf(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 pb({value:t});return}throw new lb({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}})(Sb||={}),df();function Cb(e){let t=a_(e),n=t.slice(1,33),r=t.slice(33,65);return sb(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Ks(),Ml(),$c();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet wb=Vc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Tb=jl({a:wb.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:wb,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Us),Eb=Vc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));jl({a:Eb.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Eb,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Gs);let Db=Vc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));jl({a:Db.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Db,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Ws);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ob=Tb,kb=Tb;np(),L();function Ab(e){let{privateKey:t}=e;return n_(kb.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):P(t).slice(2)))}function jb(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=kb.sign(r instanceof Uint8Array?r:Ff(r),i instanceof Uint8Array?i:Ff(i),{extraEntropy:typeof t==`boolean`?t:ip(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Mb(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return kb.verify(i,n instanceof Uint8Array?n:Ff(n),o_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Nb=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 Pb(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Fb(r.error);return r.result}function Fb(e){let t=e;if(t instanceof Error&&!(`code`in t))return new qb({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===qb.code?new qb(t):n===Lb.code?new Lb(t):n===Kb.code?new Kb(t):n===Wb.code?new Wb(t):n===Hb.code?new Hb(t):n===Gb.code?new Gb(t):n===Vb.code?new Vb(t):n===Jb.code?new Jb(t):n===Rb.code?new Rb(t):n===zb.code?new zb(t):n===Bb.code?new Bb(t):n===Ub.code?new Ub(t):new qb({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Ib=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??``}},Lb=class e extends Ib{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(Lb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Rb=class e extends Ib{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(Rb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var zb=class e extends Ib{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(zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Bb=class e extends Ib{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(Bb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Vb=class e extends Ib{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(Vb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Hb=class e extends Ib{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(Hb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Ub=class e extends Ib{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(Ub,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Wb=class e extends Ib{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(Wb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Gb=class e extends Ib{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(Gb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Kb=class e extends Ib{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(Kb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var qb=class e extends Ib{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(qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Jb=class e extends Ib{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(Jb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),df();var Yb=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}},Xb=class extends Yb{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(Xb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Zb=class extends Yb{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(Zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Qb=class extends Yb{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(Qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var $b=class extends Yb{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($b,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var ex=class extends Yb{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(ex,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var tx=class extends Yb{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(tx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var nx=class extends Yb{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(nx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var rx=class extends Yb{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(rx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var ix=class extends Yb{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(ix,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var ax=class extends Yb{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(ax,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var ox=class extends Yb{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(ox,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var sx=class extends Yb{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(sx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var cx=class extends Yb{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(cx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function lx(){let e=new Nb.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 ux(e,t={}){if(!e)throw new fx;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Pb(n):n}catch(e){throw dx(e)}}}}function dx(e){let t=Fb(e);if(t instanceof qb){if(!t.data)return t;let{code:e}=t.data;if(e===$b.code)return new $b(t);if(e===ex.code)return new ex(t);if(e===Xb.code)return new Xb(t);if(e===Zb.code)return new Zb(t);if(e===Qb.code)return new Qb(t);if(e===tx.code)return new tx(t);if(e===sx.code)return new sx(t);if(e===cx.code)return new cx(t);if(e===ox.code)return new ox(t);if(e===ax.code)return new ax(t);if(e===ix.code)return new ix(t);if(e===rx.code)return new rx(t);if(e===nx.code)return new nx(t)}return t}var fx=class extends M{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function px(e={}){let t=e.id??0;return{prepare(e){return mx({id:t++,...e})},get id(){return t}}}function mx(e){return{...e,jsonrpc:`2.0`}}function hx(){return null}L();function gx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Hv(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=ib[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}df();let _x={wei:0,gwei:9,szabo:12,finney:15,ether:18};function vx(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 yx(e,t=`wei`){return vx(e,_x.gwei-_x[t])}df();var bx=class extends M{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${yx(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`})}},xx=class extends M{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},Sx=class extends M{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},Cx=class extends M{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${yx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${yx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function wx(e){let t=Ob.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}L();function Tx(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=N($g(op(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=P(new Uint8Array(16)),s=P(t.id);return N(a,o,F(t.id.length,{size:2}),s,Cb(t.publicKey))}function Ex(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:eb(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}np(),df(),L();function Dx(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:nb(e),type:`public-key`})):[{id:nb(t),type:`public-key`}]}:{},challenge:Ff(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Ox(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=Tx({flag:i,rpId:o,signCount:s}),u=Ex({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=$g(op(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:N(l,d)}}async function kx(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:Dx(n);try{let e=await t(r);if(!e)throw new Ax;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=wx(o);return{id:s,metadata:{authenticatorData:P(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new Ax({cause:e})}}var Ax=class extends M{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function jx(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Ff(s);if(u.length<37||a!==void 0&&!Lf(u.slice(0,32),$g(op(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||P(nb(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Mb({hash:!0,payload:Mf(u,$g(If(c),{as:`Bytes`})),publicKey:i,signature:o})}let Mx=Ox;async function Nx(e){return kx(e)}function Px(e){return jx(e)}np();async function Fx(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=n_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function Ix(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Nf(t)),i=Pf(new Uint8Array(r)),a=Hf(Vf(i,0,32)),o=Hf(Vf(i,32,64));return o>Ob.CURVE.n/2n&&(o=Ob.CURVE.n-o),{r:a,s:o}}df(),L(),Af();let Lx=`0x01`,Rx=`0x02`,zx=`0x03`,Bx=`0x04`,Vx=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Hx(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Hx({...e,signature:t.inner}):g_(Ux(e))}function Ux(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Gv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Ux({payload:t,signature:n.inner})}}function Wx(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-up(Vx)):e;if(up(t)===65){let e=xv(t);return yv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=up(r);if(n===Lx){if(i!==129)throw new Qx({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:fp(I(r,64,96)),y:fp(I(r,96,128))},prehash:mp(I(r,128,129))!==0,signature:{r:fp(I(r,0,32)),s:fp(I(r,32,64))},type:`p256`}}if(n===Rx){if(i<128)throw new Qx({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=hp(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 Qx({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:fp(I(r,e+64,e+96)),y:fp(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:fp(I(r,e,e+32)),s:fp(I(r,e+32,e+64))},type:`webAuthn`}}if(n===zx||n===Bx)return{userAddress:I(r,0,20),inner:Wx(I(r,20)),type:`keychain`,version:n===Bx?`v2`:`v1`};throw new Qx({reason:`Unknown signature type identifier: ${n}. Expected ${Lx} (P256), ${Rx} (WebAuthn), ${zx} (Keychain V1), or ${Bx} (Keychain V2)`,serialized:t})}function Gx(e,t){if(typeof e==`string`)return Wx(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=qx(e);return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:g_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:g_(Gv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Kx(e){if(e.type===`secp256k1`)return{signature:Tv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:fp(e.pubKeyX),y:fp(e.pubKeyY)},signature:{r:fp(e.r),s:fp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=up(t),r,i;for(let e=37;e<n;e++){let n=hp(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 Qx({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:fp(e.pubKeyX),y:fp(e.pubKeyY)},signature:{r:fp(e.r),s:fp(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e)return{type:`keychain`,userAddress:e.userAddress,inner:Kx(e.signature),...e.keyId?{keyId:e.keyId}:{},...e.version?{version:e.version}:{}};throw new Zx({envelope:e})}function qx(e){if(typeof e!=`object`||!e)throw new Zx({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;throw new Zx({envelope:e})}function Jx(e,t={}){let n=qx(e);if(n===`secp256k1`)return N(Dv(e.signature),t.magic?Vx:`0x`);if(n===`p256`){let n=e;return N(Lx,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?Vx:`0x`)}if(n===`webAuthn`){let n=e;return N(Rx,N(n.metadata.authenticatorData,op(n.metadata.clientDataJSON)),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?Vx:`0x`)}if(n===`keychain`){let n=e;return N(n.version===`v1`?zx:Bx,n.userAddress,Jx(n.inner),t.magic?Vx:`0x`)}throw new Zx({envelope:e})}function Yx(e){let t=qx(e);if(t===`secp256k1`)return{...Ov(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=N(t.metadata.authenticatorData,op(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:Yx(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}throw new Zx({envelope:e})}function Xx(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return g_(t.publicKey)})();if(!r)return!1;let i=Gx(e);if(i.type===`secp256k1`)return r?qv({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return __(g_(i.publicKey),r)?Mb({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return __(g_(i.publicKey),r)?Px({challenge:ip(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new $x(`Unable to verify signature envelope of type \"${i.type}\".`)}var Zx=class extends M{constructor({envelope:e}){super(`Unable to coerce value (\\`${Of(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Qx=class extends M{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},$x=class extends M{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};df(),L();function eS(e){return e.startsWith(`tempo`)?tS(e).address:e}function tS(e){if(!e.startsWith(`tempox`))throw new nS({address:e});let t=e.slice(6);return rp(t,{strict:!0}),{address:m_(t)}}var nS=class extends M{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};L();function rS(e,t={}){if(typeof e.chainId==`string`)return iS(e);let n={...e,address:eS(e.address)};return t.signature?{...n,signature:t.signature}:n}function iS(e){let{address:t,chainId:n,nonce:r}=e,i=Kx(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function aS(e){return e.map(e=>iS(e))}function oS(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=Wx(i)),rS(a)}function sS(e){let t=[];for(let n of e)t.push(oS(n));return t}function cS(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:Yx(i)}}function lS(e){return e.map(e=>cS(e))}function uS(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Jx(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function dS(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(uS(n));return t}L();let fS=`0x20c0`;function pS(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):mS(e)}function mS(e){let t=eS(e);if(!t.toLowerCase().startsWith(fS))throw Error(`invalid tip20 address.`);return fp(I(t,6))}function R(e){if(typeof e==`string`){let t=eS(e);return p_(t),t}return N(fS,F(e,{size:18}))}let hS=`0x0000000000000000000000000000000000000000`;function gS(e){let{authorizedSigner:t=hS,expiringNonceHash:n,operator:r=hS,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:_S(t),expiringNonceHash:n,operator:_S(r),payee:_S(i),payer:_S(a),salt:o,token:typeof s==`string`?_S(s):R(s)}}function _S(e){return h_(e)}L();let vS=ev(`address, address, address, address, bytes32, address, bytes32, address, uint256`),yS=ev(`bytes32, bytes32, bytes32, uint256, address`),bS=ev(`bytes32, bytes32, uint96`),xS=Zg(op(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),SS=Zg(op(`TIP20 Channel Reserve`)),CS=Zg(op(`1`)),wS=`0x4d50500000000000000000000000000000000000`,TS=Zg(op(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function ES(e){let t=gS(e);return Zg(Q_(vS,[t.payer,t.payee,t.operator,t.token,t.salt,t.authorizedSigner,t.expiringNonceHash,wS,BigInt(e.chainId)]))}function DS(e){return Zg(Q_(yS,[xS,SS,CS,BigInt(e.chainId),wS]))}function OS(e){let t=Zg(Q_(bS,[TS,e.channelId,e.cumulativeAmount]));return Zg(N(`0x1901`,DS({chainId:e.chainId}),t))}L();function kS(e,t={}){if(`keyId`in e)return AS(e);let n=e,r={...n,address:eS(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:eS(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:eS(e.address),selector:US(e.selector),...e.recipients?{recipients:e.recipients.map(e=>eS(e))}:{}}))}:{}};return t.signature?{...r,signature:Gx(t.signature)}:r}function AS(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=Kx(e.signature),c=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:HS(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:fp(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&VS(e.period)>0?{period:VS(e.period)}:{}})),...c?{scopes:c}:{},signature:s,type:o}}function jS(e){let[t,n]=e,[r,i,a,o,s,c]=t,l=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),u={address:a,expiry:o===void 0?void 0:VS(o)||void 0,type:l,chainId:r===`0x`?0n:fp(r),...o===void 0?{}:{expiry:VS(o)||void 0},...s!==void 0&&Array.isArray(s)&&s.length>0?{limits:s.map(e=>{let[t,n,r]=e;return{token:t,limit:BS(n),...r===void 0?{}:{period:VS(r)}}})}:{},...c!==void 0&&Array.isArray(c)?{scopes:c.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})})}:{}};return n&&(u.signature=Wx(n)),kS(u)}function MS(e){return PS(e)}function NS(e){return jS(cv(e))}function PS(e){let[t]=LS(e);return Zg(mv(t))}function FS(e){return mv(LS(e))}function IS(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s}=e,c=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:US(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:eS(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:zS(n)}:{}})),signature:Yx(s),...c?{allowedCalls:c}:{}}}function LS(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a}=e,o=e.signature?Jx(e.signature):void 0,s=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),c=a?.map(e=>{let t=[e.token,RS(e.limit)];return e.period&&e.period>0&&t.push(zS(e.period)),t}),l=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([US(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})();return[[RS(n),s,t,i!=null&&i!==0||c||l?zS(i??0):void 0,c||l?c??[]:void 0,l].filter(e=>e!==void 0),...o?[o]:[]]}function RS(e){return e===0n?`0x`:F(e)}function zS(e){return e===0?`0x`:F(e)}function BS(e){return e===`0x`?0n:BigInt(e)}function VS(e){return e===`0x`?0:mp(e)}function HS(e){return typeof e==`string`?e:Array.isArray(e)?P(new Uint8Array(e)):e}function US(e){if(e)return e.startsWith(`0x`)?e:_y(e)}L();let WS={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function GS(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Zg(op(WS[e]??e))}let KS={...ib,tempo:`0x76`},qS={...ab,\"0x76\":`tempo`};function JS(e,t={}){if(!e)return null;let n=ob(e);return n.type=qS[e.type],e.aaAuthorizationList&&(n.authorizationList=aS(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=Kx(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=AS(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Tv(e.feePayerSignature),n.feePayerSignature.v=jv(n.feePayerSignature.yParity)),n}L();function YS(e){let t=gx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=lS(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?eS(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?eS(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=R(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=IS(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 lp(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=KS.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}df(),L();let XS=`tempo`;function ZS(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new aC;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new oC({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&p_(e.to,{strict:!1});if(n<=0)throw new xx({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new bx({feeCap:r});if(i&&r&&i>r)throw new Cx({maxFeePerGas:r,maxPriorityFeePerGas:i})}function QS(e){let t=cv(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 Sx({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:XS});let y={chainId:Number(n),type:XS};gp(a)&&a!==`0x`&&(y.gas=BigInt(a)),gp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),gp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),gp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),gp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),gp(u)&&u!==`0x`&&(y.validBefore=Number(u)),gp(d)&&d!==`0x`&&(y.validAfter=Number(d)),gp(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=Ky(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=sS(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||v_(p)?(y.feePayerSignature=null,v_(p)&&(y.from=p)):y.feePayerSignature=Ev(p)),_&&(y.keyAuthorization=jS(_));let b=v?Wx(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Hx({payload:nC($S(y)),signature:b,root:!0})}catch{}return ZS(y),y}function $S(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?QS(e):e;return i.from&&=eS(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:eS(e.to)}:{}})),ZS(i),{...i,...r?{signature:Gx(r)}:{},...n?{feePayerSignature:Cv(n)}:{},type:`tempo`}}function eC(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;ZS(e);let h=qy(n),g=t.signature||e.signature,_=dS(r),v=i.map(e=>[e.to?eS(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=Gx(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return g_(t.publicKey);if(t.type===`secp256k1`)return Wv({payload:nC($S(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=[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`)?R(o):`0x`,b,_,...c?[LS(c)]:[],...g?[Jx(Gx(g))]:[]];return N(t.format===`feePayer`?`0x78`:`0x76`,mv(x))}function tC(e){return eC({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function nC(e,t={}){let n=rC(e,{presign:!0});return t.from?Zg(N(`0x04`,n,eS(t.from))):n}function rC(e,t={}){return Zg(t.presign?tC(e):eC(e))}function iC(e,t){let n=eS(t.sender);return Zg(eC({...e,signature:void 0},{sender:n,format:`feePayer`}))}var aC=class extends M{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},oC=class extends M{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let sC=[{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:[]}],z=[{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:[]}],cC=[{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:[]}],lC=[{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:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],uC=[{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:`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:[]}],dC=[{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:[]}],fC=[{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:[]}],pC=[{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:[]}],mC=[{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:`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:`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:`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:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],hC=[{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:[]}],gC=[{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`}]}],_C=[{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:`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:`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:`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:[]}],vC=[{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`}]}],yC=[...sC,...z,...cC,...lC,...uC,...dC,...fC,...pC,...mC,...hC,...gC,..._C,...vC];L();function bC(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:zd(e)}function xC(e){try{return bC(e)===`tempo`}catch{return!1}}function SC(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?wC(e):ey(e)}async function CC(e,t){if(!xC(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 bh(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return bh(e,t)}if(bC(e)===`tempo`)return TC(e,t);throw Error(`Unsupported transaction type`)}function wC(e){let{feePayerSignature:t,nonce:n,...r}=QS(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 TC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Gx({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)||!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)}:{}};if(l&&delete u.feeToken,n&&typeof e.feePayer==`object`){let t=$S(u,{signature:n}),r=iC(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Wv({payload:nC(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return eC(t,{feePayerSignature:Cv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?eC(u,{signature:n}):n?eC(u,{format:`feePayer`,sender:e.from,signature:n}):eC(u,{feePayerSignature:null}):eC({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}L(),ba(),_i();function EC(e){let{access:t}=e;return t?RC(e):LC(e)}function DC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ab({privateKey:e});return EC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=Mx({...t,challenge:n,rpId:i,origin:a});return Jx({metadata:r,signature:jb({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function OC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ab({privateKey:e});return EC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return Jx({signature:jb({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function kC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Uv({privateKey:e});return EC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Dv(Kv({payload:n,privateKey:e}))}})}function AC(e,t={}){let{id:n}=e,r=i_(e.publicKey);return EC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Nx({...t,challenge:e,credentialId:n});return Jx({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function jC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return EC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return Jx({signature:await Ix({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function MC(e,t){let n=NC(t);return PC(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function NC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return OS({chainId:t,channelId:typeof n==`string`?n:ES(n,{chainId:t}),cumulativeAmount:r})}function PC(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function FC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o}=t,{accessKeyAddress:s,keyType:c}=zC(r);return kS({address:s,chainId:n,expiry:i,limits:a,scopes:o,signature:Gx(await e.sign({hash:MS({address:s,chainId:n,expiry:i,limits:a,scopes:o,type:c})})),type:c})}function IC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??g_(e.publicKey),o=o_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?gi(N(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?Jx(Gx({userAddress:n,inner:Gx(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=Gx(await s({hash:ku({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:qh(t)})},async signTransaction(e,t){let{serializer:n=CC}=t??{};return await n(e,Gx(await s({hash:gi(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e))})))},async signTypedData(e){return await s({hash:tg(e)})},async signVoucher(e){let t=NC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function LC(e){let t=IC(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o}=n,{accessKeyAddress:s,keyType:c}=zC(e);return kS({address:s,chainId:r,expiry:i,limits:a,scopes:o,signature:Gx(await t.sign({hash:MS({address:s,chainId:r,expiry:i,limits:a,scopes:o,type:c})})),type:c})}}}function RC(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=ya(t);return{...IC({...e,parentAddress:r}),accessKeyAddress:g_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function zC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:g_(i_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let BC=`0xaAAAaaAA00000000000000000000000000000000`,VC=`0xdec0000000000000000000000000000000000000`,HC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`];function UC(e,t){return HC.indexOf(e)<HC.indexOf(t)}Ta();function B(e){return{...e,data:wa(e),to:e.address}}ba();let WC={0:`secp256k1`,1:`p256`,2:`webAuthn`},GC={true:`limited`,false:`unlimited`};async function KC(e,t){return KC.inner(Zm,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,chainId:i=t.chain?.id,expiry:a,limits:o,scopes:s,...c}=n,l=c.account??t.account;if(!l)throw Error(`account is required.`);if(!i)throw Error(`chainId is required.`);let u=await FC(ya(l),{chainId:BigInt(i),key:r,expiry:a,limits:o,scopes:s});return await e(t,{...c,keyAuthorization:u})}e.inner=t;function n(e){let[t]=ef({abi:mC,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(KC||={});async function qC(e,t){return qC.inner(Qm,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 B({address:BC,abi:mC,functionName:`revokeKey`,args:[ZC(t)]})}e.call=n;function r(e){let[t]=ef({abi:mC,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(qC||={});async function JC(e,t){return JC.inner(Qm,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 B({address:BC,abi:mC,functionName:`updateSpendingLimit`,args:[ZC(t),n,r]})}e.call=n;function r(e){let[t]=ef({abi:mC,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(JC||={});async function YC(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=ya(n),o=await zm(e,{...i,account:null,...YC.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:WC[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:GC[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return B({address:BC,abi:mC,functionName:`getKey`,args:[t,ZC(n)]})}e.call=t})(YC||={});async function XC(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=ya(n),s=e.chain?.hardfork;if(s&&UC(s,`t3`))return{remaining:await zm(e,{...a,...XC.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await zm(e,{...a,...XC.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 B({address:BC,abi:mC,functionName:`getRemainingLimit`,args:[t,ZC(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return B({address:BC,abi:mC,functionName:`getRemainingLimitWithPeriod`,args:[t,ZC(n),r]})}e.callWithPeriod=n})(XC||={});function ZC(e){return typeof e==`string`?e:e.accessKeyAddress}L(),ba();async function QC(e,t){return QC.inner(Qm,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 B({address:VC,abi:uC,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(QC||={});async function $C(e,t){return $C.inner(Qm,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 B({address:VC,abi:uC,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=ef({abi:uC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})($C||={});async function ew(e,t){return ew.inner(Qm,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 B({address:VC,abi:uC,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=ef({abi:uC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(ew||={});async function tw(e,t){return tw.inner(Qm,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 B({address:VC,abi:uC,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=ef({abi:uC,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(tw||={});async function nw(e,t){let{account:n=e.account,token:r,...i}=t,a=n?ya(n).address:void 0;if(!a)throw Error(`account is required.`);return zm(e,{...i,...nw.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return B({address:VC,abi:uC,args:[t,n],functionName:`balanceOf`})}e.call=t})(nw||={});async function rw(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return zm(e,{...a,...rw.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return B({address:VC,abi:uC,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(rw||={});async function iw(e,t){let{orderId:n,...r}=t;return zm(e,{...r,...iw.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return B({address:VC,abi:uC,args:[t],functionName:`getOrder`})}e.call=t})(iw||={});async function aw(e,t){let{base:n,quote:r,...i}=t;return zm(e,{...i,...aw.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return B({address:VC,abi:uC,args:[fw(t,n)],functionName:`books`})}e.call=t})(aw||={});async function ow(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await zm(e,{...a,...ow.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 B({address:VC,abi:uC,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(ow||={});async function sw(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return zm(e,{...a,...sw.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return B({address:VC,abi:uC,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(sw||={});async function cw(e,t){return cw.inner(Qm,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 B({address:VC,abi:uC,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=ef({abi:uC,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(cw||={});async function lw(e,t){return lw.inner(Qm,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 B({address:VC,abi:uC,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=ef({abi:uC,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})(lw||={});async function uw(e,t){return uw.inner(Qm,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 B({address:VC,abi:uC,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(uw||={});async function dw(e,t){return dw.inner(Qm,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 B({address:VC,abi:uC,functionName:`withdraw`,args:[t,n]})}e.call=n})(dw||={});function fw(e,t){return Zg(N(e,t))}L(),ba(),Ta();async function pw(e,t){let{token:n,...r}=t;return pw.inner(Qm,e,t,{...r,token:n})}(function(e){async function t(t,n,r,i){let a=e.call(i);return await t(n,{...r,...a})}e.inner=t;function n(e){let{spender:t,amount:n,token:r}=e;return B({address:R(r),abi:z,functionName:`approve`,args:[t,n]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(pw||={});async function mw(e,t){return mw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call({amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{from:t,amount:n,token:r}=e;return B({address:R(r),abi:z,functionName:`burnBlocked`,args:[t,n]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(mw||={});async function hw(e,t){return hw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call({amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{amount:t,memo:n,token:r}=e,i=n?{functionName:`burnWithMemo`,args:[t,sp(n,32)]}:{functionName:`burn`,args:[t]};return B({address:R(r),abi:z,...i})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(hw||={});async function gw(e,t){return gw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call({policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,policyId:n}=e;return B({address:R(t),abi:z,functionName:`changeTransferPolicyId`,args:[n]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(gw||={});async function _w(e,t){return _w.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?ya(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call({...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e){let{name:t,symbol:n,currency:r,logoURI:i,quoteToken:a=`0x20c0000000000000000000000000000000000000`,admin:o,salt:s=lp(32)}=e;return B({address:`0x20fc000000000000000000000000000000000000`,abi:gC,args:typeof i==`string`?[t,n,r,R(a),o,s,i]:[t,n,r,R(a),o,s],functionName:`createToken`})}e.call=n;function r(e){let[t]=ef({abi:gC,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(_w||={});async function vw(e,t){let{account:n=e.account}=t,r=n?ya(n).address:void 0;if(!r)throw Error(`account is required.`);return zm(e,{...t,...vw.call({...t,account:r})})}(function(e){function t(e){let{account:t,spender:n,token:r}=e;return B({address:R(r),abi:z,functionName:`allowance`,args:[t,n]})}e.call=t})(vw||={});async function yw(e,t){let{account:n=e.account,...r}=t,i=n?ya(n).address:void 0;if(!i)throw Error(`account is required.`);return zm(e,{...r,...yw.call({account:i,...r})})}(function(e){function t(e){let{account:t,token:n}=e;return B({address:R(n),abi:z,functionName:`balanceOf`,args:[t]})}e.call=t})(yw||={});async function bw(e,t){let{token:n,...r}=t,i=R(n),a=z;return pS(n)===mS(`0x20c0000000000000000000000000000000000000`)?fy(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:xw(r),symbol:xw(i),currency:xw(e),decimals:xw(t),logoURI:xw(n,``),totalSupply:xw(a)})):fy(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,s,c,l])=>({name:xw(i),symbol:xw(s),currency:xw(e),decimals:xw(t),logoURI:xw(n,``),quoteToken:xw(r),totalSupply:xw(c),paused:xw(a),supplyCap:xw(o),transferPolicyId:xw(l)}))}function xw(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function Sw(e,t){return zm(e,{...t,...Sw.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return B({address:R(n),abi:z,functionName:`getRoleAdmin`,args:[GS(t)]})}e.call=t})(Sw||={});async function Cw(e,t){let{account:n=e.account}=t,r=n?ya(n).address:void 0;if(!r)throw Error(`account is required.`);return zm(e,{...t,...Cw.call({...t,account:r})})}(function(e){function t(e){let{account:t,role:n,token:r}=e;return B({address:R(r),abi:z,functionName:`hasRole`,args:[t,GS(n)]})}e.call=t})(Cw||={});async function ww(e,t){return ww.inner(Zm,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:wa(n)}})})}e.inner=t;function n(e){let{token:t,to:n,role:r}=e,i=GS(r);return B({address:R(t),abi:z,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=ef({abi:z,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(ww||={});async function Tw(e,t){return Tw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let i=e.call(r);return await t(n,{...r,...i})}e.inner=t;function n(e){let{to:t,amount:n,memo:r,token:i}=e,a=r?{functionName:`mintWithMemo`,args:[t,n,sp(r,32)]}:{functionName:`mint`,args:[t,n]};return B({address:R(i),abi:z,...a})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(Tw||={});async function Ew(e,t){return Ew.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return B({address:R(t),abi:z,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Ew||={});async function Dw(e,t){return Dw.inner(Zm,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:wa(n)}})})}e.inner=t;function n(e){let{token:t,role:n}=e,r=GS(n);return B({address:R(t),abi:z,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=ef({abi:z,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Dw||={});async function Ow(e,t){return Ow.inner(Zm,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 n=e.call({...r,role:t});return{...n,data:wa(n)}})})}e.inner=t;function n(e){let{token:t,from:n,role:r}=e,i=GS(r);return B({address:R(t),abi:z,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=ef({abi:z,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Ow||={});async function kw(e,t){return kw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call({supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,supplyCap:n}=e;return B({address:R(t),abi:z,functionName:`setSupplyCap`,args:[n]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(kw||={});async function Aw(e,t){return Aw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call({adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{token:t,role:n,adminRole:r}=e,i=GS(n),a=GS(r);return B({address:R(t),abi:z,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(Aw||={});async function jw(e,t){return jw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,memo:o,token:s,to:c,...l}=r,u=e.call({amount:i,from:a,memo:o,token:s,to:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{amount:t,from:n,memo:r,token:i,to:a}=e,o=r&&n?{functionName:`transferFromWithMemo`,args:[n,a,t,sp(r,32)]}:r?{functionName:`transferWithMemo`,args:[a,t,sp(r,32)]}:n?{functionName:`transferFrom`,args:[n,a,t]}:{functionName:`transfer`,args:[a,t]};return B({address:R(i),abi:z,...o})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(jw||={});async function Mw(e,t){return Mw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return B({address:R(t),abi:z,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Mw||={});async function Nw(e,t){return Nw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call({quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,quoteToken:n}=e;return B({address:R(t),abi:z,functionName:`setNextQuoteToken`,args:[R(n)]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(Nw||={});async function Pw(e,t){return Pw.inner(Qm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return B({address:R(t),abi:z,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=ef({abi:z,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(Pw||={}),L(),ba(),nd();function Fw(e){if(!xC(e))return gd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=JS(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:KS[a.type],type:a.type}}function Iw(e){return nh(e)}function Lw(e,t){let n=e,r=n.account?ya(n.account):void 0;if(!xC(n))return Qu(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 i=YS({...n,type:`tempo`});t===`estimateGas`&&(i.maxFeePerGas=void 0,i.maxPriorityFeePerGas=void 0),i.to=void 0,i.data=void 0,i.value=void 0;let[a,o]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Rw(n.keyData)]:[n.keyType,Rw(n.keyData)]})(),s=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(i.from=r.address),{...i,...n.capabilities?{capabilities:n.capabilities}:{},...o?{keyData:o}:{},...s?{keyId:s}:{},...a?{keyType:a}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?ya(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Rw(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let zw=new Map;async function Bw(e){zw.set(e,(zw.get(e)??0)+1),await Promise.resolve();let t=(zw.get(e)??0)>1;return queueMicrotask(()=>{let t=zw.get(e)??0;t<=1?zw.delete(e):zw.set(e,t-1)}),t}L(),cd(),Yd(),nd(),_i();let Vw={blockTime:1e3,extendSchema:Fh(),formatters:{transaction:_d({exclude:[`aaAuthorizationList`],format:Fw}),transactionReceipt:rh({format:Iw}),transactionRequest:td({format:Lw})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;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 w(t,YC,`getMetadata`)({account:i,accessKey:a});Jd(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`||r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await Bw(e):!1})()?(r.nonceKey=sd,r.nonce=0,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)=>CC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Wx(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?gi(N(`0x04`,r,n)):r,a=(()=>{try{return Hx({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await YC(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:Xx(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await ph(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Xx(o,{address:n,payload:r})}}return await w(e,Oy,`verifyHash`)({...t,chain:null})}},Hw=Ph({...Vw,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`]}}}),Uw=Ph({...Vw,id:42431,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}),Ww=Ph({...Vw,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}),Gw=Ph({...Vw,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function Kw(e){return e.source}function qw(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return zy({key:qw.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(SC(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:qw.type})}}no();let Jw={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.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,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.`,InvalidRecipient:`Invalid recipient.`,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.`,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 Yw(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function Xw(e){let t=e.details??e.shortMessage??e.message,n=Zw(e);if(n)try{let e=to({abi:yC,data:n}),r=Jw[e.errorName];return{...e,data:n,message:r?Yw(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in Jw?{errorName:`unknown`,message:Jw[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function Zw(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 Zw(t.cause);if(t.error)return Zw(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return Zw(e)}return null}var Qw;function V(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 $w=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},eT=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Qw=globalThis).__zod_globalConfig??(Qw.__zod_globalConfig={});let tT=globalThis.__zod_globalConfig;function nT(e){return e&&Object.assign(tT,e),tT}function rT(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 iT(e,t){return typeof t==`bigint`?t.toString():t}function aT(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function oT(e){return e==null}function sT(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let cT=Symbol(`evaluating`);function H(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==cT)return r===void 0&&(r=cT,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function lT(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function uT(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}let dT=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function fT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function pT(e){if(fT(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(fT(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let mT=new Set([`string`,`number`,`symbol`]),hT=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function gT(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function _T(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function vT(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 yT(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function bT(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 _T(e,uT(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 lT(this,`shape`,r),r},checks:[]}))}function xT(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 ST(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 CT(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function wT(e){return typeof e==`string`?e:e?.message}function TT(e,t,n){let r=e.message?e.message:wT(e.inst?._zod.def?.error?.(e))??wT(t?.error?.(e))??wT(n.customError?.(e))??wT(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 ET(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function DT(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let OT=(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,iT,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},kT=V(`$ZodError`,OT),AT=V(`$ZodError`,OT,{Parent:Error}),jT=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 $w;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>TT(e,a,nT())));throw dT(t,i?.callee),t}return o.value},MT=jT(AT),NT=(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=>TT(e,a,nT())));throw dT(t,i?.callee),t}return o.value})(AT),PT=(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 $w;return a.issues.length?{success:!1,error:new(e??kT)(a.issues.map(e=>TT(e,i,nT())))}:{success:!0,data:a.value}})(AT),FT=(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=>TT(e,i,nT())))}:{success:!0,data:a.value}})(AT),IT=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return jT(e)(t,n,i)})(AT),LT=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},RT=/^-?\\d+n?$/,zT=/^-?\\d+(?:\\.\\d+)?$/,BT=/^(?:true|false)$/i,VT=/^null$/i,HT=/^undefined$/i,UT=V(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),WT={number:`number`,bigint:`bigint`,object:`date`},GT=V(`$ZodCheckLessThan`,(e,t)=>{UT.init(e,t);let n=WT[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})}}),KT=V(`$ZodCheckGreaterThan`,(e,t)=>{UT.init(e,t);let n=WT[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})}}),qT=V(`$ZodCheckMaxLength`,(e,t)=>{var n;UT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!oT(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=ET(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),JT=V(`$ZodCheckMinLength`,(e,t)=>{var n;UT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!oT(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=ET(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),YT=V(`$ZodCheckStringFormat`,(e,t)=>{var n,r;UT.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=()=>{})}),XT=V(`$ZodCheckRegex`,(e,t)=>{YT.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})}}),ZT={major:4,minor:4,patch:3},QT=V(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ZT;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=xT(e),i;for(let a of t){if(a._zod.def.when){if(ST(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 $w;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=xT(e,t))});else{if(e.issues.length===t)continue;r||=xT(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(xT(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new $w;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 $w;return o.then(e=>t(e,r,a))}return t(o,r,a)}}H(e,`~standard`,()=>({validate:t=>{try{let n=PT(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return FT(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),$T=V(`$ZodString`,(e,t)=>{QT.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??LT(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}}),eE=V(`$ZodNumber`,(e,t)=>{QT.init(e,t),e._zod.pattern=e._zod.bag.pattern??zT,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}}),tE=V(`$ZodBoolean`,(e,t)=>{QT.init(e,t),e._zod.pattern=BT,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}}),nE=V(`$ZodBigInt`,(e,t)=>{QT.init(e,t),e._zod.pattern=RT,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}}),rE=V(`$ZodUndefined`,(e,t)=>{QT.init(e,t),e._zod.pattern=HT,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}}),iE=V(`$ZodNull`,(e,t)=>{QT.init(e,t),e._zod.pattern=VT,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}}),aE=V(`$ZodUnknown`,(e,t)=>{QT.init(e,t),e._zod.parse=e=>e});function oE(e,t,n){e.issues.length&&t.issues.push(...CT(n,e.issues)),t.value[n]=e.value}let sE=V(`$ZodArray`,(e,t)=>{QT.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=>oE(t,n,e))):oE(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function cE(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...CT(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 lE(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=yT(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function uE(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=>cE(e,n,i,t,u,d))):cE(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 dE=V(`$ZodObject`,(e,t)=>{if(QT.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=aT(()=>lE(t));H(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=fT,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=>cE(n,t,e,s,r,i))):cE(a,t,e,s,r,i)}return i?uE(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function fE(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=>!xT(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=>TT(e,r,nT())))}),t)}let pE=V(`$ZodUnion`,(e,t)=>{QT.init(e,t),H(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),H(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),H(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),H(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=>sT(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=>fE(t,r,e,i)):fE(o,r,e,i)}}),mE=V(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,pE.init(e,t);let n=e._zod.parse;H(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=aT(()=>{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(!fT(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)}}),hE=V(`$ZodTuple`,(e,t)=>{QT.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=gE(n,`optin`),c=gE(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=>_E(t,r,e))):_E(a,r,e)}}return o.length?Promise.all(o).then(()=>vE(l,r,n,a,c)):vE(l,r,n,a,c)}});function gE(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function _E(e,t,n){e.issues.length&&t.issues.push(...CT(n,e.issues)),t.value[n]=e.value}function vE(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(...CT(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 yE=V(`$ZodRecord`,(e,t)=>{QT.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!pT(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=>TT(e,r,nT())),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(...CT(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...CT(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`&&zT.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=>TT(e,r,nT())),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(...CT(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...CT(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),bE=V(`$ZodEnum`,(e,t)=>{QT.init(e,t);let n=rT(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>mT.has(typeof e)).map(e=>typeof e==`string`?gT(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}}),xE=V(`$ZodLiteral`,(e,t)=>{if(QT.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`?gT(e):e?gT(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}}),SE=V(`$ZodTransform`,(e,t)=>{QT.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new eT(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 $w;return n.value=i,n.fallback=!0,n}});function CE(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let wE=V(`$ZodOptional`,(e,t)=>{QT.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,H(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),H(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${sT(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=>CE(e,r)):CE(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),TE=V(`$ZodNullable`,(e,t)=>{QT.init(e,t),H(e._zod,`optin`,()=>t.innerType._zod.optin),H(e._zod,`optout`,()=>t.innerType._zod.optout),H(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${sT(e.source)}|null)$`):void 0}),H(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)}),EE=V(`$ZodPipe`,(e,t)=>{QT.init(e,t),H(e._zod,`values`,()=>t.in._zod.values),H(e._zod,`optin`,()=>t.in._zod.optin),H(e._zod,`optout`,()=>t.out._zod.optout),H(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=>DE(e,t.in,n)):DE(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>DE(e,t.out,n)):DE(r,t.out,n)}});function DE(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 OE=V(`$ZodCodec`,(e,t)=>{QT.init(e,t),H(e._zod,`values`,()=>t.in._zod.values),H(e._zod,`optin`,()=>t.in._zod.optin),H(e._zod,`optout`,()=>t.out._zod.optout),H(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=>kE(e,t,n)):kE(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>kE(e,t,n)):kE(r,t,n)}}});function kE(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=>AE(e,r,t.out,n)):AE(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>AE(e,r,t.in,n)):AE(e,r,t.in,n)}}function AE(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let jE=V(`$ZodReadonly`,(e,t)=>{QT.init(e,t),H(e._zod,`propValues`,()=>t.innerType._zod.propValues),H(e._zod,`values`,()=>t.innerType._zod.values),H(e._zod,`optin`,()=>t.innerType?._zod?.optin),H(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(ME):ME(r)}});function ME(e){return e.value=Object.freeze(e.value),e}let NE=V(`$ZodTemplateLiteral`,(e,t)=>{QT.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||hT.has(typeof e))n.push(gT(`${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)}),PE=V(`$ZodCustom`,(e,t)=>{UT.init(e,t),QT.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=>FE(t,n,r,e));FE(i,n,r,e)}});function FE(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(DT(e))}}function IE(e,t){return new e({type:`string`,...vT(t)})}function LE(e,t){return new e({type:`number`,checks:[],...vT(t)})}function RE(e,t){return new e({type:`boolean`,...vT(t)})}function zE(e,t){return new e({type:`bigint`,...vT(t)})}function BE(e,t){return new e({type:`undefined`,...vT(t)})}function VE(e,t){return new e({type:`null`,...vT(t)})}function HE(e){return new e({type:`unknown`})}function UE(e,t){return new GT({check:`less_than`,...vT(t),value:e,inclusive:!0})}function WE(e,t){return new KT({check:`greater_than`,...vT(t),value:e,inclusive:!0})}function GE(e,t){return new qT({check:`max_length`,...vT(t),maximum:e})}function KE(e,t){return new JT({check:`min_length`,...vT(t),minimum:e})}function qE(e,t){return new XT({check:`string_format`,format:`regex`,...vT(t),pattern:e})}function JE(e,t,n){let r=vT(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function YE(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...vT(n)})}let XE=V(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);QT.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>MT(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>PT(e,t,n),e.parseAsync=async(t,n)=>NT(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>FT(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)=>_T(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),ZE=V(`ZodMiniString`,(e,t)=>{$T.init(e,t),XE.init(e,t)});function U(e){return IE(ZE,e)}let QE=V(`ZodMiniNumber`,(e,t)=>{eE.init(e,t),XE.init(e,t)});function $E(e){return LE(QE,e)}let eD=V(`ZodMiniBoolean`,(e,t)=>{tE.init(e,t),XE.init(e,t)});function tD(e){return RE(eD,e)}let nD=V(`ZodMiniBigInt`,(e,t)=>{nE.init(e,t),XE.init(e,t)});function rD(e){return zE(nD,e)}let iD=V(`ZodMiniUndefined`,(e,t)=>{rE.init(e,t),XE.init(e,t)});function aD(e){return BE(iD,e)}let oD=V(`ZodMiniNull`,(e,t)=>{iE.init(e,t),XE.init(e,t)});function sD(e){return VE(oD,e)}let cD=V(`ZodMiniUnknown`,(e,t)=>{aE.init(e,t),XE.init(e,t)});function lD(){return HE(cD)}let uD=V(`ZodMiniArray`,(e,t)=>{sE.init(e,t),XE.init(e,t)});function W(e,t){return new uD({type:`array`,element:e,...vT(t)})}let dD=V(`ZodMiniObject`,(e,t)=>{dE.init(e,t),XE.init(e,t),H(e,`shape`,()=>t.shape)});function G(e,t){return new dD({type:`object`,shape:e??{},...vT(t)})}function fD(e,t){return bT(e,t)}let pD=V(`ZodMiniUnion`,(e,t)=>{pE.init(e,t),XE.init(e,t)});function K(e,t){return new pD({type:`union`,options:e,...vT(t)})}let mD=V(`ZodMiniDiscriminatedUnion`,(e,t)=>{mE.init(e,t),XE.init(e,t)});function hD(e,t,n){return new mD({type:`union`,options:t,discriminator:e,...vT(n)})}let gD=V(`ZodMiniTuple`,(e,t)=>{hE.init(e,t),XE.init(e,t)});function _D(e,t,n){let r=t instanceof QT;return new gD({type:`tuple`,items:e,rest:r?t:null,...vT(r?n:t)})}let vD=V(`ZodMiniRecord`,(e,t)=>{yE.init(e,t),XE.init(e,t)});function yD(e,t,n){return!t||!t._zod?new vD({type:`record`,keyType:U(),valueType:e,...vT(t)}):new vD({type:`record`,keyType:e,valueType:t,...vT(n)})}let bD=V(`ZodMiniEnum`,(e,t)=>{bE.init(e,t),XE.init(e,t),e.options=Object.values(t.entries)});function xD(e,t){return new bD({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...vT(t)})}let SD=V(`ZodMiniLiteral`,(e,t)=>{xE.init(e,t),XE.init(e,t)});function q(e,t){return new SD({type:`literal`,values:Array.isArray(e)?e:[e],...vT(t)})}let CD=V(`ZodMiniTransform`,(e,t)=>{SE.init(e,t),XE.init(e,t)});function wD(e){return new CD({type:`transform`,transform:e})}let TD=V(`ZodMiniOptional`,(e,t)=>{wE.init(e,t),XE.init(e,t)});function J(e){return new TD({type:`optional`,innerType:e})}let ED=V(`ZodMiniNullable`,(e,t)=>{TE.init(e,t),XE.init(e,t)});function DD(e){return new ED({type:`nullable`,innerType:e})}let OD=V(`ZodMiniPipe`,(e,t)=>{EE.init(e,t),XE.init(e,t)});function kD(e,t){return new OD({type:`pipe`,in:e,out:t})}let AD=V(`ZodMiniCodec`,(e,t)=>{OD.init(e,t),OE.init(e,t)});function jD(e,t,n){return new AD({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let MD=V(`ZodMiniReadonly`,(e,t)=>{jE.init(e,t),XE.init(e,t)});function Y(e){return new MD({type:`readonly`,innerType:e})}let ND=V(`ZodMiniTemplateLiteral`,(e,t)=>{NE.init(e,t),XE.init(e,t)});function PD(e,t){return new ND({type:`template_literal`,parts:e,...vT(t)})}let FD=V(`ZodMiniCustom`,(e,t)=>{PE.init(e,t),XE.init(e,t)});function ID(e,t){return JE(FD,e??(()=>!0),t)}function LD(e,t={}){return YE(FD,e,t)}function RD(e){return e}function zD(e){return e}L();let X=()=>PD([`0x`,U().check(qE(/^[0-9a-fA-F]{40}$/))],`Expected address`),BD=()=>jD(K([Z(),rD()]),rD(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:fp(e),encode:e=>F(e)}),Z=()=>PD([`0x`,U()],`Expected hex value`),VD=()=>jD(K([Z(),$E()]),$E(),{decode:e=>typeof e==`number`?e:e===`0x`?0:mp(e),encode:e=>F(e)});L();let HD=G({address:X(),blockHash:Z(),blockNumber:BD(),data:Z(),logIndex:VD(),removed:tD(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:VD()}),UD=G({blobGasPrice:J(BD()),blobGasUsed:J(BD()),blockHash:Z(),blockNumber:BD(),contractAddress:DD(X()),cumulativeGasUsed:BD(),effectiveGasPrice:BD(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:BD(),logs:W(HD),logsBloom:Z(),root:J(Z()),status:jD(Z(),xD([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:DD(X()),transactionHash:Z(),transactionIndex:VD(),type:Z()}),WD=ID(),GD=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),KD=jD(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:BD(),expiry:K([VD(),sD(),aD()]),keyId:X(),keyType:GD,limits:J(Y(W(G({token:X(),limit:BD(),period:J(VD())})))),signature:WD}),ID(),{decode(e){return AS({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=IS(e);return{chainId:t.chainId===`0x`?0n:fp(t.chainId),expiry:t.expiry==null?null:mp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:fp(e),...t?{period:mp(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}:{}}))}:{}}))}:{}}}}),qD=G({data:J(Z()),to:J(X()),value:J(BD())}),JD=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(qD))),chainId:J(VD()),data:J(Z()),feePayer:J(K([tD(),U()])),feePayerSignature:J(yD(U(),lD())),feeToken:J(X()),from:J(X()),gas:J(BD()),keyAuthorization:J(KD),keyData:J(Z()),keyId:J(X()),keyType:J(GD),maxFeePerGas:J(BD()),maxPriorityFeePerGas:J(BD()),nonce:J(VD()),nonceKey:J(BD()),to:J(X()),validAfter:J(VD()),validBefore:J(VD()),value:J(BD())});var YD;(function(e){e.schema=RD({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(YD||={});var XD;(function(e){e.schema=RD({method:q(`eth_chainId`),params:void 0,returns:Z()})})(XD||={});var ZD;(function(e){e.schema=RD({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(ZD||={});var QD;(function(e){e.schema=RD({method:q(`eth_sendTransaction`),params:Y(_D([JD])),returns:Z()})})(QD||={});var $D;(function(e){let t=G({address:X(),decimals:$E(),direction:xD([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:$E(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=RD({method:q(`eth_fillTransaction`),params:Y(_D([JD])),returns:G({capabilities:G({balanceDiffs:J(yD(X(),Y(W(t)))),error:J(G({abiItem:J(yD(U(),lD())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:$E(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:$E(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:$E()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:tD()}),tx:yD(U(),lD())})})})($D||={});var eO;(function(e){e.schema=RD({method:q(`eth_signTransaction`),params:Y(_D([JD])),returns:Z()})})(eO||={});var tO;(function(e){e.schema=RD({method:q(`eth_sendTransactionSync`),params:Y(_D([JD])),returns:UD})})(tO||={});var nO;(function(e){e.schema=RD({method:q(`eth_signTypedData_v4`),params:Y(_D([X(),U()])),returns:Z()})})(nO||={});var rO;(function(e){e.schema=RD({method:q(`personal_sign`),params:Y(_D([Z(),X()])),returns:Z()})})(rO||={});let iO=J(G({feePayer:J(K([tD(),U()])),sync:J(tD())}));var aO;(function(e){e.schema=RD({method:q(`wallet_sendCalls`),params:J(Y(_D([G({atomicRequired:J(tD()),calls:Y(W(qD)),capabilities:iO,chainId:J(VD()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(tD()),capabilities:iO,chainId:J(VD()),id:U(),receipts:J(W(UD)),status:J($E()),version:J(U())})})})(aO||={});var oO;(function(e){e.schema=RD({method:q(`wallet_getBalances`),params:J(Y(_D([G({account:J(X()),chainId:J(VD()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:BD(),decimals:$E(),display:U(),name:U(),symbol:U()})))})})(oO||={});var sO;(function(e){e.schema=RD({method:q(`wallet_getCapabilities`),params:J(Y(K([_D([X()]),_D([X(),Y(W(Z()))])]))),returns:yD(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`)])}))}))})})(sO||={});var cO;(function(e){e.showDeposit=J(K([tD(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(BD()),expiry:$E(),keyType:J(GD),limits:J(Y(W(G({token:X(),limit:BD(),period:J($E())})))),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:KD,rootAddress:X()}),e.schema=RD({method:q(`wallet_authorizeAccessKey`),params:Y(_D([e.parameters])),returns:e.returns})})(cO||={});var lO;(function(e){e.parameters=G({address:J(X()),expiry:$E(),keyType:J(GD),limits:Y(W(G({token:X(),limit:BD(),period:J($E())})).check(KE(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(KE(1))),showDeposit:cO.showDeposit})})(lO||={});var uO;(function(e){e.schema=RD({method:q(`wallet_revokeAccessKey`),params:Y(_D([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(uO||={});var dO;(function(e){e.authorizeAccessKey=J(fD(cO.parameters,{showDeposit:!0})),e.showDeposit=J(K([tD(),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(tD())})])),e.personalSign=J(G({message:U()})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,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,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(tD()),showDeposit:e.showDeposit})])),result:G({email:J(DD(U())),keyAuthorization:J(KD),personalSign:J(G({message:U()})),signature:J(Z()),username:J(DD(U())),auth:J(G({token:J(U())}))})},e.schema=RD({method:q(`wallet_connect`),params:J(Y(_D([G({capabilities:e.capabilities.request,chainId:J(VD()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(dO||={});var fO;(function(e){let t=J(fD(lO.parameters,{showDeposit:!0})),n=dO.auth,r=dO.personalSign,i=dO.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,method:q(`register`),name:J(U()),personalSign:r,showDeposit:i,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,method:J(q(`login`)),personalSign:r,selectAccount:J(tD()),showDeposit:i})])),chainId:J(VD()),version:J(U())})})(fO||={});var pO;(function(e){e.schema=RD({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(pO||={});var mO;(function(e){e.schema=RD({method:q(`wallet_getCallsStatus`),params:J(Y(_D([U()]))),returns:G({atomic:tD(),chainId:VD(),id:U(),receipts:J(W(UD)),status:$E(),version:U()})})})(mO||={});var hO;(function(e){e.parameters=hD(`editable`,[G({amount:U(),chainId:J(VD()),editable:J(q(!1)),feePayer:J(K([tD(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(VD()),editable:q(!0),feePayer:J(K([tD(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=RD({method:q(`wallet_transfer`),params:J(Y(_D([e.parameters]))),returns:G({chainId:VD(),receipt:UD})})})(hO||={});let gO=G({amount:J(U()),pairToken:J(X()),slippage:J($E().check(WE(0),UE(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var _O;(function(e){e.schema=RD({method:q(`wallet_swap`),params:J(Y(_D([gO]))),returns:G({receipt:UD})})})(_O||={});var vO;(function(e){e.schema=RD({method:q(`wallet_switchEthereumChain`),params:Y(_D([G({chainId:VD()})])),returns:void 0})})(vO||={});var yO;(function(e){e.schema=RD({method:q(`wallet_deposit`),params:J(Y(_D([G({address:J(X()),amount:J(U()),chainId:J(VD()),displayName:J(U()),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(UD)))}))})})(yO||={});var bO;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([tD(),U()])),token:J(X()),zoneId:J(VD())}),e.schema=RD({method:q(`wallet_depositZone`),params:J(Y(_D([e.parameters]))),returns:G({receipt:UD})})})(bO||={});var xO;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(VD())}),e.schema=RD({method:q(`wallet_withdrawZone`),params:J(Y(_D([e.parameters]))),returns:G({receipt:UD})})})(xO||={}),lO.parameters,fO.parameters;let SO=zD([YD.schema,XD.schema,$D.schema,ZD.schema,QD.schema,tO.schema,eO.schema,nO.schema,rO.schema,cO.schema,dO.schema,yO.schema,bO.schema,pO.schema,oO.schema,mO.schema,sO.schema,uO.schema,hO.schema,aO.schema,_O.schema,vO.schema,xO.schema]),CO=hx();function wO(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let TO=hD(`method`,SO.map(wO));function EO(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`},DO={payment:`Payment`},OO={evm:`evm`,stripe:`stripe`,tempo:`tempo`},kO={charge:`charge`,session:`session`,subscription:`subscription`},AO={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},jO={v1:`v1`,v2:`v2`};function MO(e,t){if(!(!e||typeof e!=`object`))return e[t]}var NO=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},PO=class extends NO{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 NO{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.`)}},FO=class extends NO{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 IO(e,t){if(!e)throw new PO({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new PO({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new FO({expires:e})}Af();function LO(e){let t=rb(e);return JSON.parse(t)}function RO(e){return tb(Ef(e),{pad:!1,url:!0})}function zO(){return U().check(qE(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function BO(){return U().check(qE(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function VO(e=`Invalid ISO 8601 datetime`){return kD(K([BO(),ID(e=>e instanceof Date)]),wD(HO)).check(LD(e=>Number.isFinite(e.getTime()),e))}function HO(e){return e instanceof Date?e:new Date(e)}function UO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function WO(){return U().check(qE(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function GO(){return U().check(qE(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function KO(){return U().check(qE(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}np();let qO=G({description:J(U()),digest:J(U().check(qE(/^sha-256=/,`Invalid digest format`))),expires:J(BO()),id:U(),intent:U(),method:U(),meta:J(yD(U(),U())),opaque:J(U()),realm:U(),request:yD(U(),lD())});function JO(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?UO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:RO(i)),f=l?ak({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return qO.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 YO(e,t){let n=XO(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=ZO(n);if(!r)throw Error(`Missing request parameter.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return JO({...a,request:LO(r),...i&&{opaque:i}},t)}function XO(e){let t=DO.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(!ek(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 ZO(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]=QO(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function QO(e,t){if(e[t]===`\"`)return $O(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function $O(e,t){let n=t,r=``,i=!1;for(;n<e.length;){let t=e[n];if(n++,i){r+=t,i=!1;continue}if(t===`\\\\`){i=!0;continue}if(t===`\"`)return[r,n];r+=t}throw Error(`Unterminated quoted-string.`)}function ek(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 tk(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return nk(e.headers,t)}function nk(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return rk(n,t)}function rk(e,t){let n=[],r=RegExp(`${DO.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 YO(e.slice(r,a).replace(/,\\s*$/,``),t)})}function ik(e){return[e.realm,e.method,e.intent,RO(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?RO(e.meta):``)].join(`|`)}function ak(e,t){let n=ik(e);return $y(Qg(If(t.secretKey),If(n),{as:`Bytes`}),{url:!0,pad:!1})}function ok(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=dk(n)}return t}function sk(e,t){let n=ok(e),r=_k(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[dk(e)]??1,index:t}));return{definition:r,entries:i,header:lk(i),keys:n}}function ck(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)=>hk(e,t))}function lk(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${xk(n)}`}).join(`, `)}function uk(e,t,n){let r=new Map;for(let e of t){let t=dk(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(dk(e));if(!i)return[];let a=fk(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)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function dk(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function fk(e,t){let n;for(let r of t){if(!pk(e,r))continue;let t={...r,specificity:mk(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 pk(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function mk(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function hk(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}`);Sk(r,`method`),Sk(i,`intent`);let a=1;for(let t of gk(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=yk(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function gk(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function _k(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>dk(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]=vk(t,`payment preference \"${e}\"`)}return a}function vk(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return bk(e,t)}function yk(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 bk(Number(e),t)}function bk(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 xk(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function Sk(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Ck=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},wk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Tk(e){let t=e.match(RegExp(`^${DO.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Ck;try{let e=rb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Ek(r);return{challenge:qO.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:LO(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new wk}}function Ek(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Dk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:RO(e)}}function Dk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Ok(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:RO(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:RO(r)},payload:e.payload,...e.source&&{source:e.source}},s=tb(JSON.stringify(o),{pad:!1,url:!0});return`${DO.payment} ${s}`}function kk(e){return{encode(t){return tb(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(rb(t)))}catch{throw new Ak}}}}var Ak=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let jk=[`exact`],Mk=`PAYMENT-REQUIRED`,Nk=`PAYMENT-SIGNATURE`,Pk=U().check(KE(1)),Fk=$E().check(LD(e=>e>0,`Must be positive`)),Ik=U().check(qE(/^\\d+$/,`Invalid atomic amount`)),Lk=WO(),Rk=U().check(qE(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),zk=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Pk}),Bk=G({amount:Ik,asset:Pk,extra:J(yD(U(),lD())),maxTimeoutSeconds:Fk,network:Rk,payTo:Pk,scheme:xD(jk)}),Vk=yD(U(),G({info:yD(U(),lD()),schema:yD(U(),lD())})),Hk=G({accepts:W(Bk).check(KE(1)),error:J(U()),extensions:J(Vk),resource:zk,x402Version:q(2)}),Uk=K([G({authorization:G({from:Lk,nonce:GO(),to:Lk,validAfter:Ik,validBefore:Ik,value:Ik}),signature:KO()}),G({permit2Authorization:G({deadline:Ik,from:Lk,nonce:Ik,permitted:G({amount:Ik,token:Lk}),spender:Lk,witness:G({to:Lk,validAfter:Ik})}),signature:KO()})]),Wk=G({accepted:Bk,extensions:J(Vk),payload:Uk,resource:J(zk),x402Version:q(2)}),Gk=G({amount:J(Ik),errorMessage:J(U()),errorReason:J(U()),extensions:J(Vk),extra:J(yD(U(),lD())),network:Pk,payer:J(U()),success:tD(),transaction:U()}),Kk=kk(Hk),qk=kk(Wk),Jk=kk(Gk);Kk.encode;let Yk=Kk.decode;qk.encode,qk.decode,Jk.encode,Jk.decode;let Xk=Symbol.for(`mppx.x402.challenge`);function Zk(e){return Object.defineProperty(e,Xk,{value:!0}),e}function Qk(e){return!!e?.[Xk]}let $k=[Q.authorization,Mk,`PAYMENT-RESPONSE`,Nk];function eA(e){return e}function tA(){return eA({name:`http`,isPaymentRequired(e){return e.status===402},getChallenges(e){return nA(e)},getChallenge(e){let t=nA(e)[0];if(!t)throw Error(`No challenge in response.`);return t},setCredential(e,t,n){let r=new Headers(e.headers);for(let e of $k)r.delete(e);return iA(n?.challenge)?r.set(Nk,t):r.set(Q.authorization,t),{...e,headers:r}}})}function nA(e){return[...e.headers.has(Q.wwwAuthenticate)?tk(e):[],...rA(e)]}function rA(e){let t=e.headers.get(Mk);if(!t)return[];let n=Yk(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.map((e,t)=>Zk(JO({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...e,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}})))}function iA(e){return Qk(e)}let aA=Symbol.for(`mppx.fetch.wrapper`),oA;function sA(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a,orderChallenges:o,transport:s=tA()}=e,c=e.eventDispatcher??uA(),l=t??sk(i),u=OA(r),d=async(e,t)=>{let r=DA(e,t?.headers),d=r.has(Q.acceptPayment),f=jA(r,l),p=EA(e,t,r,f.header,d,n),m=await u(p.input,p.init);if(!s.isPaymentRequired(m))return m;let h=t?.context,{context:g,orderChallenges:_,...v}=p.init??{},y,b,x;try{b=s.getChallenges?s.getChallenges(m):[s.getChallenge(m)];let n=(await MA(uk(b,i,f.entries),_??o))[0];if(!n)throw Error(`No method found for challenges: ${b.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;y=r,x=n.method,y.expires&&IO(y.expires,y.id);let l=mA(e=>AA(r,n.method,e??h)),d=await c.emit(`challenge.received`,hA({challenge:r,challenges:b,createCredential:l,init:t,input:e,method:n.method,response:m}))??(a?await a(y,{createCredential:l}):void 0)??await l();kA(d),await c.emit(`credential.created`,gA({challenge:r,credential:d,init:t,input:e,method:n.method,response:m}));let g=await u(LA(m,p.input,p.input),s.setCredential({...v,headers:p.headers},d,{challenge:r}));return g.ok&&await c.emit(`payment.response`,_A({challenge:r,credential:d,init:t,input:e,method:n.method,response:g})),g}catch(n){throw await c.emit(`payment.failed`,vA({challenge:y,challenges:b,error:n,init:t,input:e,method:x,response:m})),n}};return d[aA]=u,d}function cA(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);oA||=globalThis.fetch,globalThis.fetch=sA({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(FA()?`same-origin`:`always`),fetch:globalThis.fetch})}function lA(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 uA(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set};return{async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await dA(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await pA(e[`*`],t,n),r}case`credential.created`:await fA(e[`credential.created`],n),await pA(e[`*`],t,n);return;case`payment.failed`:await fA(e[`payment.failed`],n),await pA(e[`*`],t,n);return;case`payment.response`:await fA(e[`payment.response`],n),await pA(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}}}async function dA(e,t){try{return await e(t)}catch{return}}async function fA(e,t){for(let n of e)try{await n(t)}catch{}}async function pA(e,t,n){await fA(e,Object.freeze({name:t,payload:n}))}function mA(e){let t;return n=>(t??=e(n),t)}function hA(e){return Object.freeze({challenge:CA(e.challenge),challenges:e.challenges.map(e=>CA(e)),createCredential:e.createCredential,init:yA(e.init),input:bA(e.input),method:xA(e.method),response:SA(e.response)})}function gA(e){return Object.freeze({challenge:CA(e.challenge),credential:e.credential,init:yA(e.init),input:bA(e.input),method:xA(e.method),...e.response===void 0?{}:{response:SA(e.response)}})}function _A(e){return Object.freeze({challenge:CA(e.challenge),credential:e.credential,init:yA(e.init),input:bA(e.input),method:xA(e.method),response:SA(e.response)})}function vA(e){return Object.freeze({...e.challenge?{challenge:CA(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>CA(e))}:{},error:e.error,init:yA(e.init),input:bA(e.input),...e.method?{method:xA(e.method)}:{},...e.response===void 0?{}:{response:SA(e.response)}})}function yA(e){if(e)return TA({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function bA(e){return e instanceof Request?e.clone():e instanceof URL?new URL(e):e}function xA(e){return TA(Object.assign({},e))}function SA(e){return e instanceof Response?e.clone():CA(e)}function CA(e){try{return wA(structuredClone(e))}catch{return TA(e)}}function wA(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))wA(t);return e}function TA(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function EA(e,t,n,r,i,a){let o=!!r&&!i&&NA(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 DA(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function OA(e){let t=e;for(;t[aA];)t=t[aA];return t}function kA(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 AA(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 jA(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:ck(n),header:n}}catch{return t}}async function MA(e,t){return t?t(e):e}function NA(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=IA(e);return t===`same-origin`?FA()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>PA(n,e))}function PA(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 FA(){return globalThis.location!==void 0}function IA(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,FA()?globalThis.location.href:void 0)}function LA(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=IA(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 RA(e){return e}function zA(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}ba();function BA(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return ya(r)}}function VA(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=fh({chain:i.chain,transport:qw(Gy(e),Gy(n))});Object.assign(i,{transport:t.transport,request:t.request})}}return!t?.serializers||i.chain?.serializers?.transaction?i:Object.assign({},i,{chain:{...t,...i.chain,formatters:i.chain?.formatters??t.formatters,prepareTransactionRequest:i.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:i.chain?.serializers?.transaction?i.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?qw(Gy(a),Gy(n)):Gy(a);return fh({chain:{...t,id:r},transport:o})}}let HA={mainnet:4217,testnet:42431},UA={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};HA.mainnet,UA.usdc,HA.testnet,UA.pathUsd;let WA={[HA.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[HA.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},GA={[HA.mainnet]:`https://rpc.tempo.xyz`,[HA.testnet]:`https://rpc.moderato.tempo.xyz`},KA=[`push`,`pull`],qA=G({amount:zO(),memo:J(GO()),recipient:kD(U(),wD(e=>e))}),JA=(1n<<64n)-1n,YA={dev_second:1n,day:86400n,week:604800n},XA=kD(WO(),wD(e=>e.toLowerCase())),ZA=G({accessKeyAddress:XA,keyType:xD([`p256`,`secp256k1`,`webAuthn`])}),QA=G({accessKey:J(ZA),chainId:J($E())}),$A=VO(`subscriptionExpires must be a valid date`).check(LD(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),ej=xD([`dev_second`,`day`,`week`]),tj=kD(K([U(),rD(),ID(e=>typeof e==`number`&&Number.isSafeInteger(e))]),wD(e=>e.toString())).check(qE(/^[1-9]\\d*$/,`Invalid periodCount`),LD(e=>{try{return BigInt(e)<=JA}catch{return!1}},`periodCount exceeds uint64`));function nj(e){return LD(e=>{let{amount:t,decimals:n}=e;return dy(t,n)>0n},e)}function rj(e){let{periodCount:t,periodUnit:n}=e;try{let e=YA[n];return e===void 0?!1:BigInt(t)*e<=JA}catch{return!1}}let ij=RA({name:`tempo`,intent:`charge`,schema:{credential:{payload:hD(`type`,[G({hash:GO(),type:q(`hash`)}),G({signature:KO(),type:q(`transaction`)}),G({signature:KO(),type:q(`proof`)})])},request:kD(G({amount:zO(),chainId:J($E()),currency:U(),decimals:$E(),description:J(U()),externalId:J(U()),feePayer:J(kD(K([tD(),ID()]),wD(e=>typeof e==`object`?!0:e))),memo:J(GO()),recipient:J(U()),splits:J(W(qA).check(KE(1),GE(10))),supportedModes:J(W(xD(KA)).check(KE(1)))}).check(LD(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=dy(e,t),i=n.reduce((e,n)=>e+dy(n.amount,t),0n);return n.every(e=>dy(e.amount,t)>0n)&&i<r},`Invalid splits`)),wD(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:dy(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:dy(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),aj=RA({name:`tempo`,intent:`session`,schema:{credential:{payload:hD(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:GO(),cumulativeAmount:zO(),descriptor:J(ID()),signature:KO(),transaction:KO(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:zO(),channelId:GO(),descriptor:J(ID()),transaction:KO(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:GO(),cumulativeAmount:zO(),descriptor:J(ID()),signature:KO()}),G({action:q(`close`),channelId:GO(),cumulativeAmount:zO(),descriptor:J(ID()),signature:KO()})])},request:kD(G({amount:zO(),chainId:J($E()),channelId:J(GO()),currency:U(),decimals:$E(),escrowContract:J(U()),feePayer:J(kD(K([tD(),ID()]),wD(e=>typeof e==`object`?!0:e))),minVoucherDelta:J(zO()),operator:J(WO()),recipient:J(U()),sessionProtocol:J(xD([jO.v2,jO.v1])),sessionSnapshot:J(ID()),suggestedDeposit:J(zO()),unitType:U()}).check(LD(({amount:e,decimals:t})=>dy(e,t)>0n,`Session amount must be greater than 0`)),wD(({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:dy(e,r).toString(),...u?{suggestedDeposit:dy(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:dy(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[AO.sessionProtocol]:c},...l!==void 0&&{[AO.sessionSnapshot]:l}}})))}}),oj=RA({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:KO(),type:q(`keyAuthorization`)})},request:kD(G({amount:zO(),accessKey:J(ZA),chainId:J($E()),currency:XA,decimals:$E(),description:J(U()),externalId:J(U()),methodDetails:J(QA),periodCount:tj,periodUnit:ej,recipient:XA,subscriptionExpires:$A}).check(nj(`Subscription amount must be greater than 0`),LD(rj,`Subscription period exceeds uint64`)),wD(({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:dy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Bi(),Yd();let sj=(1n<<64n)-1n,cj={dev_second:1n,day:86400n,week:604800n};function lj(e){return e instanceof Date?e:new Date(e)}function uj(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 dj(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=cj[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>sj)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 fj(e){let{challengeExpires:t,request:n}=e;dj(n);let r=uj(lj(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 pj(e){return[{address:Tj(e.currency,`currency`),selector:`0x95777d59`,recipients:[Tj(e.recipient,`recipient`)]}]}async function mj(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=gj({accessKey:t,chainId:r,request:i});return kS(a,{signature:Gx(await n.sign({hash:MS(a)}))})}function hj(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=_j(r.signature),o=vj(a);return yj({accessKey:t,authorization:a,chainId:n}),bj(a,i),Sj(xj(a),i),Cj(a.scopes,i),{authorization:a,source:{address:wj(a,o),chainId:n}}}function gj(e){let{accessKey:t,chainId:n,request:r}=e;return kS({address:Tj(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:uj(lj(r.subscriptionExpires)),limits:[{token:Tj(r.currency,`currency`),limit:BigInt(r.amount),period:dj(r)}],scopes:pj(r),type:t.keyType})}function _j(e){try{return NS(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function vj(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function yj(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!Jd(n.address,Tj(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function bj(e,t){if(fj({request:t}),e.expiry!==uj(lj(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function xj(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function Sj(e,t){if(!Jd(e.token,Tj(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==dj(t))throw new $({reason:`keyAuthorization period mismatch`})}function Cj(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=Tj(t.currency,`currency`),r=Tj(t.recipient,`recipient`),i=new Set;for(let t of e){if(!Jd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=Ej(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||!Jd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function wj(e,t){let n=MS(e);try{let e=Hx({payload:n,signature:t});if(!Xx(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 Tj(e,t){if(!Li(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function Ej(e){return typeof e==`string`?e.toLowerCase():``}L(),Yd();let Dj=G({accessKey:J(ID()),account:J(ID())});function Oj(e={}){let t=VA({chain:Hw,getClient:e.getClient,rpcUrl:GA}),n=BA({account:e.account});return zA(oj,{context:Dj,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??HA.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.\");Aj(r.request),await e.validateRequest?.(r.request);let l=await kj(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Jd(hj({accessKey:c,chainId:a,payload:{signature:FS(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Ok({challenge:r,payload:{signature:FS(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function kj(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await mj({accessKey:n,account:r,chainId:i,request:a})||AS((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:uj(lj(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:dj(a)}],scopes:pj(a)}]})).keyAuthorization)}function Aj(e){dj(e),uj(lj(e.subscriptionExpires))}np(),L();let jj=I(Zg(If(`mpp`),{as:`Hex`}),0,4);function Mj(e){return pp(I(Zg(If(e),{as:`Hex`}),0,10))}function Nj(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(pp(jj),0),i[4]=1,i.set(Mj(t),5),n&&i.set(Mj(n),15),i.set(Pj(r),25),P(i)}function Pj(e){return pp(I(Zg(If(e),{as:`Hex`}),0,7))}function Fj(e,t){return e.toLowerCase()===t.toLowerCase()}let Ij=[UA.pathUsd,UA.usdc];async function Lj(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!Fj(e,i)),c=await Promise.allSettled([zm(e,yw.call({account:n,token:i})),...s.map(t=>zm(e,yw.call({account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await rw(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[pw.call({token:l,spender:VC,amount:e}),QC.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new zj({currency:i})}}function Rj(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>Fj(e,t)))]:t,slippage:e.slippage??1}:!1}var zj=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function Bj(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 Vj={Proof:[{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function Hj(e){return{name:`MPP`,version:`2`,chainId:e}}function Uj(e,t){return{challengeId:e,realm:t}}function Wj(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}function Gj(e={}){let{clientId:t}=e,n=VA({chain:Hw,getClient:e.getClient,rpcUrl:GA}),r=BA({account:e.account});return zA(ij,{context:G({account:J(ID()),autoSwap:J(ID()),mode:J(xD(KA))}),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 u=r(c,a),{request:d}=i,{amount:f,methodDetails:p}=d;if(BigInt(f)===0n)return Ok({challenge:i,payload:{signature:await Ry(c,{account:u,domain:Hj(l),types:Vj,primaryType:`Proof`,message:Uj(i.id,i.realm)}),type:`proof`},source:Wj({address:u.address,chainId:l})});let m=d.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=p?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let h=p?.supportedModes??[`pull`,`push`],g=(()=>{let t=a?.mode??e.mode;if(t){if(!h.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=u.type===`json-rpc`?`push`:`pull`;return h.includes(n)?n:h[0]})(),_=p?.memo?p.memo:Nj({challengeId:i.id,clientId:t,serverId:i.realm}),v=Bj({amount:f,methodDetails:{...p,memo:_},recipient:d.recipient}).map(e=>jw.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:m})),y=Rj(a?.autoSwap??e.autoSwap,Ij),b=[...(y?await Lj(c,{account:u.address,amountOut:BigInt(f),tokenOut:m,tokenIn:y.tokenIn,slippage:y.slippage}):void 0)??[],...v],x=(()=>{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(g===`push`){let{receipts:e}=await Iy(c,{account:u,calls:b,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Ok({challenge:i,payload:{hash:t,type:`hash`},source:Wj({address:u.address,chainId:l})})}let S=await Kd(c,{account:u,calls:b,nonceKey:`expiring`,validBefore:x});return S.gas=(S.gas??0n)+5000n,p?.feePayer&&(S.feePayer=!0),Ok({challenge:i,payload:{signature:await Ly(c,S),type:`transaction`},source:Wj({address:u.address,chainId:l})})}})}function Kj(e){return`accessKeyAddress`in e}function qj(e){return Kj(e)?e.accessKeyAddress:e.address}function Jj(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let Yj={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function Xj(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function Zj(e,t,n){return tg({domain:Jj(e,t),types:Yj,primaryType:`Voucher`,message:Xj(n)})}async function Qj(e,t,n,r,i){return Ry(e,{account:t,domain:Jj(r,i),types:Yj,primaryType:`Voucher`,message:Xj(n)})}function $j(e){let t=Gx(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 Dv(t.inner.signature)}return Jx(t)}function eM(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function tM(e){if(!eM(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function nM(e,t,n,r,i,a){let o=a??t,s=qj(o),c=Zj(r,i,n),l=$j(Kj(o)?await o.sign({hash:c,raw:!0}):await Qj(e,o,n,r,i)),u=Gx(l);if(tM(u),!Xx(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function rM(e){return Zg(Q_(ev([`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 iM=[{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:[]}];dm(),Ta(),Fp(),va(),ma(),Rm();async function aM(e,t,n){return zm(e,{address:t,abi:iM,functionName:`getChannel`,args:[n]})}ha({abi:iM,name:`open`}),ha({abi:iM,name:`topUp`}),L(),Ta();function oM(e,t){return t??e}function sM(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??WA[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function cM(e,t,n,r){return Ok({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function lM(e,t,n,r,i,a,o){let s=oM(t,o),c=await nM(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function uM(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=oM(t,n.voucherSigner),d=qj(u),f=lp(32),p=rM({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=wa({abi:z,functionName:`approve`,args:[r,o]}),h=wa({abi:iM,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Kd(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 Ly(e,_),y=await nM(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{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 dM(e,t,n,r){try{let i=await aM(e,t,n);if(i.deposit>0n&&!i.finalized)return{channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let fM=G({account:J(ID()),action:J(xD([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(zO()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(zO()),additionalDepositRaw:J(U()),depositRaw:J(U())});function pM(e={}){let{decimals:t=6}=e,n=VA({chain:Hw,getClient:e.getClient,rpcUrl:GA}),r=BA({account:e.account}),i=e.maxDeposit===void 0?void 0:dy(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 sM(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 dy(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,ee=l(_,v,g),te=o.get(ee);if(!te){let e=f?.channelId??p?.channelId;if(e){let n=await dM(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?dy(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(ee,n),s.set(n.channelId,ee),a.set(n.channelId,g),te=n,c(te)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}let ne;if(te?.opened)te.cumulativeAmount+=y,ne=await lM(h,d,te.channelId,te.cumulativeAmount,g,m,C),c(te);else{let e=await uM(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(ee,e.entry),s.set(e.entry.channelId,ee),a.set(e.entry.channelId,g),ne=e.payload,c(e.entry)}return cM(r,ne,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?dy(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?dy(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 nM(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:qj(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 lM(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 nM(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 cM(r,x,d,i)}return zA(aj,{canHandleChallenge({challenge:e}){let t=MO(e.request.methodDetails,AO.sessionProtocol);return t===void 0||t===jO.v1},context:fM,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,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 mM=(1n<<96n)-1n;function hM(e){return e>=0n&&e<=mM}function gM(e){return _M(e),e}function _M(e){if(!hM(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function vM(e){return typeof e==`object`&&!!e}function yM(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function bM(e){return vM(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function xM(e){return vM(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 SM(e){let t=rb(e),n=JSON.parse(t);if(!xM(n))throw Error(`Invalid session receipt.`);return n}function CM(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function wM(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=TM(r);return bM(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=TM(r);return xM(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function TM(e){try{return JSON.parse(e)}catch{return null}}function EM(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function DM(){return JSON.stringify({mpp:`payment-close-request`})}function OM(e){let t=kM(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`&&xM(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`&&bM(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&xM(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function kM(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let AM=`0x4d50500000000000000000000000000000000000`,jM={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function MM(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:dy(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=null,l=null,u=null,d=null,f=null,p=null,m=null,h=0n,g=0n,_=pM({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),i=e}}),v=sA({fetch:t,methods:[_],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function y(e){if(!e||e.channelId!==i?.channelId)return;b(e);let t=BigInt(e.spent);s=s>t?s:t}function b(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function x(e=()=>!0){if(m)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{m={predicate:e,resolve:t,reject:n}})}function S(){if(d)return Promise.resolve(d);if(f)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{f={resolve:e,reject:t}})}function C(e){if(!m||!m.predicate(e))return;let t=m;m=null,t.resolve(e)}function ee(e){if(d=e,!f)return;let t=f;f=null,t.resolve(e)}function te(e){if(!m)return;let t=m;m=null,t.reject(e)}function ne(e){if(!f)return;let t=f;f=null,t.reject(e)}function re(e,t){if(d&&d.challengeId===e.id&&d.channelId===t)return d.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(g>0n){let e=h*g,t=s>e?s:e;return(t>n?n:t).toString()}return s.toString()}function 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?SM(t):null;return y(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 v(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:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=jM.CLOSED,r=null}if(e===`open`&&(i=jM.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await _.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — 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:{...lA(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=wM(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 _.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`:y(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:f,protocols:m,signal:v}=s??{},b=new URL(r.toString()),S=new URL(b.toString());S.protocol===`ws:`&&(S.protocol=`http:`),S.protocol===`wss:`&&(S.protocol=`https:`),o=S.toString();let re=await t(S,v?{signal:v}:void 0);if(re.status!==402)throw Error(`Expected a 402 payment challenge from ${S}, received ${re.status} instead.`);let ae=(await NM(uk(tk(re),[_],sk([_]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ae)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=ae;let oe=await _.createCredential({challenge:ae,context:{}});d=null,c=ae,h=0n,g=BigInt(ae.request.amount);let ce=Tk(oe);l=ce.payload.channelId;let le=new n(b,m);u=le;let ue=se(le),de=e=>{te(Error(e)),ne(Error(e)),(le.readyState===jM.CONNECTING||le.readyState===jM.OPEN)&&le.close(3008,e)},fe=e=>e.challengeId===ae.id&&e.channelId===l,pe=new Promise((e,t)=>{let n=()=>{le.removeEventListener(`error`,r),ue.emit(`open`,{type:`open`}),e()},r=()=>{le.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${b} failed to open.`))};le.addEventListener(`open`,n,{once:!0}),le.addEventListener(`error`,r,{once:!0})});return le.addEventListener(`close`,e=>{u===le&&(u=null),c===ae&&(c=null),l===ce.payload.channelId&&(l=null),p=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),ue.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),le.addEventListener(`error`,()=>{ue.emit(`error`,{type:`error`})}),le.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=OM(t);if(!n){ue.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:h+=1n,ue.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!fe(n.data)){de(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){de(`received payment-close-ready beyond local voucher state`);break}y(n.data),f?.(n.data),ee(n.data),ue.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!==l){de(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){de(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===l&&(i.cumulativeAmount=t);let r=await _.createCredential({challenge:ae,context:{action:`voucher`,channelId:l,cumulativeAmountRaw:t.toString()}});le.send(EM(r));break}case`payment-receipt`:if(!fe(n.data)){de(`received mismatched payment-receipt frame`);break}if(p!==null&&n.data.txHash&&(n.data.acceptedCumulative!==p||n.data.spent!==p)){de(`received mismatched payment-close receipt frame`);break}y(n.data),f?.(n.data),C(n.data);break}}),v&&v.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),le.close()},{once:!0}),await pe,le.send(EM(oe)),await x(),ue.socket},async close(){let e=c??a,n=l??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(u?.readyState===jM.OPEN){let t=d??await(async()=>(u.send(DM()),S()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>s?i.cumulativeAmount:s))throw Error(`close-ready spent exceeds local voucher state`);let a=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();p=o;try{let t=x(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);u.send(EM(a));let r=await t;return u.close(),d=null,r}finally{p=null}}let r=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(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 f=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!f.ok){let e=await f.text().catch(()=>``),t=(()=>{if(!e)return``;if(!f.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=f.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${f.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let m=f.headers.get(Q.paymentReceipt);return m?SM(m):void 0}}}async function NM(e,t){let n=t;return n?n(e):e}L();function PM(e){return Zg(Q_(ev([`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 FM(e){return tC(e)}function IM(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function LM(e,t){return Zg(N(FM(e),t.sender))}let RM=[{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`}],zM=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],BM={name:`descriptor`,type:`tuple`,components:RM},VM=[{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:[BM,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[BM,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[BM,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[BM],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[BM],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[BM],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:RM},{name:`state`,type:`tuple`,components:zM}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:zM}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:zM}]},{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 HM(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let UM={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function WM(e,t){return MC(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function GM(e,t,n,r,i,a){let o=await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await WM(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Ry(e,{account:t,domain:HM(r,i),types:UM,primaryType:`Voucher`,message:n})})(),s=Gx(o);if(s.type===`keychain`&&s.inner.type===`secp256k1`)return Dv(s.inner.signature);if(s.type===`keychain`||s.type!==`secp256k1`)throw Error(`TIP-1034 voucher signing only supports secp256k1 voucher signatures.`);return o}L(),Ta(),Bi();function KM(e){return e.toLowerCase()===`0x0000000000000000000000000000000000000000`?void 0:e}function qM(e){return typeof e==`object`&&!!e}function JM(e){return typeof e==`string`&&Li(e,{strict:!1})?e:void 0}function YM(e){return JM(e.accessKeyAddress)}function XM(e,t){return t??YM(e)??e.address}async function ZM(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return Kd(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function QM(e,t){return await Ly(e,t)}function $M(e,t){let n=e.request.methodDetails,r=qM(n)?JM(n.escrowContract)??JM(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function eN(e,t,n,r){return Ok({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function tN(e,t){return e.toLowerCase()===t.toLowerCase()}async function nN(e,t,n,r,i,a=AM){let o=PM({...n,chainId:i,escrow:a}),s=gM(r),c=await GM(e,t,{channelId:o,cumulativeAmount:s},a,i,KM(n.authorizedSigner));return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function rN(e,t,n,r,i,a=AM){let o=await nN(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function iN(e,t,n){let r=XM(t,n.authorizedSigner),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=lp(32),s=gM(n.deposit),c=gM(n.initialAmount),l=await QM(e,await ZM(e,{account:t,calls:[{to:i,data:wa({abi:VM,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=SC(l),d={authorizedSigner:r,expiringNonceHash:LM(IM({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=PM({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await GM(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId,KM(r)),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function aN(e,t,n,r,i,a,o=AM){let s=PM({...n,chainId:i,escrow:o}),c=gM(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await QM(e,await ZM(e,{account:t,calls:[{to:o,data:wa({abi:VM,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}Rm();let oN=2n**96n-1n;function sN(e){if(e<0n||e>oN)throw new $({reason:`amount exceeds uint96 range`})}async function cN(e,t,n=AM){return lN(await zm(e,{address:n,abi:VM,functionName:`getChannelState`,args:[t]}))}function lN(e){return sN(e.settled),sN(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Bi();let uN=ID(e=>typeof e==`string`&&Li(e,{strict:!1})),dN=ID(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),fN=kk(G({acceptedCumulative:U(),chainId:$E(),channelId:dN,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:uN,expiringNonceHash:dN,operator:uN,payee:uN,payer:uN,salt:dN,token:uN}),escrow:uN,requiredCumulative:U(),settled:U(),spent:U(),units:J($E())}));function pN(e){return fN.encode(e)}function mN(e){return fN.decode(e)}let hN={status:`idle`};function gN(e){return{status:`active`,...e}}function _N(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?SN(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?SN(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:bN(e.challengeId,t.snapshot),effects:[]}:SN(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?SN(e,t):{state:NN({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:xN(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:SN(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?SN(e,t):{state:IN(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?yN({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):SN(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:SN(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?SN(e,t):{state:xN(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}]}:SN(e,t);case`settled`:return e.status===`settling`?{state:xN(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:SN(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:SN(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:SN(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?SN(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`?SN(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function vN(e,t){let n=_N(e.state,t);return e.state=n.state,n}function yN(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 bN(e,t){return gN({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function xN(e,t,n,r){return gN({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function SN(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function CN(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function wN(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`);CN({cumulativeAmount:i,maxVoucherCumulative:n}),CN({cumulativeAmount:a,maxVoucherCumulative:n})}function TN(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;wN({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function EN(e,t){return typeof e==`bigint`?e:dy(e,t)}function DN(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(ON(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 ON(e,t){CN({cumulativeAmount:e,maxVoucherCumulative:t??null})}function kN(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 AN(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function jN(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>AN({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function MN(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 NN(e){return gN({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 PN(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:hN}}function FN(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=TN({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&vN(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function IN(e,t){return gN({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function LN(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 RN(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 _N(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function zN(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 BN(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 VN(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(DM()),e.waitForCloseReady()))(),a=BigInt(i.spent);jN({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=>MN({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(EM(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Bi();function HN(e){return{channels:new Map,channelIdToKey:new Map,notifyUpdate:t=>e?.(t)}}function UN(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function WN(e,t,n){e.channels.set(t,n),e.channelIdToKey.set(n.channelId,t),e.notifyUpdate(n)}function GN(e){return`cumulativeAmount`in e}function KN(e){if(GN(e))return BigInt(e.cumulativeAmount)}function qN(e,t,n){let r=e.channelIdToKey.get(t),i=KN(n);if(!r||i===void 0)return;let a=e.channels.get(r);a&&(a.cumulativeAmount=a.cumulativeAmount>i?a.cumulativeAmount:i,n.action===`close`&&(a.opened=!1),e.notifyUpdate(a))}let JN=ID(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),YN=G({account:J(ID()),action:J(xD([`open`,`topUp`,`voucher`,`close`])),channelId:J(ID(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(zO()),cumulativeAmountRaw:J(U()),transaction:J(JN),descriptor:J(ID()),additionalDeposit:J(zO()),additionalDepositRaw:J(U()),depositRaw:J(U())});function XN(e){return e?.action!==void 0}function ZN(e){return XN(e)&&e.descriptor!==void 0}function QN(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 dy(i,t)}function $N(e,t,n,r){let i=QN(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function eP(e){return typeof e==`object`&&!!e}function tP(e){return typeof e==`string`&&Li(e,{strict:!1})?e:void 0}function nP(e){let t=e.request.methodDetails;return eP(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:tP(t.escrowContract),escrow:tP(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:tP(t.operator),sessionSnapshot:MO(t,AO.sessionSnapshot)}:{}}function rP(e,t){if(typeof e==`string`&&Li(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function iP(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function aP(e){return typeof e==`string`?e:void 0}async function oP(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=nP(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=$M(t,n),c=rP(t.request.recipient,`recipient`),l=rP(t.request.currency,`currency`);return{amount:iP(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:UN(c,l,s),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:aP(t.request.suggestedDeposit),token:l}}async function sP(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=cN}=e,o=PM({...r,chainId:i.chainId,escrow:i.escrow});cP({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 cP(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(!tN(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!tN(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!tN(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!tN(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function lP(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function uP(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=QN(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function dP(e){let{account:t,authorizedSigner:n,cache:r,context:i,decimals:a,maxDeposit:o,resolved:s}=e;if(XN(i)){if(!ZN(i))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,authorizedSigner:n,context:i,decimals:a,resolved:s}}let c=r.channels.get(s.key);if(!c&&i?.channelId&&!i.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let l=lP({context:i,snapshot:s.snapshot});return!c&&l?{type:`recover`,account:t,authorizedSigner:n,context:l,decimals:a,maxDeposit:o,resolved:s}:c?.opened?{type:`voucher`,account:t,entry:c,maxDeposit:o,resolved:s}:{type:`open`,account:t,authorizedSigner:n,context:i,maxDeposit:o,resolved:s}}async function fP(e,t){switch(e.type){case`open`:return pP(e,t);case`recover`:return mP(e,t);case`voucher`:return hP(e,t);case`manual`:return gP(e,t)}}async function pP(e,t){let{account:n,authorizedSigner:r,resolved:i}=e,a=DN({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await iN(i.client,n,{authorizedSigner:r,chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,initialAmount:i.amount,operator:i.operator,payee:i.payee,token:i.token});return WN(t,i.key,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function mP(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await sP({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:XM(n,e.authorizedSigner),token:o.token}}),l=uP({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`);ON(l,a);let u=await nN(o.client,n,s,l,o.chainId,o.escrow);return WN(t,o.key,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function hP(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;ON(a,e.maxDeposit);let o=await nN(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,t.notifyUpdate(r),o}async function gP(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=PM({...o,chainId:a.chainId,escrow:a.escrow});cP({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:XM(n,e.authorizedSigner),token:a.token});let c=await _P({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return qN(t,s,c),c}async function _P(e){switch(e.context.action){case`open`:return vP(e);case`topUp`:return yP(e);case`voucher`:return bP(e);case`close`:return xP(e)}}async function vP(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=$N(r,i,`cumulativeAmount`,`open`),c=await nN(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 yP(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=$N(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:aN(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function bP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return nN(a.client,t,i,$N(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function xP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return rN(a.client,t,i,$N(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function SP(e={}){let{account:t,authorizedSigner:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s}=e,c=VA({chain:Hw,getClient:a,rpcUrl:GA}),l=BA({account:t}),u=o===void 0?void 0:dy(o,r),d=HN(s);return zA(aj,{canHandleChallenge({challenge:e}){return MO(e.request.methodDetails,AO.sessionProtocol)===jO.v2},context:YN,async createCredential({challenge:e,context:t}){let a=await oP({challenge:e,escrowOverride:i,getClient:c}),o=l(a.client,t);return eN(e,await fP(dP({account:o,authorizedSigner:n,cache:d,context:t,decimals:r,maxDeposit:u,resolved:a}),d),a.chainId,o)}})}function CP(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 wP(e){let t=CP(`close-ready`),n=CP(`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)}}}let TP={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function EP(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=TP.CLOSED,r=null}if(a.type===`open`&&(i=TP.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 DP(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function OP(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=EN(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 kP(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:IN(o,n)}:i?{channel:n,state:NN({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function AP(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=DP(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:gM(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function jP(e){return e.method===OO.tempo&&e.intent===kO.session}function MP(e){return MO(e.request.methodDetails,AO.sessionSnapshot)}function NP(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...lA(r),...lA(t?.headers),[Q.authorization]:n}}}function PP(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.search=``,n}catch{return e}}function FP(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function IP(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 LP(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(PP(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?SM(a):void 0}async function RP(e){let t=zP({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,NP(e.input,e.init,l));return!u.ok&&!u.headers.get(Q.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function zP(e){let t=tk(e.response).find(jP);if(!t)return;let n=MP(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function BP(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=async t=>{let n=await e.createSessionCredential(t,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:e.signedCloseAmount});return e.fetch(e.lastUrl,{method:`POST`,headers:{[Q.authorization]:n}})},n=await t(e.target.challenge);if(n.status===402){let r=tk(n).find(jP);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await IP(n),t=n.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${n.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}let r=n.headers.get(Q.paymentReceipt);return r?SM(r):void 0}async function VP(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...lA(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!CM(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!CM(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return HP({challenge:c,driver:n,input:e,onReceipt:r,response:s,signal:i})}async function*HP(e){let t=e.response.body.getReader(),n=new TextDecoder,r=``;try{for(;!e.signal?.aborted;){let{done:i,value:a}=await t.read();if(i)break;r+=n.decode(a,{stream:!0});let o=r.split(`\n\n`);r=o.pop();for(let t of o){if(!t.trim())continue;let n=wM(t);if(n)switch(n.type){case`message`:yield n.data;break;case`payment-need-voucher`:await UP(e,n.data);break;case`payment-receipt`:e.driver.acceptReceipt(n.data),e.onReceipt?.(n.data);break}}}}finally{t.releaseLock()}}async function UP(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await AP({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 WP(e){let t=new URL(e.input.toString()),n=FP(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=tk(r).find(jP);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 GP(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Tk(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:yM(t)}}function KP(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function qP(e){if(!KP(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 JP(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!KP(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!MN({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function YP(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=GP({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=EP(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===TP.CONNECTING||o.readyState===TP.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 ZP({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 XP(o,c.emit,a),o.send(EM(n)),await e.waitForReceipt(),c.socket}function XP(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 ZP(e){let t=OM(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`:QP(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 $P(e,t.data);return;case`payment-receipt`:eF(e,t.data);return}}function QP(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=qP({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 $P(e,t){try{let n=await AP({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(EM(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function eF(e,t){let n=JP({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 tF(e){return e.method===OO.tempo&&e.intent===kO.charge}function nF(e){if(!tF(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function rF(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount.toString(),deposit:e.deposit.toString(),descriptor:e.descriptor,escrow:e.escrow,chainId:e.chainId,opened:e.opened,updatedAt:Date.now()}}function iF(e){return{channelId:e.channelId,cumulativeAmountRaw:e.cumulativeAmount,descriptor:e.descriptor}}function aF(e){return{channelId:e.channelId,cumulativeAmount:e.acceptedCumulative,deposit:e.deposit,descriptor:e.descriptor,escrow:e.escrow,chainId:e.chainId,opened:!0,updatedAt:Date.now()}}function oF(e){let{channel:t,challenge:n,context:r,storedChannel:i}=e;return r.action||t?.opened||!i?.opened||MP(n)?{context:r,usedStoredChannel:!1}:{context:{...r,...iF(i)},usedStoredChannel:!0}}function sF(e,t,n){if(!n)return t;let r={...lA(e instanceof Request?e.headers:void 0),...lA(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function cF(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:dy(e.maxDeposit,t),WebSocket:n}}function lF(e){let t=cF(e),n=e.sessionStore,r=null,i=null,a=new Set,o=PN(),s=wP({getSocketSession:()=>o.socketSession});function c(e){return vN(o,e)}let l=SP({account:e.account,authorizedSigner:e.authorizedSigner,getClient:e.client?()=>e.client:e.getClient,escrow:e.escrow,decimals:t.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==o.channel?.channelId&&(o.spent=0n),o.channel=e,y(e),o.lastChallenge&&c({type:`activated`,challengeId:o.lastChallenge.id,entry:e,spent:o.spent.toString(),units:0})}}),u=Gj({account:e.account,getClient:e.client?()=>e.client:e.getClient}),d=sA({fetch:t.fetch,methods:[l],onChallenge:async(e,t)=>{if(!jP(e))return;if(o.lastChallenge=e,c({type:`challengeReceived`,challengeId:e.id}),o.channel?.opened&&o.lastUrl){let t=o.channel.cumulativeAmount+yM(e);await ee({challenge:e,input:o.lastUrl,channelId:o.channel.channelId,deposit:o.channel.deposit,requiredCumulative:t})}let n=oF({challenge:e,channel:o.channel,context:{},storedChannel:r});if(n.usedStoredChannel)return t.createCredential(n.context)}});function f(e,t){let n=oF({challenge:e,channel:o.channel,context:t,storedChannel:r});return l.createCredential({challenge:e,context:n.context})}function p(e){FN({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:o})}function m(e=o.state.status===`active`?o.state.units:0){!o.channel||!o.lastChallenge||o.state.status===`active`||o.state.status===`withdrawable`||o.state.status===`closeRequested`||c({type:`activated`,challengeId:o.lastChallenge.id,entry:o.channel,spent:o.spent.toString(),units:e})}async function h(){if(!n)return null;if(r)return r;let e=await n.get();return r=e?.opened&&!a.has(e.channelId)?e:null,r}async function g(){if(!n){r=null,i=null;return}let e=r;if(e&&a.add(e.channelId),r=null,i=null,n.delete){await Promise.resolve(n.delete()).catch(()=>void 0);return}e&&await Promise.resolve(n.set({...e,opened:!1,updatedAt:Date.now()})).catch(()=>void 0)}async function _(e){let t=e.headers.get(Q.paymentSessionSnapshot);if(!t)return;let a=mN(t);i=a.channelId;let o=aF(a);r=o,n&&await Promise.resolve(n.set(o)).catch(()=>void 0)}async function v(n,r){if(!e.bootstrap||o.channel?.opened||await h())return;let i=n instanceof Request?n.headers:void 0,{body:a,method:s,...c}=r??{},l=n instanceof Request?n.url:n,d={...c,method:`HEAD`,headers:{...lA(i),...lA(r?.headers),[Q.acceptPayment]:`${OO.tempo}/${kO.charge}`}};try{let e=await t.fetch(l,d);if(e.status!==402){await _(e);return}let n=tk(e).find(tF);if(!n||!nF(n))return;let r=await u.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...d,headers:{...lA(d.headers),[Q.authorization]:r}});i.ok&&await _(i)}catch{return}}function y(e){if(!n)return;let t=rF(e);a.delete(t.channelId);let i=e.opened||!n.delete?n.set(t):n.delete();Promise.resolve(i).catch(()=>void 0),r=e.opened?t:null}function b(e,t){let n=o.socketSession;return LN({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:o.channel?.channelId===t?o.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:o.spent,tickCost:n?.tickCost})}function x(e){let t=b(e.challenge,e.channelId);if(t>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return S(t),t.toString()}function S(e){CN({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function C(e){let n=await LP({...e,channel:o.channel,createSessionCredential:f,fetch:t.fetch});p(n);let r=kP({additionalDeposit:e.additionalDeposit,channel:o.channel,channelId:e.channelId,challengeId:o.lastChallenge?.id,currentState:o.state,receipt:n,spent:o.spent});return r?.channel&&o.lastChallenge&&c({type:`activated`,challengeId:o.lastChallenge.id,entry:r.channel,spent:o.spent.toString(),units:o.state.status===`active`?o.state.units:0}),n}async function ee(e){e.requiredCumulative<=e.deposit||(S(e.requiredCumulative),await C({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:e.requiredCumulative-e.deposit}))}function te(e,t){let n=RN({channel:o.channel,channelId:e,challengeId:o.lastChallenge?.id,cumulativeAmount:t,spent:o.spent,state:o.state});n&&o.channel&&c({type:`activated`,challengeId:n.challengeId,entry:o.channel,spent:n.spent,units:n.units})}function ne(e){let t=BN(e,o.channel);o.channel=t.channel,o.spent=t.spent,o.state=t.state}function re(e){let t=e.headers.get(Q.paymentReceipt),n=t?SM(t):null;return p(n),Object.assign(e,{receipt:n,challenge:o.lastChallenge,channelId:o.channel?.channelId??null,cumulative:o.channel?.cumulativeAmount??0n})}async function ie(e,n){o.lastUrl=e;let r=await h();await v(e,n);let a=sF(e,n,(await h())?.channelId??i??r?.channelId),s=zN({channel:o.channel,spent:o.spent,state:o.state}),c=a,l=!!(r?.opened&&!s.channel?.opened);for(;;){let r;try{r=await d(e,c)}catch(t){if(ne(s),!l)throw t;l=!1,await g(),await v(e,n),c=sF(e,n,i??void 0);continue}let a=re(r),u=!1;if(a.status===402){let n=await RP({input:e,init:c,response:a,createSessionCredential:f,fetch:t.fetch,getChannel:()=>o.channel,restoreCumulative:te,setChallenge(e){o.lastChallenge=e},topUpIfNeeded:ee});n&&(u=!0,a=re(n))}if(!u&&!a.ok&&!a.receipt){if(ne(s),!l)return a;l=!1,await g(),await v(e,n),c=sF(e,n,i??void 0);continue}return a}}async function ae(e){let n=await BP({createSessionCredential:f,fetch:t.fetch,lastUrl:o.lastUrl,signedCloseAmount:x(e),setChallenge(e){o.lastChallenge=e},target:e});return n&&(m(),c({type:`closeStarted`}),c({type:`closed`,receipt:n})),n}return{get channelId(){return o.channel?.channelId},get cumulative(){return o.channel?.cumulativeAmount??0n},get opened(){return o.channel?.opened??!1},get state(){return o.state},fetch:ie,async topUp(e){let n=OP({amount:e,assertVoucherWithinLocalLimit:S,channel:o.channel,decimals:t.decimals,lastChallenge:o.lastChallenge,lastUrl:o.lastUrl});return C({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,input:n.input})},async sse(e,n){return VP(e,n,{createSessionCredential:f,doFetch:ie,fetch:t.fetch,getChannel:()=>o.channel,getChallenge:()=>o.lastChallenge,assertVoucherWithinLocalLimit:S,managementInput:PP,acceptReceipt(e){p(e)},topUpIfNeeded:ee})},async ws(e,n){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=FP(e);await v(r,n?.signal?{signal:n.signal}:void 0);let{challenge:a,credential:c,httpUrl:l,wsUrl:u}=await WP({createSessionCredential:f,fetch:t.fetch,input:e,onProbeUrl(e){o.lastUrl=e.toString()},probeInit:sF(r,n?.signal?{signal:n.signal}:void 0,(await h())?.channelId??i??void 0),signal:n?.signal});return o.lastChallenge=a,YP({challenge:a,credential:c,httpUrl:l,WebSocket:t.WebSocket,wsUrl:u,options:n,createSessionCredential:f,getChannel:()=>o.channel,setSocketSession(e){o.socketSession=e},assertVoucherWithinLocalLimit:S,acceptReceipt:p,rejectCloseReady:s.rejectCloseReady,rejectReceipt:s.rejectReceipt,settleCloseReady:s.settleCloseReady,settleReceipt:s.settleReceipt,topUpIfNeeded:ee,waitForReceipt:s.waitForReceipt})},async close(){let e=o.socketSession,t=kN({channel:o.channel,currentSocket:e,lastChallenge:o.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===TP.OPEN){let r=await VN({activeSocket:n,createSessionCredential:f,currentSocket:e,spent:o.spent,target:t,waitForCloseReady:s.waitForCloseReady,waitForReceipt:s.waitForReceipt});return m(),c({type:`closeStarted`}),c({type:`closed`,receipt:r}),r}return ae(t)}}}(function(e){e.serializeSnapshot=pN,e.deserializeSnapshot=mN})(lF||={});let uF=Object.assign(SP,{manager:lF}),dF=Object.assign(MM,{method:pM});function fF(e={}){return[Gj(e),uF(e)]}(function(e){e.charge=Gj,e.session=uF,e.sessionLegacy=dF,e.subscription=Oj})(fF||={});function pF(e){let{onChallenge:t,orderChallenges:n,polyfill:r=!0,acceptPaymentPolicy:i=r&&globalThis.location!==void 0?`same-origin`:`always`,transport:a=tA()}=e,o=e.fetch??globalThis.fetch,s=e.methods.flat(),c=sk(s,e.paymentPreferences),l=uA(),u=t,d={acceptPayment:c,acceptPaymentPolicy:i,...e.fetch&&{fetch:e.fetch},eventDispatcher:l,...u&&{onChallenge:u},...n&&{orderChallenges:n},methods:s,transport:a},f=sA(d);r&&cA(d);function p(e){return l.on(`challenge.received`,e)}function m(e){return l.on(`credential.created`,e)}function h(e){return l.on(`payment.failed`,e)}function g(e){return l.on(`payment.response`,e)}return{fetch:f,rawFetch:o,methods:s,transport:a,on:l.on,onChallengeReceived:p,onCredentialCreated:m,onPaymentFailed:h,onPaymentResponse:g,async createCredential(e,t,r){let i=a.getChallenges?a.getChallenges(e):[a.getChallenge(e)],o=CF(c.entries,r?.acceptPayment),u,d;try{let a=(await wF(uk(i,s,o),r?.orderChallenges??n))[0];if(!a)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${s.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let c=a.challenge;u=c,d=a.method,u.expires&&IO(u.expires,u.id);let f=mF(e=>TF(c,d,e??t)),p=await l.emit(`challenge.received`,hF({challenge:c,challenges:i,createCredential:f,method:d,response:e}))??await f();return kA(p),await l.emit(`credential.created`,gF({challenge:c,credential:p,method:d,response:e})),p}catch(t){throw await l.emit(`payment.failed`,_F({challenge:u,challenges:i,error:t,method:d,response:e})),t}}}}function mF(e){let t;return n=>(t??=e(n),t)}function hF(e){return Object.freeze({challenge:bF(e.challenge),challenges:e.challenges.map(e=>bF(e)),createCredential:e.createCredential,method:vF(e.method),response:yF(e.response)})}function gF(e){return Object.freeze({challenge:bF(e.challenge),credential:e.credential,method:vF(e.method),response:yF(e.response)})}function _F(e){return Object.freeze({...e.challenge?{challenge:bF(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>bF(e))}:{},error:e.error,...e.method?{method:vF(e.method)}:{},response:yF(e.response)})}function vF(e){return SF(Object.assign({},e))}function yF(e){return e instanceof Response?e.clone():bF(e)}function bF(e){try{return xF(structuredClone(e))}catch{return SF(e)}}function xF(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))xF(t);return e}function SF(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function CF(e,t){return t?typeof t==`string`?ck(t):t:e}async function wF(e,t){return t?t(e):e}async function TF(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})}L(),D();let EF={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},DF=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);async function OF(e={}){let{account:t}=e,n=await Fx();return{accessKey:jC(n,t?{access:t}:void 0),keyPair:n}}async function kF(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a,store:o}=e,s=e.now??Date.now()/1e3,c=VF({account:n,accessKey:t,chainId:i,store:o}).find(e=>IF(e,{calls:r}));if(c){if(zF(c.expiry,s))return EF.expired;if(c.keyAuthorization){let e=await BF(a,{accessKey:c.address,account:n,now:s}).catch(()=>EF.pending);return e===EF.published&&NF({accessKey:c.address,account:n,chainId:i,store:o}),e===EF.published?EF.published:EF.pending}return await BF(a,{accessKey:c.address,account:n,now:s})}return t?await BF(a,{accessKey:t,account:n,now:s}):EF.missing}async function AF(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=VF({account:t,chainId:r,store:i});for(let e of o){if(!IF(e,{calls:n}))continue;if(zF(e.expiry,a)){PF({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=RF(e,i);if(t)return t}}function jF(e){return Kw({source:{get(t){return VF({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){NF({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){HF({account:t.address,accessKey:t.accessKey,chainId:t.chainId,patch:{keyAuthorization:n},store:e})}}})}function MF(e){let{account:t,authorization:n,keyPair:r,privateKey:i,store:a}=e,o={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},s=i?{...o,privateKey:i}:r?{...o,keyPair:r}:o;return a.setState(e=>({accessKeys:[s,...e.accessKeys.filter(e=>!UF(e,{account:s.access,accessKey:s.address,chainId:s.chainId}))]})),s}function NF(e){let{store:t,...n}=e;HF({...n,patch:{keyAuthorization:void 0},store:t})}function PF(e){let{store:t,...n}=e;t.setState(e=>({accessKeys:e.accessKeys.filter(e=>!UF(e,n))}))}function FF(e){return e instanceof E&&e.walk(e=>{let t=e.data?.errorName;return!!t&&DF.has(t)})?!0:e instanceof Error?DF.has(Xw(e).errorName):!1}function IF(e,t){let n=e.scopes;return n===void 0?!0:!Array.isArray(n)||!t.calls?!1:t.calls.every(e=>{if(!e.to)return!1;let t=e.to.toLowerCase(),r=e.data?.slice(0,10).toLowerCase();return n.some(n=>{if(!LF(n)||n.address.toLowerCase()!==t)return!1;let i=n.selector;if(!i)return n.recipients?n.recipients.length===0:!0;let a=(()=>{try{return(i.startsWith(`0x`)&&i.length===10?i:Sy(i)).toLowerCase()}catch{return}})();if(!a||r!==a)return!1;if(!n.recipients||n.recipients.length===0)return!0;if(!e.data||e.data.length<74)return!1;let o=`0x${e.data.slice(34,74)}`;return v_(o)?n.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function LF(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!v_(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=>!v_(e))))}function RF(e,t){let n=jF(t);if(`keyPair`in e&&e.keyPair)return jC(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return kC(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return OC(e.privateKey,{access:e.access,keyAuthorizationManager:n})}}function zF(e,t){return typeof e==`number`&&e<t}async function BF(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await YC(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?EF.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?EF.expired:EF.published}catch(e){if(FF(e))return EF.missing;throw e}}function VF(e){let{store:t,...n}=e;return t.getState().accessKeys.filter(e=>UF(e,n))}function HF(e){let{patch:t,store:n,...r}=e;n.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!UF(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 UF(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 WF(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 Zb({message:`Account \"${t}\" not found.`}):new $b({message:`No active account.`});return GF(s,{signable:n})}function GF(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 Zb({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return kC(e.privateKey);case`p256`:return OC(e.privateKey);case`webCrypto`:return jC(e.keyPair);case`webAuthn`:return AC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return DC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new Zb({message:`Unknown key type.`})}}let KF=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function qF(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await AF({account:t,calls:n,chainId:r,store:a});if(o)return JF({account:o,address:t,chainId:r,client:i,store:a})}function JF(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{return await XF(i,await Kd(i,{account:t,...e,parameters:[],type:`tempo`}))}catch(e){throw ZF(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{return YF({account:t,address:n,chainId:r,client:i,request:await Kd(i,{account:t,...e,type:`tempo`}),store:a})}catch(e){throw ZF(e,{account:t,address:n,chainId:r,store:a}),e}}}}function YF(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 ZF(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 ZF(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 ZF(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function XF(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 ZF(e,t){QF(e)&&PF({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId,store:t.store})}function QF(e){if(!(e instanceof Error))return!1;let t=Xw(e);if(KF.has(t.errorName))return!0;let n=$F(e);return[...KF].some(e=>n.includes(e))}function $F(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:``,$F(r)].join(`\n`)}function eI(e={}){let{dialog:t=ee()?se():oe(),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,getClient:r,store:i})=>{let a=new Set,s=px();function c(e){return new Promise((t,n)=>{let r=o=>{let s=o.find(t=>t.request.id===e);if(!s&&o.length===0){a.delete(r),n(new Xb);return}s&&(s.status!==`success`&&s.status!==`error`||(a.delete(r),s.status===`success`?t(s.result):n(dx(s.error)),i.setState(t=>({...t,requestQueue:t.requestQueue.filter(t=>t.request.id!==e)}))))};a.add(r),r(i.getState().requestQueue)})}let l=ux({async request(e){let t=s.prepare(e);return i.setState(e=>({...e,requestQueue:[...e.requestQueue,{request:t,status:`pending`}]})),c(t.id)}},{schema:CO});async function u(e){if(!e||e.publicKey||e.address)return;if(e.keyType&&e.keyType!==`p256`)throw new Kb({message:`\\`keyType: \"${e.keyType}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let t=await OF(),{accessKey:n}=t;return{accessKey:n,generated:t,request:{...e,publicKey:n.publicKey,keyType:`p256`}}}function d(e,t,n){MF({account:e,authorization:AS(t),keyPair:n.keyPair,store:i})}let f=t({host:n,store:i,theme:o}),p=i.subscribe(e=>e.requestQueue,e=>{for(let t of a)t(e);let t=e.filter(e=>e.status===`pending`);f?.syncRequests(t),t.length===0&&f?.close()});return{cleanup(){p(),f?.destroy()},forwardsAuth:!0,actions:{async createAccount(e,t){let n=await u(e.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:IT(dO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities,o=a?.keyAuthorization;return n&&i&&o&&d(i,o,n.generated),{accounts:r.map(e=>({address:e.address})),...a?.auth?{auth:a.auth}:{},...o?{keyAuthorization:o}:{},...a?.signature?{signature:a.signature}:{},...a?.personalSign?{personalSign:a.personalSign}:{}}},async loadAccounts(e,t){let n=await u(e?.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:IT(dO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities,o=a?.keyAuthorization;return n&&i&&o&&d(i,o,n.generated),{accounts:r.map(e=>({address:e.address})),...a?.auth?{auth:a.auth}:{},...o?{keyAuthorization:o}:{},...a?.signature?{signature:a.signature}:{},...a?.personalSign?{personalSign:a.personalSign}:{}}},async signPersonalMessage(e,t){return await l.request(t)},async signTransaction(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await qF({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).sign()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[IT(JD,e)]})},async signTypedData(e,t){return await l.request(t)},async sendTransaction(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await qF({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).send()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[IT(JD,e)]})},async sendTransactionSync(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await qF({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).sendSync()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[IT(JD,e)]})},async authorizeAccessKey(t,n){let r=await u(t),i=await l.request({...n,params:[IT(cO.parameters,r?r.request:t)]});return r&&d(e({signable:!1}).address,i.keyAuthorization,r.generated),i},async revokeAccessKey(e,t){await l.request(t),PF({accessKey:e.accessKeyAddress,account:e.address,chainId:i.getState().chainId,store:i})},async deposit(e,t){return await l.request(t)},async transfer(e,t){return await l.request({...t,params:[IT(hO.parameters,e)]})},async swap(e,t){return await l.request(t)},async depositZone(e,t){return await l.request({...t,params:[IT(bO.parameters,e)]})},async withdrawZone(e,t){return await l.request({...t,params:[IT(xO.parameters,e)]})},async disconnect(){i.setState({accessKeys:[],accounts:[],activeAccount:0})}}}})}let tI=new Map,nI=new WeakMap;function rI(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return aI(r);if(r?.url)return aI(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 tI;let e=nI.get(d);return e||(e=new Map,nI.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Gy(),r=i?iI(i,t):t;p=fh({chain:e,transport:s?oI(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function iI(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function aI(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function oI(e,t,n){return r=>{let i=e(r),a=Gy(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=SC(t);if(`feePayerSignature`in n&&n.feePayerSignature===null){let n=await a.request({method:`eth_signRawTransaction`,params:[t]});return await i.request({method:e,params:[n]})}}}return await i.request({method:e,params:t})}}}}function sI(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(sI.cache.get(n))return sI.cache.get(n);let r=e().finally(()=>sI.cache.delete(n));return sI.cache.set(n,r),r}sI.cache=new Map;function cI(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function lI(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=cI(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let uI;function dI(){return uI||=lI(`keyval-store`,`keyval`),uI}function fI(e,t=dI()){return t(`readonly`,t=>cI(t.get(e)))}function pI(e,t,n=dI()){return n(`readwrite`,n=>(n.put(t,e),cI(n.transaction)))}function mI(e,t=dI()){return t(`readwrite`,t=>(t.delete(e),cI(t.transaction)))}function hI(e,t={}){let n=`${t.key??`tempo`}.`;return{getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)}}function gI(e={}){let t=typeof indexedDB<`u`?lI(`tempo`,`store`):void 0;return hI({async getItem(e){let n=await fI(e,t);return n===null?null:n},async setItem(e,n){await pI(e,n,t)},async removeItem(e){await mI(e,t)}},e)}function _I(e={}){let t=new Map;return hI({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e)}let vI=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 yI(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 bI=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return bI(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return bI(t)(e)}}}},xI=(e,t)=>(n,r,i)=>{let a={storage:yI(()=>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 bI(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},SI=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},CI=(e=>e?SI(e):SI);function wI(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,schema:i,storage:a=typeof window<`u`?gI({key:`tempo`}):_I({key:`tempo`})}=e;return CI(vI(xI(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t,requestQueue:[]}),{merge:(e,t)=>EI(e,t,{schema:i}),name:`store`,partialize:e=>TI(e,{maxAccounts:n,persistCredentials:r}),storage:a,version:0})))}function TI(e,t={}){let{maxAccounts:n,persistCredentials:r=!0}=t;return{accounts:n&&e.accounts.length>n?e.accounts.slice(0,n):e.accounts,activeAccount:e.activeAccount,...r?{accessKeys:e.accessKeys}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function EI(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(OI):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>PT(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:DI(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function DI(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 OI(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}async function kI(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let AI=new Map;async function jI(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=AI.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 AI.set(r,a),a.then(e=>{e.length===0&&AI.delete(r)}),a}async function MI(e){let{symbol:t,...n}=e,r=await jI(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function NI(e,t){let n=PT(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Qb({message:`Unsupported method \"${t?.method}\".`}):new Yb(-32602,`Invalid params: ${PI(n.error.issues)}`)}return{...t,_decoded:n.data}}function PI(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?PI([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}L(),Af();let FI=new Set;function II(e={}){let{adapter:t=eI(),chains:n=[Hw,Uw,Ww],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?gI():_I()}=e,c=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Gy(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),l=(()=>{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}})(),u=wI({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),d=(e={})=>WF({...e,store:u}),f;function p(e={}){let{chainId:t,feePayer:r}=e;return rI(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:l?.precedence}})(),store:u,transports:c})}let m=t({getAccount:d,getClient:p,storage:s,store:u}),{actions:h}=m,g=lx();u.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>g.emit(`accountsChanged`,u.getState().accounts.map(e=>e.address))),u.subscribe(e=>e.chainId,e=>g.emit(`chainChanged`,F(e))),u.subscribe(e=>e.accounts.length>0,e=>{e?g.emit(`connect`,{chainId:F(u.getState().chainId)}):g.emit(`disconnect`,new $b)});function _(){if(u.getState().accounts.length===0)throw new $b({message:`No accounts connected.`})}function v(){let{accounts:e,activeAccount:t}=u.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 y(e){if(!m.persistAccounts)return e;let t=[...e];for(let e of u.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function b(e){if(e===!1)return!1;let t=typeof e==`string`?e:l?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}let x=Object.assign(ux({...g,async request({method:t,params:r}){return await kI(u),sI(async()=>{let i;try{i=NI(TO,{method:t,params:r})}catch(e){if(!(e instanceof Qb))throw e;return await rI(void 0,{chains:n,store:u,transports:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return v();case`eth_chainId`:return F(u.getState().chainId);case`eth_requestAccounts`:{let e=v();if(e.length>0)return e;let{accounts:t}=await h.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return u.setState({accounts:y(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{_();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=u.getState();return await h.sendTransaction({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=b(t.feePayer),a=p({chainId:n,feePayer:r}),o=e=>{let t={...e,chainId:e.chainId??a.chain?.id,...r?{feePayer:!0}:{}},n=a.chain?.formatters?.transactionRequest,i=n?n.format({...t},`fillTransaction`):t;return a.request({method:`eth_fillTransaction`,params:[i]})};if(!t.keyAuthorization){let e=u.getState(),n=t.from??e.accounts[e.activeAccount]?.address;if(n){let i=await qF({address:n,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:t.chainId??e.chainId,client:a,store:u});if(i)try{return await i.fill({...t,chainId:t.chainId??e.chainId,from:t.from??n,...r?{feePayer:!0}:{}})}catch{return await o(t)}}}return await o(t)}case`eth_signTransaction`:{_();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=u.getState();return await h.signTransaction({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_sendTransactionSync`:{_();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=u.getState();return await h.sendTransactionSync({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_signTypedData_v4`:{_();let[e,t]=i._decoded.params;return await h.signTypedData({address:e,data:t},i)}case`personal_sign`:{_();let[e,t]=i._decoded.params;return await h.signPersonalMessage({address:t,data:e},i)}case`wallet_sendCalls`:try{_();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=b(t?.feePayer??(l?!0:void 0)),s=u.getState(),c={calls:e,chainId:n,from:r??s.accounts[s.activeAccount]?.address,...o?{feePayer:o}:{}};if(!a){let e=N(await h.sendTransaction(c,{method:`eth_sendTransaction`,params:[IT(JD,c)]}),sp(F(u.getState().chainId),32),RI);return{capabilities:{sync:a},id:e}}let d=await h.sendTransactionSync(c,{method:`eth_sendTransactionSync`,params:[IT(JD,c)]}),f=d.transactionHash,p=F(u.getState().chainId),m=N(f,sp(p,32),RI);return{atomic:!0,capabilities:{sync:a},chainId:p,id:m,receipts:[d],status:d.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw zI(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=u.getState(),a=e?.account??t[r]?.address;if(!a)throw new $b({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Kb({message:\"`tokens` is required.\"});let s=rI(e?.chainId,{chains:n,store:u,transports:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([yw(s,{account:a,token:e}),bw(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(RI.slice(2)))throw Error(\"`id` not supported\");rp(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await rI(Number(r),{chains:n,store:u,transports:c}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=u.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new Zb({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`},...l?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&u.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??e.authorizeAccessKey?.(),a=n?.auth??e.auth,o=a?UI(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Kb({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Kb({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});o&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,auth:o}}]});let s=o&&!m.forwardsAuth?await KI(o,t??u.getState().chainId??0):void 0,c=s?{message:s.message}:n?.personalSign,{accounts:l,auth:d,email:f,keyAuthorization:p,personalSign:g,signature:_,username:v}=await(async()=>{if(n?.method===`register`){let e=n.name?u.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await h.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:r,...c?{personalSign:c}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await h.createAccount({digest:n.digest,authorizeAccessKey:r,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??lp(16),...c?{personalSign:c}:{}},i)}return await h.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:r,selectAccount:n?.selectAccount,...c?{personalSign:c}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();u.setState({accounts:y(l),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=l[0]?.address,x=o&&typeof o==`object`?o.verify:void 0,S=s?.message??g?.message,C=o&&x&&S&&_&&b?await qI(o,{address:b,message:S,signature:_}):void 0;return{accounts:l.map(e=>({address:e.address,capabilities:e.address===b?{...p?{keyAuthorization:{...p,address:p.keyId}}:{},..._&&(!o||C||!x)?{signature:_}:{},...f===void 0?{}:{email:f},...v===void 0?{}:{username:v},...C??d?{auth:C??d}:{},...g?{personalSign:{message:g.message}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=u.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=UI(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await h.disconnect?.(),u.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0});return}case`wallet_authorizeAccessKey`:{if(!h.authorizeAccessKey)throw new Qb({message:\"`authorizeAccessKey` not supported by adapter.\"});let e=i._decoded.params[0],t=await h.authorizeAccessKey(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{if(_(),!h.revokeAccessKey)throw new Qb({message:\"`revokeAccessKey` not supported by adapter.\"});let[e]=i._decoded.params;await h.revokeAccessKey({...e},i);return}case`wallet_deposit`:if(!h.deposit)throw new Qb({message:\"`deposit` not supported by adapter.\"});return await h.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{_();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!h.transfer)throw new Qb({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:b(e.feePayer)}};return await h.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=u.getState(),l=e.chainId??c.chainId,d=b(n),f=p({chainId:l,feePayer:typeof d==`string`?d:void 0}),{address:m,decimals:g}=await(async()=>{if(v_(s))return{address:s,decimals:(await bw(f,{token:s})).decimals};let e=await MI({chainId:f.chain.id,symbol:s});if(!e)throw new Yb(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),v=dy(t,g),y=c.accounts[c.activeAccount]?.address,x=r&&y&&r.toLowerCase()!==y.toLowerCase()?r:void 0,S={calls:[jw.call({amount:v,...x?{from:x}:{},memo:a?op(a):void 0,to:o,token:m})],chainId:l,from:y,...d===void 0?{}:{feePayer:d}},C=await h.sendTransactionSync(S,{method:`eth_sendTransactionSync`,params:[IT(JD,S)]});return{chainId:F(l),receipt:C}}case`wallet_swap`:if(_(),!h.swap)throw new Qb({message:\"`swap` not supported by adapter.\"});return await h.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(_(),!h.depositZone)throw new Qb({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:b(e.feePayer)}};return await h.depositZone(t,i)}case`wallet_withdrawZone`:if(_(),!h.withdrawZone)throw new Qb({message:\"`withdrawZone` not supported by adapter.\"});return await h.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 rx({message:`Chain ${e} not configured.`});await h.switchChain?.({chainId:e}),u.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Of({method:t,params:r})})}},{schema:CO}),{chains:n,getAccount:(e=>{let t=d(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=u.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 kF({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:x.getClient({chainId:r}),store:u})},getClient(e={}){let{chainId:t,feePayer:r}=e;return rI(t,{chains:n,feePayer:r,provider:f,store:u,transports:c})},store:u});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;FI.has(e)||(FI.add(e),EO({info:{icon:t.icon??LI,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:x}))}let S=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(S){let{mode:e=`push`,polyfill:t,...n}=S,r=t??BI(),i=({chainId:e})=>{let t=x.getClient({chainId:e}),n=u.getState().accounts[u.getState().activeAccount];if(!n)throw new $b({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};pF({methods:[fF({...n,getClient:i,mode:e}),fF.subscription({getClient:i})],polyfill:r})}return f=x,x}let LI=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,RI=Zg(op(`TEMPO_5792`));function zI(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 BI(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function VI(){return typeof document<`u`&&typeof document.cookie==`string`}function HI(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 Kb({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 UI(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:HI(e,`challenge`)}:{},...r?{verify:HI(e,`verify`)}:{},...i?{logout:HI(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return WI(a),a}function WI(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 Kb({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Kb({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let GI=' 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 KI(e,t){let n=typeof e==`object`?e.challenge:HI(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=Ny(i.message),o=new URL(n);if(a.version!==`1`)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${GI}`});if(a.uri!==o.origin)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${GI}`});if(a.chainId!==t)throw new Kb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function qI(e,t){let n=typeof e==`object`?e.verify:HI(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!VI(),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 qb({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let JI={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},YI={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},XI={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var ZI=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let QI={accent:new ZI(`accent`),background:new ZI(`background`),border:new ZI(`border`),foreground:new ZI(`foreground`),muted:new ZI(`muted`),negative:new ZI(`negative`),positive:new ZI(`positive`),surface:new ZI(`surface`),fontFamily:new ZI(`font-family`),fontSizeBase:new ZI(`font-size-base`),radius:new ZI(`radius`),spacingUnit:new ZI(`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: ${QI.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 $I(e){let t=new URL(location.href);t.searchParams.set(YI.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()}Af();function eL(e){let t=document.getElementById(JI.data),n=Df(t.textContent),r=t.getAttribute(XI.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(XI.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(XI.challengeId),o=a?(i.removeAttribute(XI.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(JI.error)?.remove();return}let t=document.getElementById(JI.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=JI.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:$I,vars:QI}}let tL=eL(`tempo`),nL=String.raw,rL=document.createElement(`style`);rL.textContent=nL`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${tL.vars.spacingUnit} * 8);\n }\n button {\n background: ${tL.vars.accent};\n border-radius: ${tL.vars.radius};\n color: ${tL.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${tL.vars.spacingUnit} * 4) calc(${tL.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`,tL.root.append(rL);let iL=II({testnet:tL.challenge.request.methodDetails?.chainId===Uw.id||tL.challenge.request.methodDetails?.chainId===Gw.id}),aL=document.createElement(`button`);aL.innerHTML=`${tL.text.pay===`Pay`?`Continue with`:tL.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>`,aL.onclick=async()=>{try{tL.error(),aL.disabled=!0;let e=await(async()=>{let e=await iL.request({method:`eth_accounts`});return e.length>0?e.at(0):(await iL.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await fF({account:e,getClient:e=>{let t=e.chainId??tL.challenge.request.methodDetails?.chainId;return fh({chain:[...iL?.chains??[],Uw,Gw].find(e=>e.id===t),transport:By(iL)})}})[0].createCredential({challenge:tL.challenge,context:{}});await tL.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;tL.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{aL.disabled=!1}},tL.root.appendChild(aL)})();</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)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(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)}function f(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var p=o((()=>{}));let m=256,h;function g(e=11){if(!h||m+e>256*2){h=``,m=0;for(let e=0;e<256;e++)h+=(256+Math.random()*256|0).toString(16).substring(1)}return h.substring(m,m+++e)}p();function _(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,type:s=`base`}=e,c=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),l=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(l/2),500),4e3),d=e.pollingInterval??u,p=e.cacheTime??d,m=e.account?f(e.account):void 0,{config:h,request:_,value:v}=e.transport({account:m,chain:n,pollingInterval:d}),y={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:d,request:_,transport:{...h,...v},type:s,uid:g(),...c?{experimental_blockTag:c}:{}};function b(e){return t=>{let n=t(e);for(let e in y)delete n[e];let r={...e,...n};return Object.assign(r,{extend:b(r)})}}return Object.assign(y,{extend:b(y)})}var v,y,b=o((()=>{v={gwei:9,wei:18},y={ether:-9,wei:9}}));function x(e,t){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}var S=o((()=>{}));function C(e,t=`wei`){return x(e,y[t])}var w=o((()=>{b(),S()})),ee,te=o((()=>{ee=`2.52.2`}));function ne(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?ne(e.cause,t):t?null:e}var re,T,E=o((()=>{te(),re={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${ee}`},T=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=re.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...re.version?[`Version: ${re.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=ee}walk(e){return ne(this,e)}}}));w(),E();var ie=class extends T{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},ae=class extends T{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},oe=class extends T{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${C(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}},se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye=o((()=>{w(),E(),se=class extends T{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(se,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(se,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),ce=class extends T{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${C(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(ce,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),le=class extends T{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${C(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(le,\"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/}),ue=class extends T{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(ue,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),de=class extends T{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(de,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),fe=class extends T{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(fe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),pe=class extends T{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(pe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),me=class extends T{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(me,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),he=class extends T{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(he,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),ge=class extends T{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(ge,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),_e=class extends T{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${C(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${C(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(_e,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),ve=class extends T{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function be(e,t=`wei`){return x(e,v[t])}var xe=o((()=>{b(),S()}));function Se(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 Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne=o((()=>{xe(),w(),E(),Ce=class extends T{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},we=class extends T{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,Se(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`})}},Te=class extends T{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}},Ee=class extends T{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}},De=class extends T{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Oe=class extends T{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=Se({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${be(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${C(o)} gwei`,maxFeePerGas:s!==void 0&&`${C(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${C(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}},ke=class extends T{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`})}},Ae=class extends T{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`})}},je=class extends T{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}},Me=class extends T{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}})),Pe,Fe=o((()=>{Pe=(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 Ie(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 Le(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Re,ze,Be=o((()=>{Re=e=>e,ze=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ve,He,Ue,We=o((()=>{Fe(),E(),Be(),Ve=class extends T{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: ${ze(a)}`,e&&`Request body: ${Pe(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}},He=class extends T{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${ze(n)}`,`Request body: ${Pe(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}},Ue=class extends T{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${ze(t)}`,`Request body: ${Pe(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt=o((()=>{E(),We(),Ge=-1,Ke=class extends T{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 He?e.code:t??Ge}},qe=class extends Ke{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Je=class e extends Ke{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(Je,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Ye=class e extends Ke{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Ye,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Xe=class e extends Ke{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Xe,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Ze=class e extends Ke{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(Ze,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Qe=class e extends Ke{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(Qe,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),$e=class e extends Ke{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($e,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),et=class e extends Ke{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(et,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),tt=class e extends Ke{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(tt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),nt=class e extends Ke{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(nt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),rt=class e extends Ke{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(rt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),it=class e extends Ke{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(it,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),at=class e extends Ke{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(at,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ot=class e extends qe{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ot,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),st=class e extends qe{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(st,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ct=class e extends qe{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ct,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),lt=class e extends qe{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(lt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),ut=class e extends qe{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(ut,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),dt=class e extends qe{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(dt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ft=class e extends qe{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(ft,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),pt=class e extends qe{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(pt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),mt=class e extends qe{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(mt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),ht=class e extends qe{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(ht,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),gt=class e extends qe{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(gt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),_t=class e extends qe{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(_t,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),vt=class e extends qe{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(vt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),yt=class e extends qe{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(yt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),bt=class extends Ke{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));function St(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof T?e.walk(e=>e?.code===se.code):e;return r instanceof T?new se({cause:e,message:r.details}):se.nodeMessage.test(n)?new se({cause:e,message:e.details}):ce.nodeMessage.test(n)?new ce({cause:e,maxFeePerGas:t?.maxFeePerGas}):le.nodeMessage.test(n)?new le({cause:e,maxFeePerGas:t?.maxFeePerGas}):ue.nodeMessage.test(n)?new ue({cause:e,nonce:t?.nonce}):de.nodeMessage.test(n)?new de({cause:e,nonce:t?.nonce}):fe.nodeMessage.test(n)?new fe({cause:e,nonce:t?.nonce}):pe.nodeMessage.test(n)?new pe({cause:e}):me.nodeMessage.test(n)?new me({cause:e,gas:t?.gas}):he.nodeMessage.test(n)?new he({cause:e,gas:t?.gas}):ge.nodeMessage.test(n)?new ge({cause:e}):_e.nodeMessage.test(n)?new _e({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ve({cause:e})}var Ct=o((()=>{E(),ye()}));ye(),Ne(),Ct();function wt(e,{docsPath:t,...n}){return new Oe((()=>{let t=St(e,n);return t instanceof ve?e:t})(),{docsPath:t,...n})}function Tt(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 Et=o((()=>{})),Dt,Ot,kt,At,jt,Mt=o((()=>{E(),Dt=class extends T{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`})}},Ot=class extends T{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`})}},kt=class extends T{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},At=class extends T{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},jt=class extends T{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Nt=o((()=>{}));function Pt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Ft=o((()=>{Nt()}));function It(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 Lt=o((()=>{})),Rt,zt,Bt,Vt=o((()=>{E(),Rt=class extends T{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},zt=class extends T{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Bt=class extends T{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 Ht(e,{dir:t,size:n=32}={}){return typeof e==`string`?Ut(e,{dir:t,size:n}):Wt(e,{dir:t,size:n})}function Ut(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new zt({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Wt(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new zt({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 Gt=o((()=>{Vt()}));function Kt(e,t={}){return typeof e==`number`||typeof e==`bigint`?O(e,t):typeof e==`string`?Yt(e,t):typeof e==`boolean`?qt(e,t):Jt(e,t)}function qt(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(cn(n,{size:t.size}),Ht(n,{size:t.size})):n}function Jt(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Xt[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(cn(r,{size:t.size}),Ht(r,{dir:`right`,size:t.size})):r}function O(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 Dt({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?Ht(s,{size:r}):s}function Yt(e,t={}){return Jt(Zt.encode(e),t)}var Xt,Zt,k=o((()=>{Mt(),Gt(),dn(),Xt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Zt=new TextEncoder}));function Qt(e,t={}){return typeof e==`number`||typeof e==`bigint`?nn(e,t):typeof e==`boolean`?$t(e,t):D(e)?tn(e,t):rn(e,t)}function $t(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(cn(n,{size:t.size}),Ht(n,{size:t.size})):n}function en(e){if(e>=on.zero&&e<=on.nine)return e-on.zero;if(e>=on.A&&e<=on.F)return e-(on.A-10);if(e>=on.a&&e<=on.f)return e-(on.a-10)}function tn(e,t={}){let n=e;t.size&&(cn(n,{size:t.size}),n=Ht(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=en(r.charCodeAt(t++)),i=en(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new T(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function nn(e,t){return tn(O(e,t))}function rn(e,t={}){let n=an.encode(e);return typeof t.size==`number`?(cn(n,{size:t.size}),Ht(n,{dir:`right`,size:t.size})):n}var an,on,sn=o((()=>{E(),Nt(),Gt(),dn(),k(),an=new TextEncoder,on={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function cn(e,{size:t}){if(Pt(e)>t)throw new jt({givenSize:Pt(e),maxSize:t})}function A(e,t={}){let{signed:n}=t;t.size&&cn(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&&(cn(n,{size:t.size}),n=It(n)),It(n)===`0x00`)return!1;if(It(n)===`0x01`)return!0;throw new kt(n)}function un(e,t={}){let n=A(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Dt({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var dn=o((()=>{Mt(),Ft(),Lt()}));function fn(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 pn=o((()=>{}));dn(),pn();let mn={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function hn(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?un(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?un(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?mn[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=_n(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 gn=fn(`transaction`,hn);function _n(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 vn(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=yn(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=>Jt(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=O(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=O(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=O(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=O(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=O(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=O(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=bn[e.type]),e.value!==void 0&&(n.value=O(e.value)),n}function yn(e){return e.map(e=>({address:e.address,r:e.r?O(BigInt(e.r)):e.r,s:e.s?O(BigInt(e.s)):e.s,chainId:O(e.chainId),nonce:O(e.nonce),...e.yParity===void 0?{}:{yParity:O(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:O(e.v)}:{}}))}var bn,xn,Sn=o((()=>{k(),pn(),bn={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},xn=fn(`transactionRequest`,vn)}));function j(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)}var Cn,wn=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)),Cn=2n**256n-1n})),Tn,En=o((()=>{E(),Tn=class extends T{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`})}}})),Dn,On=o((()=>{Dn=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 kn(e,t=!1){return t?{h:Number(e&Mn),l:Number(e>>Nn&Mn)}:{h:Number(e>>Nn&Mn)|0,l:Number(e&Mn)|0}}function An(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}=kn(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function jn(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn=o((()=>{Mn=BigInt(2**32-1),Nn=BigInt(32),Pn=(e,t,n)=>e>>>n,Fn=(e,t,n)=>e<<32-n|t>>>n,In=(e,t,n)=>e>>>n|t<<32-n,Ln=(e,t,n)=>e<<32-n|t>>>n,Rn=(e,t,n)=>e<<64-n|t>>>n-32,zn=(e,t,n)=>e>>>n-32|t<<64-n,Bn=(e,t,n)=>e<<n|t>>>32-n,Vn=(e,t,n)=>t<<n|e>>>32-n,Hn=(e,t,n)=>t<<n-32|e>>>64-n,Un=(e,t,n)=>e<<n-32|t>>>64-n,Wn=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Gn=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Kn=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),qn=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Jn=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Yn=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Zn,Qn=o((()=>{Zn=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction $n(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 tr(e,...t){if(!$n(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 nr(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 rr(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 ir(e,t){tr(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 or(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function sr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function cr(e,t){return e<<32-t|e>>>t}function lr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function ur(e){for(let t=0;t<e.length;t++)e[t]=lr(e[t]);return e}function dr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function fr(e){return typeof e==`string`&&(e=dr(e)),tr(e),e}function pr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];tr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function mr(e){let t=t=>e().update(fr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function hr(e=32){if(Zn&&typeof Zn.getRandomValues==`function`)return Zn.getRandomValues(new Uint8Array(e));if(Zn&&typeof Zn.randomBytes==`function`)return Uint8Array.from(Zn.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var gr,_r,vr,yr=o((()=>{Qn(),gr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,_r=gr?e=>e:ur,vr=class{}}));function br(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=Nr(a,o,1)^n[r],c=Pr(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=Or[n],a=Nr(t,i,r),o=Pr(t,i,r),s=Dr[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]^=jr[r],e[1]^=Mr[r]}or(n)}var xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr=o((()=>{Xn(),yr(),xr=BigInt(0),Sr=BigInt(1),Cr=BigInt(2),wr=BigInt(7),Tr=BigInt(256),Er=BigInt(113),Dr=[],Or=[],kr=[];for(let e=0,t=Sr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Dr.push(2*(5*r+n)),Or.push((e+1)*(e+2)/2%64);let i=xr;for(let e=0;e<7;e++)t=(t<<Sr^(t>>wr)*Er)%Tr,t&Cr&&(i^=Sr<<(Sr<<BigInt(e))-Sr);kr.push(i)}Ar=An(kr,!0),jr=Ar[0],Mr=Ar[1],Nr=(e,t,n)=>n>32?Hn(e,t,n):Bn(e,t,n),Pr=(e,t,n)=>n>32?Un(e,t,n):Vn(e,t,n),Fr=class e extends vr{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=ar(this.state)}clone(){return this._cloneInto()}keccak(){_r(this.state32),br(this.state32,this.rounds),_r(this.state32),this.posOut=0,this.pos=0}update(e){rr(this),e=fr(e),tr(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){rr(this,!1),tr(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return er(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ir(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,or(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}},Ir=(e,t,n)=>mr(()=>new Fr(t,e,n)),Lr=Ir(1,136,256/8)}));function zr(e,t){let n=t||`hex`,r=Lr(D(e,{strict:!1})?Qt(e):e);return n===`bytes`?r:Kt(r)}var Br=o((()=>{Rr(),Nt(),sn(),k()}));function Vr(e,t){if(Ur.has(`${e}.${t}`))return Ur.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=zr(rn(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 Ur.set(`${e}.${t}`,a),a}function Hr(e,t){if(!Gr(e,{strict:!1}))throw new Tn({address:e});return Vr(e,t)}var Ur,Wr=o((()=>{En(),sn(),Br(),On(),Jr(),Ur=new Dn(8192)}));function Gr(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(qr.has(r))return qr.get(r);let i=Kr.test(e)?e.toLowerCase()===e?!0:n?Vr(e)===e:!0:!1;return qr.set(r,i),i}var Kr,qr,Jr=o((()=>{On(),Wr(),Kr=/^0x[a-fA-F0-9]{40}$/,qr=new Dn(8192)}));function Yr(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?f(t):void 0;if(a&&!Gr(a.address))throw new Tn({address:a.address});if(i&&!Gr(i))throw new Tn({address:i});if(n&&n>Cn)throw new ce({maxFeePerGas:n});if(r&&n&&r>n)throw new _e({maxFeePerGas:n,maxPriorityFeePerGas:r})}var Xr=o((()=>{p(),wn(),En(),ye(),Jr()}));E();var Zr=class extends T{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`})}};function Qr(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:hn(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}}k();async function $r(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:O(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 Zr({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Qr)(s,`getBlock`)}dn();async function ei(e){return un(await e.request({method:`eth_chainId`},{dedupe:!0}))}p(),Et(),Sn(),Xr();async function ti(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:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:g,to:_,type:v,value:y,...b}=t,x=await(async()=>{if(!n||!g||h!==void 0)return h;let t=f(n),r=a?a.id:await j(e,ei,`getChainId`)({});return await g.consume({address:t.address,chainId:r,client:e})})();Yr(t);let S=a?.formatters?.transactionRequest?.format,C=(S||vn)({...Tt(b,{format:S}),account:n?f(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:x,to:_,type:v,value:y},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[C]}),r=(a?.formatters?.transaction?.format||hn)(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 j(e,$r,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new ie;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:C.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw wt(n,{...t,chain:e.chain})}}k();async function ni(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:O(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}function ri(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new ki(e.type);return`${e.name}(${ii(e.inputs,{includeName:t})})`}function ii(e,{includeName:t=!1}={}){return e?e.map(e=>ai(e,{includeName:t})).join(t?`, `:`,`):``}function ai(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${ii(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var oi=o((()=>{Ai()})),si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai=o((()=>{oi(),Ft(),E(),si=class extends T{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`})}},ci=class extends T{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`})}},li=class extends T{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${ii(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}},ui=class extends T{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},di=class extends T{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`})}},fi=class extends T{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Pt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},pi=class extends T{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},mi=class extends T{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`})}},hi=class extends T{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`})}},gi=class extends T{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}},_i=class extends T{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},vi=class extends T{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`})}},yi=class extends T{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`})}},bi=class extends T{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`})}},xi=class extends T{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`})}},Si=class extends T{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${ri(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${ri(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},Ci=class extends T{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},wi=class extends T{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: (${ii(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}},Ti=class extends T{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${ri(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},Ei=class extends T{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`})}},Di=class extends T{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`})}},Oi=class extends T{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},ki=class extends T{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}}));function ji(e){return typeof e[0]==`string`?Ni(e):Mi(e)}function Mi(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 Ni(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Pi=o((()=>{}));function Fi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?zi(e,t,n,{strict:r}):Ri(e,t,n,{strict:r})}function Ii(e,t){if(typeof t==`number`&&t>0&&t>Pt(e)-1)throw new Rt({offset:t,position:`start`,size:Pt(e)})}function Li(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Pt(e)!==n-t)throw new Rt({offset:n,position:`end`,size:Pt(e)})}function Ri(e,t,n,{strict:r}={}){Ii(e,t);let i=e.slice(t,n);return r&&Li(i,t,n),i}function zi(e,t,n,{strict:r}={}){Ii(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Li(i,t,n),i}var Bi=o((()=>{Vt(),Nt(),Ft()})),Vi,Hi,Ui=o((()=>{Vi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Hi=/^(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 Wi(e,t){if(e.length!==t.length)throw new pi({expectedLength:e.length,givenLength:t.length});let n=qi(Gi({params:e,values:t}));return n.length===0?`0x`:n}function Gi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Ki({param:e[r],value:t[r]}));return n}function Ki({param:e,value:t}){let n=ta(e.type);if(n){let[r,i]=n;return Yi(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ea(t,{param:e});if(e.type===`address`)return Ji(t);if(e.type===`bool`)return Zi(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Hi.exec(e.type)??[];return Qi(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return Xi(t,{param:e});if(e.type===`string`)return $i(t);throw new Ei(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+=Pt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(O(t+i,{size:32})),r.push(s),i+=Pt(s)):n.push(s)}return ji([...n,...r])}function Ji(e){if(!Gr(e))throw new Tn({address:e});return{dynamic:!1,encoded:Ut(e.toLowerCase())}}function Yi(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new Oi(e);if(!r&&e.length!==t)throw new di({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=Ki({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=qi(a);if(r){let t=O(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?ji([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:ji(a.map(({encoded:e})=>e))}}function Xi(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Pt(e);if(!n){let t=e;return r%32!=0&&(t=Ut(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:ji([Ut(O(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new fi({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Ut(e,{dir:`right`})}}function Zi(e){if(typeof e!=`boolean`)throw new T(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Ut(qt(e))}}function Qi(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 Dt({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:O(e,{size:32,signed:t})}}function $i(e){let t=Yt(e),n=Math.ceil(Pt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Ut(Fi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:ji([Ut(O(Pt(t),{size:32})),...r])}}function ea(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Ki({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?qi(r):ji(r.map(({encoded:e})=>e))}}function ta(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var na=o((()=>{Ai(),En(),E(),Mt(),Jr(),Pi(),Gt(),Ft(),Bi(),k(),Ui()}));function ra(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 si({docsPath:ia});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new ci({docsPath:ia});return Ni([r,Wi(i.inputs,n)])}var ia,aa=o((()=>{Ai(),Pi(),na(),ia=`/docs/contract/encodeDeployData`}));E();var oa=class extends T{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`})}},sa=class extends T{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Wr(),Br();function ca(e){return Vr(`0x${zr(`0x${e.substring(4)}`).substring(26)}`)}function la(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 ua(e,t,n){return e&t^~e&n}function da(e,t,n){return e&t^e&n^t&n}var fa,pa,ma,ha,ga=o((()=>{yr(),fa=class extends vr{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=sr(this.buffer)}update(e){rr(this),e=fr(e),tr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=sr(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){rr(this),ir(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,or(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;la(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=sr(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()}},pa=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ma=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),ha=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa=o((()=>{ga(),Xn(),yr(),_a=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]),va=new Uint32Array(64),ya=class extends fa{constructor(e=32){super(64,e,8,!1),this.A=pa[0]|0,this.B=pa[1]|0,this.C=pa[2]|0,this.D=pa[3]|0,this.E=pa[4]|0,this.F=pa[5]|0,this.G=pa[6]|0,this.H=pa[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)va[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=va[e-15],n=va[e-2],r=cr(t,7)^cr(t,18)^t>>>3;va[e]=(cr(n,17)^cr(n,19)^n>>>10)+va[e-7]+r+va[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=cr(o,6)^cr(o,11)^cr(o,25),u=l+t+ua(o,s,c)+_a[e]+va[e]|0,d=(cr(n,2)^cr(n,13)^cr(n,22))+da(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(){or(va)}destroy(){this.set(0,0,0,0,0,0,0,0),or(this.buffer)}},ba=An(`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))),xa=ba[0],Sa=ba[1],Ca=new Uint32Array(80),wa=new Uint32Array(80),Ta=class extends fa{constructor(e=64){super(128,e,16,!1),this.Ah=ha[0]|0,this.Al=ha[1]|0,this.Bh=ha[2]|0,this.Bl=ha[3]|0,this.Ch=ha[4]|0,this.Cl=ha[5]|0,this.Dh=ha[6]|0,this.Dl=ha[7]|0,this.Eh=ha[8]|0,this.El=ha[9]|0,this.Fh=ha[10]|0,this.Fl=ha[11]|0,this.Gh=ha[12]|0,this.Gl=ha[13]|0,this.Hh=ha[14]|0,this.Hl=ha[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)Ca[n]=e.getUint32(t),wa[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Ca[e-15]|0,n=wa[e-15]|0,r=In(t,n,1)^In(t,n,8)^Pn(t,n,7),i=Ln(t,n,1)^Ln(t,n,8)^Fn(t,n,7),a=Ca[e-2]|0,o=wa[e-2]|0,s=In(a,o,19)^Rn(a,o,61)^Pn(a,o,6),c=Ln(a,o,19)^zn(a,o,61)^Fn(a,o,6),l=Kn(i,c,wa[e-7],wa[e-16]);Ca[e]=qn(l,r,s,Ca[e-7],Ca[e-16])|0,wa[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=In(u,d,14)^In(u,d,18)^Rn(u,d,41),v=Ln(u,d,14)^Ln(u,d,18)^zn(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Jn(_,v,b,Sa[e],wa[e]),S=Yn(x,g,t,y,xa[e],Ca[e]),C=x|0,w=In(n,r,28)^Rn(n,r,34)^Rn(n,r,39),ee=Ln(n,r,28)^zn(n,r,34)^zn(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}=jn(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=Wn(C,ee,ne);n=Gn(re,S,w,te),r=re|0}({h:n,l:r}=jn(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=jn(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=jn(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=jn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=jn(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=jn(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=jn(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=jn(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(){or(Ca,wa)}destroy(){or(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ea=class extends Ta{constructor(){super(48),this.Ah=ma[0]|0,this.Al=ma[1]|0,this.Bh=ma[2]|0,this.Bl=ma[3]|0,this.Ch=ma[4]|0,this.Cl=ma[5]|0,this.Dh=ma[6]|0,this.Dl=ma[7]|0,this.Eh=ma[8]|0,this.El=ma[9]|0,this.Fh=ma[10]|0,this.Fl=ma[11]|0,this.Gh=ma[12]|0,this.Gl=ma[13]|0,this.Hh=ma[14]|0,this.Hl=ma[15]|0}},Da=mr(()=>new ya),Oa=mr(()=>new Ta),ka=mr(()=>new Ea)})),ja,Ma,Na=o((()=>{yr(),ja=class extends vr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,nr(e);let n=fr(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),or(i)}update(e){return rr(this),this.iHash.update(e),this}digestInto(e){rr(this),tr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ma=(e,t,n)=>new ja(e,t).update(n).digest(),Ma.create=(e,t)=>new ja(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Pa(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Fa(e){if(!Pa(e))throw Error(`Uint8Array expected`)}function Ia(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function La(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Ra(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?no:BigInt(`0x`+e)}function za(e){if(Fa(e),io)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=ao[e[n]];return t}function Ba(e){if(e>=oo._0&&e<=oo._9)return e-oo._0;if(e>=oo.A&&e<=oo.F)return e-(oo.A-10);if(e>=oo.a&&e<=oo.f)return e-(oo.a-10)}function Va(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(io)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=Ba(e.charCodeAt(i)),a=Ba(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 Ha(e){return Ra(za(e))}function Ua(e){return Fa(e),Ra(za(Uint8Array.from(e).reverse()))}function Wa(e,t){return Va(e.toString(16).padStart(t*2,`0`))}function Ga(e,t){return Wa(e,t).reverse()}function Ka(e,t,n){let r;if(typeof t==`string`)try{r=Va(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Pa(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 qa(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Fa(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 Ja(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 Ya(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Xa(e,t,n){return so(e)&&so(t)&&so(n)&&t<=e&&e<n}function Za(e,t,n,r){if(!Xa(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Qa(e){let t;for(t=0;e>no;e>>=ro,t+=1);return t}function $a(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=lo(e),i=lo(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=lo(0))=>{i=s(uo([0]),e),r=s(),e.length!==0&&(i=s(uo([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 qa(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function eo(e,t,n={}){let r=(t,n,r)=>{let i=fo[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 to(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 no,ro,io,ao,oo,so,co,lo,uo,fo,po=o((()=>{no=BigInt(0),ro=BigInt(1),io=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,ao=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),oo={_0:48,_9:57,A:65,F:70,a:97,f:102},so=e=>typeof e==`bigint`&&no<=e,co=e=>(ro<<BigInt(e))-ro,lo=e=>new Uint8Array(e),uo=e=>Uint8Array.from(e),fo={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`||Pa(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 mo(e,t){let n=e%t;return n>=Ao?n:t+n}function ho(e,t,n){let r=e;for(;t-->Ao;)r*=r,r%=n;return r}function go(e,t){if(e===Ao)throw Error(`invert: expected non-zero number`);if(t<=Ao)throw Error(`invert: expected positive modulus, got `+t);let n=mo(e,t),r=t,i=Ao,a=jo,o=jo,s=Ao;for(;n!==Ao;){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!==jo)throw Error(`invert: does not exist`);return mo(i,t)}function _o(e,t){let n=(e.ORDER+jo)/Po,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function vo(e,t){let n=(e.ORDER-Fo)/Io,r=e.mul(t,Mo),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Mo),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 yo(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-jo,n=0;for(;t%Mo===Ao;)t/=Mo,n++;let r=Mo,i=Eo(e);for(;wo(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return _o;let a=i.pow(r,t),o=(t+jo)/Mo;return function(e,r){if(e.is0(r))return r;if(wo(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=jo<<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 bo(e){return e%Po===No?_o:e%Io===Fo?vo:yo(e)}function xo(e){return eo(e,Lo.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function So(e,t,n){if(n<Ao)throw Error(`invalid exponent, negatives unsupported`);if(n===Ao)return e.ONE;if(n===jo)return t;let r=e.ONE,i=t;for(;n>Ao;)n&jo&&(r=e.mul(r,i)),i=e.sqr(i),n>>=jo;return r}function Co(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 wo(e,t){let n=(e.ORDER-jo)/Mo,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 To(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 Eo(e,t,n=!1,r={}){if(e<=Ao)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=To(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:co(i),ZERO:Ao,ONE:jo,create:t=>mo(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Ao<=t&&t<e},is0:e=>e===Ao,isOdd:e=>(e&jo)===jo,neg:t=>mo(-t,e),eql:(e,t)=>e===t,sqr:t=>mo(t*t,e),add:(t,n)=>mo(t+n,e),sub:(t,n)=>mo(t-n,e),mul:(t,n)=>mo(t*n,e),pow:(e,t)=>So(s,e,t),div:(t,n)=>mo(t*go(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>go(t,e),sqrt:r.sqrt||(t=>(o||=bo(e),o(s,t))),toBytes:e=>n?Ga(e,a):Wa(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?Ua(e):Ha(e)},invertBatch:e=>Co(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Do(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Oo(e){let t=Do(e);return t+Math.ceil(t/2)}function ko(e,t,n=!1){let r=e.length,i=Do(t),a=Oo(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=mo(n?Ua(e):Ha(e),t-jo)+jo;return n?Ga(o,i):Wa(o,i)}var Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro=o((()=>{yr(),po(),Ao=BigInt(0),jo=BigInt(1),Mo=BigInt(2),No=BigInt(3),Po=BigInt(4),Fo=BigInt(5),Io=BigInt(8),Lo=[`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 zo(e,t){let n=t.negate();return e?n:t}function Bo(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Vo(e,t){Bo(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:co(e),maxNumber:i,shiftBy:BigInt(e)}}function Ho(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+=Xo);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 Uo(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 Wo(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 Go(e){return Qo.get(e)||1}function Ko(e,t){return{constTimeNegate:zo,hasPrecomputes(e){return Go(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Yo;)n&Xo&&(r=r.add(i)),i=i.double(),n>>=Xo;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Vo(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=Vo(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Ho(i,e,s);i=t,c?o=o.add(zo(u,r[d])):a=a.add(zo(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=Vo(n,t);for(let e=0;e<o.windows&&i!==Yo;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=Ho(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=Zo.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Zo.set(t,n(r))),r},wNAFCached(e,t,n){let r=Go(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Go(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Bo(n,t),Qo.set(e,n),Zo.delete(e)}}}function qo(e,t,n,r){Uo(n,e),Wo(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=Qa(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=co(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 Jo(e){return xo(e.Fp),eo(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...To(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Yo,Xo,Zo,Qo,$o=o((()=>{Ro(),po(),Yo=BigInt(0),Xo=BigInt(1),Zo=new WeakMap,Qo=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction es(e){e.lowS!==void 0&&Ia(`lowS`,e.lowS),e.prehash!==void 0&&Ia(`prehash`,e.prehash)}function ts(e){let t=Jo(e);eo(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 ns(e,t){return za(Wa(e,t))}function rs(e){let t=ts(e),{Fp:n}=t,r=Eo(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return qa(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,fs),ps),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 Xa(e,M,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Pa(e)&&(e=za(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:Ha(Ka(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=mo(o,a)),Za(`private key`,o,M,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=to((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=to(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=Co(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(Ka(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return qo(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,fs),{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,fs),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;Za(`scalar`,e,us,i);let a=h.ZERO;if(e===us)return a;if(this.is0()||e===M)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>us||l>us;)s&M&&(u=u.add(f)),l&M&&(d=d.add(f)),f=f.double(),s>>=M,l>>=M;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;Za(`scalar`,e,M,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===us||t===M||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===M)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===M?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Ia(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Ia(`isCompressed`,e),za(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=Ko(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function is(e){let t=Jo(e);return eo(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function as(e){let t=is(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return mo(e,r)}function l(e){return go(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=rs({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=qa;return Ia(`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=Ha(i);if(!Xa(e,M,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&M)===M;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>M}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>Ha(e.slice(t,n));class _{constructor(e,t,n){Za(`r`,e,M,r),Za(`s`,t,M,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=Ka(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=ls.toSig(Ka(`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(Ka(`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+ns(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 Va(this.toDERHex())}toDERHex(){return ls.hexFromSig(this)}toCompactRawBytes(){return Va(this.toCompactHex())}toCompactHex(){let e=i;return ns(this.r,e)+ns(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Oo(t.n);return ko(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=Ka(`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=Ha(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=co(a);function ee(e){return Za(`num < 2^`+a,e,us,w),Wa(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=Ka(`msgHash`,e),es(i),f&&(e=Ka(`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(Ka(`extraEntropy`,e))}let x=qa(...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===us)return;let a=c(n*c(w+i*y));if(a===us)return;let o=(r.x===i?0:2)|Number(r.y&M),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:te}}let ne={lowS:t.lowS,prehash:!1},re={lowS:t.lowS,prehash:!1};function T(e,n,r=ne){let{seed:i,k2sig:a}=te(e,n,r),o=t;return $a(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function E(e,n,r,i=re){let a=e;n=Ka(`msgHash`,n),r=Ka(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(es(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`||Pa(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 ls.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:T,verify:E,ProjectivePoint:u,Signature:_,utils:v}}function os(e,t){let n=e.ORDER,r=us;for(let e=n-M;e%ds===us;e/=ds)r+=M;let i=r,a=ds<<i-M-M,o=a*ds,s=(n-M)/o,c=(s-M)/ds,l=o-M,u=a,d=e.pow(t,s),f=e.pow(t,(s+M)/ds),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>M;t--){let n=t-ds;n=ds<<n-M;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%ps===fs){let n=(e.ORDER-fs)/ps,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 ss(e,t){if(xo(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=os(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=Co(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var cs,ls,us,M,ds,fs,ps,ms=o((()=>{$o(),Ro(),po(),cs=class extends Error{constructor(e=``){super(e)}},ls={Err:cs,_tlv:{encode:(e,t)=>{let{Err:n}=ls;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=La(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?La(i.length/2|128):``;return La(e)+a+i+t},decode(e,t){let{Err:n}=ls,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}=ls;if(e<us)throw new t(`integer: negative integers are not allowed`);let n=La(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}=ls;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 Ha(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=ls,i=Ka(`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}=ls,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},us=BigInt(0),M=BigInt(1),ds=BigInt(2),fs=BigInt(3),ps=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction hs(e){return{hash:e,hmac:(t,...n)=>Ma(e,t,pr(...n)),randomBytes:hr}}function gs(e,t){let n=t=>as({...e,...hs(t)});return{...n(t),create:n}}var _s=o((()=>{Na(),yr(),ms()}));function vs(e,t){if(bs(e),bs(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 ys(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 bs(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function xs(e,t,n,r){Fa(e),Fa(t),bs(n),t.length>255&&(t=r(qa(Ya(`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=qa(t,vs(t.length,1)),c=vs(0,a),l=vs(n,2),u=Array(o),d=r(qa(c,e,l,vs(0,1),s));u[0]=r(qa(d,vs(1,1),s));for(let e=1;e<=o;e++)u[e]=r(qa(ys(d,u[e-1]),vs(e+1,1),s));return qa(...u).slice(0,n)}function Ss(e,t,n,r,i){if(Fa(e),Fa(t),bs(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(Ya(`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(vs(n,2)).update(t).update(vs(t.length,1)).digest()}function Cs(e,t,n){eo(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;Fa(e),bs(t);let l=typeof c==`string`?Ya(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=xs(e,l,f,o);else if(s===`xof`)p=Ss(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=mo(Es(p.subarray(i,i+d)),r)}m[e]=t}return m}function ws(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]=Co(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Ts(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=Cs(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(Cs(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 Es,Ds=o((()=>{Ro(),po(),Es=Ha})),Os=c({encodeToCurve:()=>ic,hashToCurve:()=>rc,schnorr:()=>$s,secp256k1:()=>Ws,secp256k1_hasher:()=>nc});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ks(e){let t=Ls,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=ho(ho(ho(u,n,t)*u%t,n,t)*u%t,Vs,t)*l%t,f=ho(d,i,t)*d%t,p=ho(f,a,t)*f%t,m=ho(p,s,t)*p%t,h=ho(ho(ho(ho(ho(ho(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,Vs,t);if(!Us.eql(Us.sqr(h),e))throw Error(`Cannot find square root`);return h}function As(e,...t){let n=Gs[e];if(n===void 0){let t=Da(Uint8Array.from(e,e=>e.charCodeAt(0)));n=qa(t,t),Gs[e]=n}return Da(qa(n,...t))}function js(e){let t=Ws.utils.normPrivateKeyToScalar(e),n=Xs.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Ys(-t),bytes:Ks(n)}}function Ms(e){Za(`x`,e,Bs,Ls);let t=ks(Js(Js(e*e)*e+BigInt(7)));t%Vs!==zs&&(t=Js(-t));let n=new Xs(e,t,Bs);return n.assertValidity(),n}function Ns(...e){return Ys(Qs(As(`BIP0340/challenge`,...e)))}function Ps(e){return js(e).bytes}function Fs(e,t,n=hr(32)){let r=Ka(`message`,e),{bytes:i,scalar:a}=js(t),o=Ys(Qs(As(`BIP0340/nonce`,qs(a^Qs(As(`BIP0340/aux`,Ka(`auxRand`,n,32)))),i,r)));if(o===zs)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=js(o),l=Ns(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(qs(Ys(c+l*a)),32),!Is(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Is(e,t,n){let r=Ka(`signature`,e,64),i=Ka(`message`,t),a=Ka(`publicKey`,n,32);try{let e=Ms(Qs(a)),t=Qs(r.subarray(0,32));if(!Xa(t,Bs,Ls))return!1;let n=Qs(r.subarray(32,64));if(!Xa(n,Bs,Rs))return!1;let o=Zs(e,n,Ys(-Ns(qs(t),Ks(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac=o((()=>{Aa(),yr(),_s(),Ds(),Ro(),po(),ms(),Ls=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Rs=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),zs=BigInt(0),Bs=BigInt(1),Vs=BigInt(2),Hs=(e,t)=>(e+t/Vs)/t,Us=Eo(Ls,void 0,void 0,{sqrt:ks}),Ws=gs({a:zs,b:BigInt(7),Fp:Us,n:Rs,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Rs,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-Bs*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=Hs(a*e,t),c=Hs(-r*e,t),l=mo(e-s*n-c*i,t),u=mo(-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}}}},Da),Gs={},Ks=e=>e.toRawBytes(!0).slice(1),qs=e=>Wa(e,32),Js=e=>mo(e,Ls),Ys=e=>mo(e,Rs),Xs=Ws.ProjectivePoint,Zs=(e,t,n)=>Xs.BASE.multiplyAndAddUnsafe(e,t,n),Qs=Ha,$s={getPublicKey:Ps,sign:Fs,verify:Is,utils:{randomPrivateKey:Ws.utils.randomPrivateKey,lift_x:Ms,pointToBytes:Ks,numberToBytesBE:Wa,bytesToNumberBE:Ha,taggedHash:As,mod:mo}},ec=ws(Us,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),tc=ss(Us,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:Us.create(BigInt(`-11`))}),nc=Ts(Ws.ProjectivePoint,e=>{let{x:t,y:n}=tc(Us.create(e[0]));return ec(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:Us.ORDER,m:1,k:128,expand:`xmd`,hash:Da}),rc=nc.hashToCurve,ic=nc.encodeToCurve}));Nt(),Ft(),dn(),k();async function oc({hash:e,signature:t}){let n=D(e)?e:Kt(e),{secp256k1:r}=await Promise.resolve().then(()=>(ac(),Os));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=sc(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:Kt(t);if(Pt(e)!==65)throw Error(`invalid signature length`);let n=sc(un(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function sc(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 cc({hash:e,signature:t}){return ca(await oc({hash:e,signature:t}))}var lc,uc,dc,fc=o((()=>{E(),lc=class extends T{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},uc=class extends T{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},dc=class extends T{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function pc(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(mc);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var mc,hc=o((()=>{fc(),mc={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 dc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new uc({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new lc({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 lc({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++}}}));E(),hc(),sn(),k();function gc(e,t=`hex`){let n=_c(e),r=pc(new Uint8Array(n.length));return n.encode(r),t===`hex`?Jt(r.bytes):r.bytes}function _c(e){return Array.isArray(e)?vc(e.map(e=>_c(e))):yc(e)}function vc(e){let t=e.reduce((e,t)=>e+t.length,0),n=bc(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 yc(e){let t=typeof e==`string`?tn(e):e,n=bc(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 bc(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 T(`Length is too large.`)}Pi(),sn(),k(),Br();function xc(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=zr(Ni([`0x05`,gc([t?O(t):`0x`,i,n?O(n):`0x`])]));return r===`bytes`?tn(a):a}async function Sc(e){let{authorization:t,signature:n}=e;return cc({hash:xc(t),signature:n??t})}var Cc,wc,Tc,Ec,Dc,Oc=o((()=>{E(),Cc=class extends T{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`})}},wc=class extends T{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`})}},Tc=class extends T{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`})}},Ec=class extends T{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Dc=class extends T{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));Oc();function kc({chain:e,currentChainId:t}){if(!e)throw new Tc;if(t!==e.id)throw new wc({chain:e,currentChainId:t})}async function Ac(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}dn();async function jc(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 j(e,$r,`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):j(e,$r,`getBlock`)({}),j(e,Ac,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new ae;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Mc(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 ie;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await j(e,$r,`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 ae;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await jc(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 j(e,Ac,`getGasPrice`)({}))}}xe(),w(),E(),Ne();var Nc=class extends T{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=Se({from:t?.address,to:u,value:d!==void 0&&`${be(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${C(o)} gwei`,maxFeePerGas:s!==void 0&&`${C(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${C(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}};ye(),Ct();function Pc(e,{docsPath:t,...n}){return new Nc((()=>{let t=St(e,n);return t instanceof ve?e:t})(),{docsPath:t,...n})}function Fc(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function Ic(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+=Fc(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=Fc(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var Lc,Rc,zc=o((()=>{E(),Lc=class extends T{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},Rc=class extends T{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function Bc(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Bt({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Bt({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function Vc(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=O(t)),n!==void 0&&(o.nonce=O(n)),r!==void 0&&(o.state=Bc(r)),i!==void 0){if(o.state)throw new Rc;o.stateDiff=Bc(i)}return o}function Hc(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Gr(n,{strict:!1}))throw new Tn({address:n});if(t[n])throw new Lc({address:n});t[n]=Vc(r)}return t}var Uc=o((()=>{En(),Vt(),zc(),Jr(),k()}));p(),E(),k(),Et(),Sn(),Uc(),Xr();async function Wc(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?f(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 Sc({authorization:t.authorizationList[0]}).catch(()=>{throw new T(\"`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 ul(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?O(u):void 0)||d,C=Hc(b);Yr(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||vn)({...Tt(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 Pc(n,{...t,account:i,chain:e.chain})}}function Gc(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new T(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?O(n):r??`latest`}var Kc=o((()=>{E(),k()}));Kc(),dn();async function qc(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Gc({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return un(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}sn(),k();function Jc(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=>tn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Jt(e))}sn(),k();function Yc(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=>tn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>tn(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=>Jt(e))}Aa();let Xc=Da;Nt(),sn(),k();function Zc(e,t){let n=t||`hex`,r=Xc(D(e,{strict:!1})?Qt(e):e);return n===`bytes`?r:Kt(r)}k();function Qc(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Zc(t,`bytes`);return i.set([n],0),r===`bytes`?i:Jt(i)}function $c(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Qc({commitment:e,to:r,version:n}));return i}E();var el=class extends T{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},tl=class extends T{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},nl=class extends T{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},rl=class extends T{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};hc(),Ft(),sn(),k();function il(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?tn(e.data):e.data,r=Pt(n);if(!r)throw new tl;if(r>761855)throw new el({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=pc(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=>Jt(e.bytes))}function al(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??il({data:t,to:r}),a=e.commitments??Jc({blobs:i,kzg:n,to:r}),o=e.proofs??Yc({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}Ne();function ol(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 we({transaction:e})}p(),On(),Xr();let sl=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],cl=new Map,ll=new Dn(128);async function ul(e,t){let n=t;n.account??=e.account,n.parameters??=sl;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 j(e,ei,`getChainId`)({}),c):n.chainId)}let u=r&&f(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let p=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||ll.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await j(e,ti,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return ll.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}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...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`)})&&ll.set(e.uid,!1),n}):n;d??=p.nonce,n={...p,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:m,gas:h,kzg:g,type:_}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let v;async function y(){return v||(v=await j(e,$r,`getBlock`)({blockTag:`latest`}),v)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await j(e,qc,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&m&&g){let e=Jc({blobs:m,kzg:g});if(o.includes(`blobVersionedHashes`)){let t=$c({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=al({blobs:m,commitments:e,proofs:Yc({blobs:m,commitments:e,kzg:g}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&_===void 0)try{n.type=ol(n)}catch{let t=cl.get(e.uid);t===void 0&&(t=typeof(await y())?.baseFeePerGas==`bigint`,cl.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 Mc(e,{block:await y(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new oe({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new ae;if(n.gasPrice===void 0){let{gasPrice:t}=await Mc(e,{block:await y(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&h===void 0&&(n.gas=await j(e,Wc,`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`})),Yr(n),delete n.parameters,n}async function dl(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}p(),E(),Pi(),Et(),Sn(),On(),Xr();let fl=new Dn(128);async function pl(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:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,type:_,value:v,...y}=t;if(n===void 0)throw new oa({docsPath:`/docs/actions/wallet/sendTransaction`});let b=n?f(n):null,x;try{Yr(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Sc({authorization:o[0]}).catch(()=>{throw new T(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(b?.type===`json-rpc`||b===null){let t;i!==null&&(t=await j(e,ei,`getChainId`)({}),r&&kc({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,x=(f||vn)({...Tt(y,{format:f}),accessList:a,account:b,authorizationList:o,blobs:s,chainId:t,data:l?ji([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:_,value:v},`sendTransaction`),S=fl.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=>(fl.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(fl.set(e.uid,!1),n):r});throw n}}if(b?.type===`local`){if(b.nonceManager&&g===void 0){let t=y.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:j(e,ei,`getChainId`)({}))();x={address:b.address,chainId:n}}let t=await j(e,ul,`prepareTransactionRequest`)({account:b,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?ji([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:b.nonceManager,parameters:[...sl,`sidecars`],type:_,value:v,...y,to:n}),r=i?.serializers?.transaction,f=await b.signTransaction(t,{serializer:r});return await j(e,dl,`sendRawTransaction`)({serializedTransaction:f})}throw b?.type===`smart`?new sa({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sa({docsPath:`/docs/actions/wallet/sendTransaction`,type:b?.type})}catch(e){throw e instanceof sa?e:(x&&b?.nonceManager?.reset(x),wt(e,{...t,account:b,chain:t.chain||void 0}))}}aa();function ml(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=ra({abi:n,args:r,bytecode:i});return pl(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Wr();async function hl(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Vr(e))}function gl(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}:{}}}dn(),pn();let _l={\"0x0\":`reverted`,\"0x1\":`success`};function vl(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=>gl(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?un(e.transactionIndex):null,status:e.status?_l[e.status]:null,type:e.type?mn[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let yl=fn(`transactionReceipt`,vl);function bl(e){return xl(e)}var xl,Sl=o((()=>{sn(),Br(),xl=e=>zr(Qt(e))}));function Cl(e,t){return e.exec(t)?.groups}var wl,Tl,El,Dl=o((()=>{wl=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Tl=/^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)?$/,El=/^\\(.+?\\).*?$/}));function Ol(e){let t=e.type;if(kl.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+=Ol(i),r<n-1&&(t+=`, `)}let r=Cl(kl,e.type);return t+=`)${r?.array||``}`,Ol({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var kl,Al=o((()=>{Dl(),kl=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function jl(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Ol(i),r!==n-1&&(t+=`, `)}return t}var Ml=o((()=>{Al()}));function Nl(e){return e.type===`function`?`function ${e.name}(${jl(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${jl(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${jl(e.inputs)})`:e.type===`error`?`error ${e.name}(${jl(e.inputs)})`:e.type===`constructor`?`constructor(${jl(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Pl=o((()=>{Ml()}));function Fl(e){return Jl.test(e)}function Il(e){return Cl(Jl,e)}function Ll(e){return Yl.test(e)}function Rl(e){return Cl(Yl,e)}function zl(e){return Xl.test(e)}function Bl(e){return Cl(Xl,e)}function Vl(e){return Zl.test(e)}function Hl(e){return Cl(Zl,e)}function Ul(e){return Ql.test(e)}function Wl(e){return Cl(Ql,e)}function Gl(e){return $l.test(e)}function Kl(e){return Cl($l,e)}function ql(e){return eu.test(e)}var Jl,Yl,Xl,Zl,Ql,$l,eu,tu,nu,ru=o((()=>{Dl(),Jl=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Yl=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Xl=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Zl=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Ql=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,$l=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,eu=/^receive\\(\\) external payable$/,tu=new Set([`indexed`]),nu=new Set([`calldata`,`memory`,`storage`])})),iu,au=o((()=>{iu=`1.2.3`})),ou,su=o((()=>{au(),ou=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@${iu}`].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}}})),cu,lu,uu=o((()=>{su(),cu=class extends ou{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`})}},lu=class extends ou{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`})}}})),du,fu,pu,mu,hu,gu=o((()=>{su(),du=class extends ou{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},fu=class extends ou{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`})}},pu=class extends ou{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`})}},mu=class extends ou{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`})}},hu=class extends ou{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`})}}})),_u,vu,yu,bu=o((()=>{su(),_u=class extends ou{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},vu=class extends ou{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},yu=class extends ou{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`})}}})),xu,Su=o((()=>{su(),xu=class extends ou{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`})}}})),Cu,wu=o((()=>{su(),Cu=class extends ou{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 Tu(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 Eu,Du=o((()=>{Eu=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 Ou(e,t={}){if(zl(e))return ku(e,t);if(Ll(e))return Au(e,t);if(Fl(e))return ju(e,t);if(Ul(e))return Mu(e,t);if(Gl(e))return Nu(e);if(ql(e))return{type:`receive`,stateMutability:`payable`};throw new vu({signature:e})}function ku(e,t={}){let n=Bl(e);if(!n)throw new _u({signature:e,type:`function`});let r=Fu(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Pu(r[e],{modifiers:nu,structs:t,type:`function`}));let o=[];if(n.returns){let e=Fu(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Pu(e[n],{modifiers:nu,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function Au(e,t={}){let n=Rl(e);if(!n)throw new _u({signature:e,type:`event`});let r=Fu(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Pu(r[e],{modifiers:tu,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function ju(e,t={}){let n=Il(e);if(!n)throw new _u({signature:e,type:`error`});let r=Fu(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Pu(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function Mu(e,t={}){let n=Wl(e);if(!n)throw new _u({signature:e,type:`constructor`});let r=Fu(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Pu(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function Nu(e){let t=Kl(e);if(!t)throw new _u({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Pu(e,t){let n=Tu(e,t?.type,t?.structs);if(Eu.has(n))return Eu.get(n);let r=El.test(e),i=Cl(r?Bu:zu,e);if(!i)throw new du({param:e});if(i.name&&Lu(i.name))throw new fu({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=Fu(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Pu(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Vu.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Iu(c))throw new lu({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new pu({param:e,type:t?.type,modifier:i.modifier});if(nu.has(i.modifier)&&!Ru(c,!!i.array))throw new mu({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Eu.set(n,u),u}function Fu(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?Fu(o,[...t,n.trim()]):Fu(o,t,`${n}${i}`,r);case`(`:return Fu(o,t,`${n}${i}`,r+1);case`)`:return Fu(o,t,`${n}${i}`,r-1);default:return Fu(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Cu({current:n,depth:r});return t.push(n.trim()),t}function Iu(e){return e===`address`||e===`bool`||e===`function`||e===`string`||wl.test(e)||Tl.test(e)}function Lu(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||wl.test(e)||Tl.test(e)||Hu.test(e)}function Ru(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var zu,Bu,Vu,Hu,Uu=o((()=>{Dl(),uu(),gu(),bu(),wu(),Du(),ru(),zu=/^(?<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$_]*))?$/,Bu=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Vu=/^u?int$/,Hu=/^(?: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 Wu(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Vl(n))continue;let i=Hl(n);if(!i)throw new _u({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=Pu(t,{type:`struct`});o.push(n)}if(!o.length)throw new yu({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]=Gu(a,t)}return r}function Gu(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(El.test(i.type))r.push(i);else{let e=Cl(Ku,i.type);if(!e?.type)throw new hu({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new xu({type:o});r.push({...i,type:`tuple${a??``}`,components:Gu(t[o],t,new Set([...n,o]))})}else if(Iu(o))r.push(i);else throw new cu({type:o})}}return r}var Ku,qu=o((()=>{Dl(),uu(),gu(),bu(),Su(),ru(),Uu(),Ku=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Ju(e){let t=Wu(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Vl(r)||n.push(Ou(r,t))}return n}var Yu=o((()=>{ru(),qu(),Uu()})),Xu=o((()=>{Pl(),Yu()}));function Zu(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 T(`Unable to normalize signature.`);return i}var Qu=o((()=>{E()})),$u,ed=o((()=>{Xu(),Qu(),$u=e=>Zu(typeof e==`string`?e:Nl(e))}));function td(e){return bl($u(e))}var nd=o((()=>{Sl(),ed()})),rd,id=o((()=>{Bi(),nd(),rd=e=>Fi(td(e),0,4)})),ad,od=o((()=>{nd(),ad=td}));function sd(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?rd(e)===r:e.type===`event`?ad(e)===r:!1:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?cd(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=ld(e.inputs,o.inputs,n);if(t)throw new Si({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function cd(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Gr(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`&&cd(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=>cd(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function ld(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 ld(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`))&&Gr(n[r],{strict:!1}))return o}}var ud=o((()=>{Ai(),Nt(),Jr(),od(),id()}));function dd(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=sd({abi:t,args:n,name:r});if(!e)throw new yi(r,{docsPath:fd});i=e}if(i.type!==`function`)throw new yi(void 0,{docsPath:fd});return{abi:[i],functionName:rd(ri(i))}}var fd,pd=o((()=>{Ai(),id(),oi(),ud(),fd=`/docs/contract/encodeFunctionData`}));function md(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:dd(e),i=n[0];return Ni([r,(`inputs`in i&&i.inputs?Wi(i.inputs,t??[]):void 0)??`0x`])}var hd=o((()=>{Pi(),na(),pd()}));p(),E(),xt(),hd(),Pi(),dn(),k();let gd=O(0,{size:32});async function _d(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?f(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?md({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?ji([n,t.dataSuffix]):n,to:t.to,value:t.value?O(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:O(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 ft(new T(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new vt(new T(e,{details:e}))}let t=[];for(let n of d){try{let i=await pl(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:ji([...t.map(e=>e.status===`fulfilled`?e.value:gd),O(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw wt(n,{...t,account:l,chain:t.chain})}}Bi(),Lt(),dn();async function vd(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=It(zi(t,-64,-32)),r=zi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>gd.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:un(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?un(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:_l[e.status]}))??[],statusCode:l,status:c,version:o}}p(),k();async function yd(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?f(n):void 0,a=r?[i?.address,[O(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 bd(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}function xd(e,t){if(!Gr(e,{strict:!1}))throw new Tn({address:e});if(!Gr(t,{strict:!1}))throw new Tn({address:t});return e.toLowerCase()===t.toLowerCase()}var Sd=o((()=>{En(),Jr()}));p(),Sd();async function Cd(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new oa({docsPath:`/docs/eip7702/prepareAuthorization`});let a=f(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:f(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await j(e,ei,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await j(e,qc,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&xd(o.address,a.address))&&(s.nonce+=1)),s}Wr();async function wd(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Hr(e))}async function Td(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}E();var Ed=class extends T{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}};let Dd=new Map,Od=new Map,kd=0;function Ad(e,t,n){let r=++kd,i=()=>Dd.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Dd.delete(e),Od.delete(e);return}Dd.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Od.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Dd.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`&&Od.set(e,l),o}Be();async function jd(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Ie(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Ie(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Md(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await jd(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await jd(r),s())};s()})(),a}function Nd(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Pd=o((()=>{}));Be();function Fd(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(Ie(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await jd(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Ie(i));return}if(Le(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}E(),Pd(),Fe();async function Id(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=Pe([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=Nd(),p,m=Ad(l,{resolve:d,reject:f},t=>{let s=Md(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await Fd(async()=>{let t=await j(e,vd,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Ed(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 Ld({id:n}))},s):void 0,await u}var Ld=class extends T{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};async function Rd(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await j(e,_d,`sendCalls`)(t);return await j(e,Id,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}Ne();async function zd(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||vl)(i);if(a.status===`reverted`&&n)throw new je({receipt:a});return a}Ne(),k();async function Bd(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:O(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,O(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,O(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,O(s)]},{dedupe:!0})),!u)throw new ke({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||hn)(u,`getTransaction`)}Ne();async function Vd(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Ae({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||vl)(n,`getTransactionReceipt`)}let Hd=new Map,Ud=new Map;function Wd(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,Hd),r=t(e,Ud);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function Gd(e,{cacheKey:t,cacheTime:n=1/0}){let r=Wd(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 Kd=e=>`blockNumber.${e}`;async function qd(e,{cacheTime:t=e.cacheTime}={}){let n=await Gd(()=>e.request({method:`eth_blockNumber`}),{cacheKey:Kd(e.uid),cacheTime:t});return BigInt(n)}dn(),Fe();function Jd(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?Ad(Pe([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>Md(async()=>{try{let t=await j(e,qd,`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})):Ad(Pe([`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()})}Ne(),Pd(),Fe();async function Yd(e,t){let{checkReplacement:n=!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=Pe([`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}=Nd(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Me({hash:i}))},c):void 0;return h=Ad(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await j(e,Vd,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=j(e,Jd,`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 Fd(async()=>{d=await j(e,Bd,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await j(e,Vd,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof ke||n instanceof Ae){if(!d){m=!1;return}try{f=d,m=!0;let n=await Fd(()=>j(e,$r,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof Zr});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await j(e,Vd,`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))}}})}),_}p(),E(),Ne(),Pi(),Et(),Sn(),On(),Xr();let Xd=new Dn(128);async function Zd(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:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,pollingInterval:_,throwOnReceiptRevert:v,type:y,value:b,...x}=t,S=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new oa({docsPath:`/docs/actions/wallet/sendTransactionSync`});let C=n?f(n):null,w;try{Yr(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Sc({authorization:o[0]}).catch(()=>{throw new T(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(C?.type===`json-rpc`||C===null){let t;i!==null&&(t=await j(e,ei,`getChainId`)({}),r&&kc({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,w=(f||vn)({...Tt(x,{format:f}),accessList:a,account:C,authorizationList:o,blobs:s,chainId:t,data:l?ji([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:y,value:b},`sendTransaction`),ee=Xd.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=>(Xd.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Xd.set(e.uid,!1),n):r});throw n}})(),re=await j(e,Yd,`waitForTransactionReceipt`)({checkReplacement:!1,hash:ne,pollingInterval:_,timeout:S});if(v&&re.status===`reverted`)throw new je({receipt:re});return re}if(C?.type===`local`){if(C.nonceManager&&g===void 0){let t=x.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:j(e,ei,`getChainId`)({}))();w={address:C.address,chainId:n}}let r=await j(e,ul,`prepareTransactionRequest`)({account:C,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?ji([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:C.nonceManager,parameters:[...sl,`sidecars`],type:y,value:b,...x,to:n}),f=i?.serializers?.transaction,_=await C.signTransaction(r,{serializer:f});return await j(e,zd,`sendRawTransactionSync`)({serializedTransaction:_,throwOnReceiptRevert:v,timeout:t.timeout})}throw C?.type===`smart`?new sa({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sa({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:C?.type})}catch(e){throw e instanceof sa?e:(w&&!(e instanceof je)&&C?.nonceManager?.reset(w),wt(e,{...t,account:C,chain:t.chain||void 0}))}}async function Qd(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}p();async function $d(e,t){let{account:n=e.account}=t;if(!n)throw new oa({docsPath:`/docs/eip7702/signAuthorization`});let r=f(n);if(!r.signAuthorization)throw new sa({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Cd(e,t);return r.signAuthorization(i)}p(),k();async function ef(e,{account:t=e.account,message:n}){if(!t)throw new oa({docsPath:`/docs/actions/wallet/signMessage`});let r=f(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Yt(n):n.raw instanceof Uint8Array?Kt(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}p(),k(),Sn(),Xr();async function tf(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new oa({docsPath:`/docs/actions/wallet/signTransaction`});let a=f(n);Yr({account:a,...t});let o=await j(e,ei,`getChainId`)({});r!==null&&kc({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||vn;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:O(o),from:a.address}]},{retryCount:0})}Fe(),E();var nf=class extends T{constructor({domain:e}){super(`Invalid domain \"${Pe(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},rf=class extends T{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`.\"]})}},af=class extends T{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};na(),Pi(),k(),Br();function of(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:gf({domain:t}),...e.types};hf({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(sf({domain:t,types:i})),r!==`EIP712Domain`&&a.push(cf({data:n,primaryType:r,types:i})),zr(ji(a))}function sf({domain:e,types:t}){return cf({data:e,primaryType:`EIP712Domain`,types:t})}function cf({data:e,primaryType:t,types:n}){return zr(lf({data:e,primaryType:t,types:n}))}function lf({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[uf({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=pf({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Wi(r,i)}function uf({primaryType:e,types:t}){return zr(Kt(df({primaryType:e,types:t})))}function df({primaryType:e,types:t}){let n=``,r=ff({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 ff({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])ff({primaryType:e.type,types:t},n);return n}function pf({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},zr(lf({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},zr(r)];if(n===`string`)return[{type:`bytes32`},zr(Kt(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>pf({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},zr(Wi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}Ai(),En(),Jr(),Ft(),k(),Ui(),Fe();function mf(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 Pe({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function hf(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(Hi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;O(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Gr(o))throw new Tn({address:o});let c=r.match(Vi);if(c){let[e,t]=c;if(t&&Pt(o)!==Number.parseInt(t,10))throw new Ci({expectedSize:Number.parseInt(t,10),givenSize:Pt(o)})}let l=i[r];l&&(_f(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new nf({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new rf({primaryType:r,types:i})}function gf({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 _f(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new af({type:e})}p();async function vf(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new oa({docsPath:`/docs/actions/wallet/signTypedData`});let o=f(n),s={EIP712Domain:gf({domain:r}),...t.types};if(hf({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=mf({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}k();async function yf(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:O(t)}]},{retryCount:0})}async function bf(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}var xf,Sf,Cf,wf=o((()=>{xf={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.`},Sf={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Cf={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}}));function Tf(e,t={}){return t.size!==void 0&&cn(e,{size:t.size}),A(Jt(e,t),t)}function Ef(e,t={}){let n=e;if(t.size!==void 0&&(cn(n,{size:t.size}),n=It(n)),n.length>1||n[0]>1)throw new Ot(n);return!!n[0]}function Df(e,t={}){return t.size!==void 0&&cn(e,{size:t.size}),un(Jt(e,t),t)}function Of(e,t={}){let n=e;return t.size!==void 0&&(cn(n,{size:t.size}),n=It(n,{dir:`right`})),new TextDecoder().decode(n)}var kf=o((()=>{Mt(),Lt(),dn(),k()}));function Af(e,t){let n=typeof t==`string`?tn(t):t,r=pc(n);if(Pt(n)===0&&e.length>0)throw new ui;if(Pt(t)&&Pt(t)<32)throw new li({data:typeof t==`string`?t:Jt(t),params:e,size:Pt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=jf(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function jf(e,t,{staticPosition:n}){let r=ta(t.type);if(r){let[i,a]=r;return Nf(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Lf(e,t,{staticPosition:n});if(t.type===`address`)return Mf(e);if(t.type===`bool`)return Pf(e);if(t.type.startsWith(`bytes`))return Ff(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return If(e,t);if(t.type===`string`)return Rf(e,{staticPosition:n});throw new Di(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Mf(e){return[Vr(Jt(Ri(e.readBytes(32),-20))),32]}function Nf(e,t,{length:n,staticPosition:r}){if(!n){let n=r+Df(e.readBytes(Vf)),i=n+Bf;e.setPosition(n);let a=Df(e.readBytes(Bf)),o=zf(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=jf(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(zf(t)){let i=r+Df(e.readBytes(Vf)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=jf(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]=jf(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function Pf(e){return[Ef(e.readBytes(32),{size:32}),32]}function Ff(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Df(e.readBytes(32));e.setPosition(n+t);let r=Df(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Jt(i),32]}return[Jt(e.readBytes(Number.parseInt(i,10),32)),32]}function If(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?Tf(i,{signed:n}):Df(i,{signed:n}),32]}function Lf(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(zf(t)){let o=n+Df(e.readBytes(Vf));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=jf(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]=jf(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Rf(e,{staticPosition:t}){let n=t+Df(e.readBytes(32));e.setPosition(n);let r=Df(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Of(It(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function zf(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(zf);let n=ta(e.type);return!!(n&&zf({...e,type:n[1]}))}var Bf,Vf,Hf=o((()=>{Ai(),Wr(),hc(),Ft(),Bi(),Lt(),kf(),sn(),k(),na(),Bf=32,Vf=32}));function Uf(e){let{abi:t,data:n,cause:r}=e,i=Fi(n,0,4);if(i===`0x`)throw new ui({cause:r});let a=[...t||[],Sf,Cf].find(e=>e.type===`error`&&i===rd(ri(e)));if(!a)throw new gi(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Af(a.inputs,Fi(n,4)):void 0,errorName:a.name}}var Wf=o((()=>{wf(),Ai(),Bi(),id(),Hf(),oi()}));function Gf({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`?Pe(t[n]):t[n]}`).join(`, `)})`}var Kf=o((()=>{Fe()})),qf,Jf,Yf,Xf,Zf,Qf,$f=o((()=>{p(),wf(),Wf(),oi(),Kf(),ud(),xe(),w(),Ai(),E(),zc(),Ne(),Be(),qf=class extends T{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:p}){let m=Se({from:(t?f(t):void 0)?.address,to:u,value:d!==void 0&&`${be(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${C(o)} gwei`,maxFeePerGas:s!==void 0&&`${C(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${C(c)} gwei`,nonce:l});p&&(m+=`\\n${Ic(p)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,m].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Jf=class extends T{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=sd({abi:t,args:n,name:a}),c=s?Gf({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?ri(s,{includeName:!0}):void 0,u=Se({address:r&&Re(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}},Yf=class extends T{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Uf({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=xf[e]}else{let e=n?ri(n,{includeName:!0}):void 0,t=n&&a?Gf({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 gi&&(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}},Xf=class extends T{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})}},Zf=class extends T{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`})}},Qf=class extends T{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}}}));Ai(),E(),$f(),We(),xt();function ep(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Qf?e:e instanceof T?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Jf(e instanceof ui?new Xf({functionName:a,cause:e}):[3,Qe.code].includes(c)&&(l||u||d||f)||c===$e.code&&u===`execution reverted`&&l?new Yf({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof He?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}p(),hd();async function N(e,t){return N.internal(e,pl,`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 oa({docsPath:`/docs/contract/writeContract`});let u=a?f(a):null,d=md({abi:i,args:s,functionName:c});try{return await j(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw ep(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(N||={});async function tp(e,t){return N.internal(e,Zd,`sendTransactionSync`,t)}function np(e){return{addChain:t=>ni(e,t),deployContract:t=>ml(e,t),fillTransaction:t=>ti(e,t),getAddresses:()=>hl(e),getCallsStatus:t=>vd(e,t),getCapabilities:t=>yd(e,t),getChainId:()=>ei(e),getPermissions:()=>bd(e),prepareAuthorization:t=>Cd(e,t),prepareTransactionRequest:t=>ul(e,t),requestAddresses:()=>wd(e),requestPermissions:t=>Td(e,t),sendCalls:t=>_d(e,t),sendCallsSync:t=>Rd(e,t),sendRawTransaction:t=>dl(e,t),sendRawTransactionSync:t=>zd(e,t),sendTransaction:t=>pl(e,t),sendTransactionSync:t=>Zd(e,t),showCallsStatus:t=>Qd(e,t),signAuthorization:t=>$d(e,t),signMessage:t=>ef(e,t),signTransaction:t=>tf(e,t),signTypedData:t=>vf(e,t),switchChain:t=>yf(e,t),waitForCallsStatus:t=>Id(e,t),watchAsset:t=>bf(e,t),writeContract:t=>N(e,t),writeContractSync:t=>tp(e,t)}}function rp(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return _({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(np)}On();let ip=new Dn(8192);function ap(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(ip.get(n))return ip.get(n);let r=e().finally(()=>ip.delete(n));return ip.set(n,r),r}E(),We(),xt(),Be(),Fe();function op(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 rt(Error(`method not supported`),{method:u});if(c?.aborted)throw Ie(c);return ap(()=>Fd(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Ie(c);if(Le(e))throw e;let t=e;switch(t.code){case Je.code:throw new Je(t);case Ye.code:throw new Ye(t);case Xe.code:throw new Xe(t,{method:n.method});case Ze.code:throw new Ze(t);case Qe.code:throw new Qe(t);case $e.code:throw new $e(t);case et.code:throw new et(t);case tt.code:throw new tt(t);case nt.code:throw new nt(t);case rt.code:throw new rt(t,{method:n.method});case it.code:throw new it(t);case at.code:throw new at(t);case ot.code:throw new ot(t);case st.code:throw new st(t);case ct.code:throw new ct(t);case lt.code:throw new lt(t);case ut.code:throw new ut(t);case dt.code:throw new dt(t);case ft.code:throw new ft(t);case pt.code:throw new pt(t);case mt.code:throw new mt(t);case ht.code:throw new ht(t);case gt.code:throw new gt(t);case _t.code:throw new _t(t);case vt.code:throw new vt(t);case 5e3:throw new ot(t);case yt.code:throw new yt(t);default:throw e instanceof T?e:new bt(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Ve){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})=>sp(e)}),{enabled:i,id:i?cp(`${l}.${Pe(n)}`):void 0})}}function sp(e){return Le(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===it.code||e.code===Qe.code||e.code===429:e instanceof Ve&&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 cp(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 lp({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=g();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:op(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function up(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>lp({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}E();var dp=class extends T{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};function fp({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=()=>pp.delete(t),s=()=>c().map(({args:e})=>e),c=()=>pp.get(t)||[],l=e=>pp.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=Nd();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 pp,mp=o((()=>{Pd(),pp=new Map}));Be();function hp(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&&Le(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function gp(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let _p=gp();We(),Be(),Fe();function vp(e,t={}){let{url:n,headers:r}=yp(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:s=t.onResponse,timeout:c=t.timeout??1e4}=e,l={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:u,method:d,signal:f}=l;try{let e=await hp(async({signal:e})=>{let t={...l,body:Pe(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??_p.take(),...e})):{jsonrpc:`2.0`,id:i.id??_p.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...u},method:d||`POST`,signal:f||(c>0?e:null)},s=new Request(n,t),p=await o?.(s,t)??{...t,url:n};return await a(p.url??n,p)},{errorInstance:new Ue({body:i,url:n}),timeout:c,signal:!0});s&&await s(e);let t;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=await e.json();else{t=await e.text();try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Ve({body:i,details:Pe(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw f?.aborted?Ie(f):Le(e)||e instanceof Ve||e instanceof Ue?e:new Ve({body:i,cause:e,url:n})}}}}function yp(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}}}We(),mp();let bp=0,xp=new WeakMap;function Sp(e){if(!e)return`default`;let t=xp.get(e);if(t!==void 0)return t;let n=bp++;return xp.set(e,n),n}function Cp(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,methods:o,name:s=`HTTP JSON-RPC`,onFetchRequest:c,onFetchResponse:l,retryDelay:u,raw:d}=t;return({chain:f,retryCount:p,timeout:m})=>{let{batchSize:h=1e3,wait:g=0}=typeof n==`object`?n:{},_=t.retryCount??p,v=m??t.timeout??1e4,y=e||f?.rpcUrls.default.http[0];if(!y)throw new dp;let b=vp(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return lp({key:a,methods:o,name:s,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=fp({id:`${y}.${Sp(r?.signal)}`,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await b.request({body:e,fetchOptions:a})])(i);if(d)return{error:s,result:c};if(s)throw new He({body:i,error:s,url:y});return c},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}var wp,Tp,Ep,Dp,Op,kp=o((()=>{wp=[{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`}],Tp=[{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`}]}],Ep=[{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`}],[...Ep],[...Ep],Dp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Op=[{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`}]}));function Ap(e){let{abi:t,data:n}=e,r=Fi(n,0,4),i=t.find(e=>e.type===`function`&&r===rd(ri(e)));if(!i)throw new xi(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Af(i.inputs,Fi(n,4)):void 0}}var jp=o((()=>{Ai(),Bi(),id(),Hf(),oi()}));Ai(),fc(),Ft(),od(),Hf(),oi();let Mp=`/docs/contract/decodeEventLog`;function Np(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new _i({docsPath:Mp});let c=t.find(e=>e.type===`event`&&o===ad(ri(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new vi(o,{docsPath:Mp});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 Ti({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=Pp({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=Af(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 li||e instanceof uc?new wi({abiItem:c,data:n,params:g,size:Pt(n)}):e}else if(a)throw new wi({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function Pp({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Af([e],t)||[])[0]}Sd(),sn(),Br(),od();function Fp(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:ad(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?gl(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=Np({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Np({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)||!Ip({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function Ip(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`?xd(t,n):e.type===`string`||e.type===`bytes`?zr(Qt(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}Pi(),Ft(),k();function Lp(e){let t=typeof e==`string`?Yt(e):typeof e.raw==`string`?e.raw:Jt(e.raw);return ji([Yt(`\u0019Ethereum Signed Message:\n${Pt(t)}`),t])}Br();function Rp(e,t){return zr(Lp(e),t)}E();var zp=class extends T{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function Bp(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new zp({value:e});let[n,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),r=r.replace(/(0+)$/,``),t===0)Math.round(Number(`.${r}`))===1&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let[e,i,a]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${i}.${a}`));r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,`0`):`${e}${o}`,r.length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}var Vp,Hp=o((()=>{Vp=`0.1.1`}));function Up(){return Vp}var Wp=o((()=>{Hp()}));function Gp(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?Gp(e.cause,t):t?null:e}var P,Kp=o((()=>{Wp(),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 Gp(this,e)}},Object.defineProperty(P,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${Up()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function qp(e,t){if(xm(e)>t)throw new Pm({givenSize:xm(e),maxSize:t})}function Jp(e,t){if(typeof t==`number`&&t>0&&t>xm(e)-1)throw new Fm({offset:t,position:`start`,size:xm(e)})}function Yp(e,t,n){if(typeof t==`number`&&typeof n==`number`&&xm(e)!==n-t)throw new Fm({offset:n,position:`end`,size:xm(e)})}function Xp(e){if(e>=$p.zero&&e<=$p.nine)return e-$p.zero;if(e>=$p.A&&e<=$p.F)return e-($p.A-10);if(e>=$p.a&&e<=$p.f)return e-($p.a-10)}function Zp(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Im({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 Qp(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 $p,em=o((()=>{Lm(),$p={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function tm(e,t){if(Km(e)>t)throw new ih({givenSize:Km(e),maxSize:t})}function nm(e,t){if(typeof t==`number`&&t>0&&t>Km(e)-1)throw new ah({offset:t,position:`start`,size:Km(e)})}function rm(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Km(e)!==n-t)throw new ah({offset:n,position:`end`,size:Km(e)})}function im(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 oh({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function am(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 om=o((()=>{z()}));function sm(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=>sm(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)}:${sm(r)}`),t},[]).join(`,`)}}`}function cm(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(um)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function lm(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+um:n,n)}var um,dm=o((()=>{um=`#__bigint`}));function fm(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 Nm(e)}function pm(...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 mm(e){return e instanceof Uint8Array?e:typeof e==`string`?gm(e):hm(e)}function hm(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function gm(e,t={}){let{size:n}=t,r=e;n&&(tm(e,n),r=Wm(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=Xp(i.charCodeAt(t++)),r=Xp(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 _m(e,t={}){let{size:n}=t,r=jm.encode(e);return typeof n==`number`?(qp(r,n),ym(r,n)):r}function vm(e,t){return Ja(e,t)}function ym(e,t){return Zp(e,{dir:`right`,size:t})}function bm(e){return crypto.getRandomValues(new Uint8Array(e))}function xm(e){return e.length}function Sm(e,t,n,r={}){let{strict:i}=r;Jp(e,t);let a=e.slice(t,n);return i&&Yp(a,t,n),a}function Cm(e,t={}){let{size:n}=t;return n!==void 0&&qp(e,n),R(Vm(e,t),t)}function wm(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(qp(r,n),r=Dm(r)),r.length>1||r[0]>1)throw new Mm(r);return!!r[0]}function Tm(e,t={}){let{size:n}=t;return n!==void 0&&qp(e,n),Ym(Vm(e,t),t)}function Em(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(qp(r,n),r=Om(r)),Am.decode(r)}function Dm(e){return Qp(e,{dir:`left`})}function Om(e){return Qp(e,{dir:`right`})}function km(e){try{return fm(e),!0}catch{return!1}}var Am,jm,Mm,Nm,Pm,Fm,Im,Lm=o((()=>{po(),Kp(),z(),em(),om(),dm(),Am=new TextDecoder,jm=new TextEncoder,Mm=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`})}},Nm=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?lm(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`})}},Pm=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`})}},Fm=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`})}},Im=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 Rm(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new th(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new nh(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function zm(e){return e instanceof Uint8Array?Vm(e):Array.isArray(e)?Vm(new Uint8Array(e)):e}function Bm(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(tm(n,t.size),Um(n,t.size)):n}function Vm(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=$m[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(tm(r,t.size),Wm(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 eh({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?Um(s,r):s}function Hm(e,t={}){return Vm(Qm.encode(e),t)}function Um(e,t){return im(e,{dir:`left`,size:t})}function Wm(e,t){return im(e,{dir:`right`,size:t})}function Gm(e){return Vm(bm(e))}function L(e,t,n,r={}){let{strict:i}=r;nm(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&rm(a,t,n),a}function Km(e){return Math.ceil((e.length-2)/2)}function qm(e){return am(e,{dir:`left`})}function R(e,t={}){let{signed:n}=t;t.size&&tm(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 Jm(e,t={}){return gm(e,t)}function Ym(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:R(e,t))}function Xm(e,t={}){let{size:n}=t,r=gm(e);return n&&(qp(r,n),r=Om(r)),new TextDecoder().decode(r)}function Zm(e,t={}){let{strict:n=!1}=t;try{return Rm(e,{strict:n}),!0}catch{return!1}}var Qm,$m,eh,th,nh,rh,ih,ah,oh,z=o((()=>{Lm(),Kp(),em(),om(),dm(),Qm=new TextEncoder,$m=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),eh=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`})}},th=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?lm(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`})}},nh=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`})}},rh=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`})}},ih=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`})}},ah=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`})}},oh=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`})}}})),sh=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 ch(e,t){return e.exec(t)?.groups}let lh=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,uh=/^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)?$/,dh=/^\\(.+?\\).*?$/,fh=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function ph(e){let t=e.type;if(fh.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+=ph(i),r<n-1&&(t+=`, `)}let r=ch(fh,e.type);return t+=`)${r?.array||``}`,ph({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function mh(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=ph(i),r!==n-1&&(t+=`, `)}return t}function hh(e){return e.type===`function`?`function ${e.name}(${mh(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${mh(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${mh(e.inputs)})`:e.type===`error`?`error ${e.name}(${mh(e.inputs)})`:e.type===`constructor`?`constructor(${mh(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let gh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function _h(e){return gh.test(e)}function vh(e){return ch(gh,e)}let yh=new Set([`memory`,`indexed`,`storage`,`calldata`]),bh=new Set([`calldata`,`memory`,`storage`]);var xh=class extends sh{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`})}},Sh=class extends sh{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`})}},Ch=class extends sh{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`})}},wh=class extends sh{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Th=class extends sh{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`})}},Eh=class extends sh{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`})}},Dh=class extends sh{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`})}},Oh=class extends sh{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`})}},kh=class extends sh{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Ah=class extends sh{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`})}},jh=class extends sh{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`})}},Mh=class extends sh{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 Nh(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 Ph=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}]]),Fh=/^(?<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$_]*))?$/,Ih=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Lh=/^u?int$/;function Rh(e,t){let n=Nh(e,t?.type,t?.structs);if(Ph.has(n))return Ph.get(n);let r=dh.test(e),i=ch(r?Ih:Fh,e);if(!i)throw new wh({param:e});if(i.name&&Hh(i.name))throw new Th({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=zh(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Rh(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Lh.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Bh(c))throw new Sh({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Eh({param:e,type:t?.type,modifier:i.modifier});if(bh.has(i.modifier)&&!Uh(c,!!i.array))throw new Dh({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Ph.set(n,u),u}function zh(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?zh(o,[...t,n.trim()]):zh(o,t,`${n}${i}`,r);case`(`:return zh(o,t,`${n}${i}`,r+1);case`)`:return zh(o,t,`${n}${i}`,r-1);default:return zh(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Mh({current:n,depth:r});return t.push(n.trim()),t}function Bh(e){return e===`address`||e===`bool`||e===`function`||e===`string`||lh.test(e)||uh.test(e)}let Vh=/^(?: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 Hh(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||lh.test(e)||uh.test(e)||Vh.test(e)}function Uh(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Wh(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!_h(n))continue;let i=vh(n);if(!i)throw new kh({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=Rh(t,{type:`struct`});o.push(n)}if(!o.length)throw new Ah({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]=Kh(a,t)}return r}let Gh=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function Kh(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(dh.test(i.type))r.push(i);else{let e=ch(Gh,i.type);if(!e?.type)throw new Oh({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new jh({type:o});r.push({...i,type:`tuple${a??``}`,components:Kh(t[o],t,new Set([...n,o]))})}else if(Bh(o))r.push(i);else throw new xh({type:o})}}return r}function qh(e){let t=[];if(typeof e==`string`){let n=zh(e),r=n.length;for(let e=0;e<r;e++)t.push(Rh(n[e],{modifiers:yh}))}else{let n=Wh(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(_h(r))continue;let a=zh(r),o=a.length;for(let e=0;e<o;e++)t.push(Rh(a[e],{modifiers:yh,structs:n}))}}if(t.length===0)throw new Ch({params:e});return t}let Jh={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;Na(),Rr(),Lm(),z();function Yh(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Lr(mm(e));return n===`Bytes`?r:Vm(r)}function Xh(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Ma(Xc,mm(e),mm(t));return r===`Bytes`?i:Vm(i)}function Zh(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Xc(mm(e));return n===`Bytes`?r:Vm(r)}function Qh(e){return Zm(e)&&Km(e)===32}Lm(),Kp(),z(),dm();function $h(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 og({prefix:r,cause:new cg});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new og({prefix:r,cause:new sg});return}throw new ag({publicKey:e})}function eg(e){let t=(()=>{if(Zm(e))return ng(e);if(km(e))return tg(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 $h(t),t}function tg(e){return ng(Vm(e))}function ng(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new lg({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 rg(e,t={}){return gm(ig(e,t))}function ig(e,t={}){$h(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 ag=class extends P{constructor({publicKey:e}){super(`Value \\`${lm(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`})}},og=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`})}},sg=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`})}},cg=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`})}},lg=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 ${Km(zm(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};Lm(),Kp();let ug=/^0x[a-fA-F0-9]{40}$/;function dg(e,t={}){let{strict:n=!0}=t;if(!ug.test(e))throw new _g({address:e,cause:new vg});if(n){if(e.toLowerCase()===e)return;if(fg(e)!==e)throw new _g({address:e,cause:new yg})}}function fg(e){if(Jh.has(e))return Jh.get(e);dg(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Yh(_m(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 Jh.set(e,i),i}function pg(e,t={}){let{checksum:n=!1}=t;return dg(e),n?fg(e):e}function mg(e,t={}){return pg(`0x${Yh(`0x${ig(e).slice(4)}`).substring(26)}`,t)}function hg(e,t){return dg(e,{strict:!1}),dg(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function gg(e,t={}){let{strict:n=!0}=t??{};try{return dg(e,{strict:n}),!0}catch{return!1}}var _g=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`})}},vg=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`})}},yg=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 bg=/^(.*)\\[([0-9]*)\\]$/,xg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Sg=/^(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 Cg=2n**256n-1n;Lm(),Kp(),z();function wg(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=Hg(t.type);if(a){let[n,o]=a;return Eg(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Ag(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return Tg(e,{checksum:r});if(t.type===`bool`)return Dg(e);if(t.type.startsWith(`bytes`))return Og(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return kg(e,t);if(t.type===`string`)return jg(e,{staticPosition:i});throw new a_(t.type)}function Tg(e,t={}){let{checksum:n=!1}=t;return[(e=>n?fg(e):e)(Vm(Sm(e.readBytes(32),-20))),32]}function Eg(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Tm(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Tm(e.readBytes(32)),s=Ug(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=wg(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(Ug(t)){let n=a+Tm(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=wg(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]=wg(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function Dg(e){return[wm(e.readBytes(32),{size:32}),32]}function Og(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Tm(e.readBytes(32));e.setPosition(n+t);let r=Tm(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Vm(i),32]}return[Vm(e.readBytes(Number.parseInt(i,10),32)),32]}function kg(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?Cm(i,{signed:n}):Tm(i,{signed:n}),32]}function Ag(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(Ug(t)){let n=i+Tm(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=wg(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]=wg(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function jg(e,{staticPosition:t}){let n=t+Tm(e.readBytes(32));e.setPosition(n);let r=Tm(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Em(Dm(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Mg({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Ng({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Ng({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=Hg(r.type);if(i){let[t,a]=i;return Ig(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return Vg(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return Fg(n,{checksum:e});if(r.type===`bool`)return Rg(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=Sg.exec(r.type)??[];return zg(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return Lg(n,{type:r.type});if(r.type===`string`)return Bg(n);throw new a_(r.type)}function Pg(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Km(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+=Km(s)):n.push(s)}return F(...n,...r)}function Fg(e,t){let{checksum:n=!1}=t;return dg(e,{strict:n}),{dynamic:!1,encoded:Um(e.toLowerCase())}}function Ig(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new i_(e);if(!a&&e.length!==r)throw new t_({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=Ng({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=Pg(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 Lg(e,{type:t}){let[,n]=t.split(`bytes`),r=Km(e);if(!n){let t=e;return r%32!=0&&(t=Wm(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(Um(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new n_({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Wm(e)}}function Rg(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Um(Bm(e))}}function zg(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 eh({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 Bg(e){let t=Hm(e),n=Math.ceil(Km(t)/32),r=[];for(let e=0;e<n;e++)r.push(Wm(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(Wm(I(Km(t),{size:32})),...r)}}function Vg(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=Ng({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?Pg(a):F(...a.map(({encoded:e})=>e))}}function Hg(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Ug(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ug);let n=Hg(e.type);return!!(n&&Ug({...e,type:n[1]}))}Kp();let Wg={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 Jg({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new qg({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Kg({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 Kg({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 Gg(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Wg);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Kg=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`})}},qg=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`})}},Jg=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`})}};Lm(),Kp(),z();function Yg(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?gm(t):t,o=Gg(a);if(xm(a)===0&&e.length>0)throw new e_;if(xm(a)&&xm(a)<32)throw new $g({data:typeof t==`string`?t:Vm(t),parameters:e,size:xm(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]=wg(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function Xg(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new r_({expectedLength:e.length,givenLength:t.length});let i=Pg(Mg({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function Zg(e,t){if(e.length!==t.length)throw new r_({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(Zg.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return dg(e),Um(e.toLowerCase(),r?32:0)}if(e===`string`)return Hm(n);if(e===`bytes`)return n;if(e===`bool`)return Um(Bm(n),r?32:1);let i=e.match(Sg);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(xg);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new n_({expectedSize:Number.parseInt(t,10),value:n});return Wm(n,r?32:0)}let o=e.match(bg);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 a_(e)}e.encode=t})(Zg||={});function Qg(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?qh(e):e}var $g=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${mh(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},e_=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`})}},t_=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`})}},n_=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Km(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},r_=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`})}},i_=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`})}},a_=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`})}};Kp(),z();function o_(e){return e.startsWith(`tempo`)?s_(e).address:e}function s_(e){if(!e.startsWith(`tempox`))throw new c_({address:e});let t=e.slice(6);return Rm(t,{strict:!0}),{address:fg(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();let l_=`0x20c0`;function u_(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):d_(e)}function d_(e){let t=o_(e);if(!t.toLowerCase().startsWith(l_))throw Error(`invalid tip20 address.`);return R(L(t,6))}function f_(e){if(typeof e==`string`){let t=o_(e);return dg(t),t}return F(l_,I(e,{size:18}))}z();let p_=Qg(`address, address, address, address, bytes32, address, bytes32, address, uint256`),m_=Qg(`bytes32, bytes32, bytes32, uint256, address`),h_=Qg(`bytes32, bytes32, uint96`),g_=Yh(Hm(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),__=Yh(Hm(`TIP20 Channel Reserve`)),v_=Yh(Hm(`1`)),y_=`0x0000000000000000000000000000000000000000`,b_=`0x4d50500000000000000000000000000000000000`,x_=Yh(Hm(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function S_(e){let{authorizedSigner:t=y_,expiringNonceHash:n,operator:r=y_,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:E_(t),expiringNonceHash:n,operator:E_(r),payee:E_(i),payer:E_(a),salt:o,token:typeof s==`string`?E_(s):f_(s)}}function C_(e,t){let n=S_(e);return Yh(Xg(p_,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,b_,BigInt(t.chainId)]))}function w_(e){return Yh(Xg(m_,[g_,__,v_,BigInt(e.chainId),b_]))}function T_(e){let t=Yh(Xg(h_,[x_,e.channelId,e.cumulativeAmount]));return Yh(F(`0x1901`,w_({chainId:e.chainId}),t))}function E_(e){return pg(e)}Kp();function D_(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 O_(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return gg(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)=>O_(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=>O_(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function k_(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 k_(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`))&&gg(n[r],{strict:!1}))return o}}Kp(),z();function A_(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Zm(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?j_(e)===L(t,0,4):e.type===`event`?N_(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new F_({name:t});if(o.length===1)return{...o[0],...i?{hash:N_(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:N_(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?O_(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=k_(e.inputs,s.inputs,r);if(t)throw new P_({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 F_({name:t});return{...c,...i?{hash:N_(c)}:{}}}function j_(...e){return L(N_((()=>{if(Array.isArray(e[0])){let[t,n]=e;return A_(t,n)}return e[0]})()),0,4)}function M_(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return A_(t,n)}return e[0]})();return D_(typeof t==`string`?t:hh(t))}function N_(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return A_(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Yh(Hm(M_(t)))}var P_=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${D_(hh(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${D_(hh(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`})}},F_=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`})}};Lm(),Kp(),z();function I_(e){return L_(e,`Hex`)}function L_(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return R_(Gg((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new rh(e);return gm(e)}return e})(),{recursiveReadLimit:1/0}),n)}function R_(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?Vm(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=z_(e,n,128),i=e.readBytes(r);return t===`Hex`?Vm(i):i}return B_(e,z_(e,n,192),t)}function z_(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 B_(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(R_(e,n));return i}function V_(e,t){let{as:n}=t,r=U_(e),i=Gg(new Uint8Array(r.length));return r.encode(i),n===`Hex`?Vm(i.bytes):i.bytes}function H_(e,t={}){let{as:n=`Hex`}=t;return V_(e,{as:n})}function U_(e){return Array.isArray(e)?W_(e.map(e=>U_(e))):G_(e)}function W_(e){let t=e.reduce((e,t)=>e+t.length,0),n=K_(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 G_(e){let t=typeof e==`string`?gm(e):e,n=K_(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 K_(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.`)}Aa(),_s(),Ro();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet q_=Eo(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),J_=gs({a:q_.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:q_,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Da),Y_=Eo(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));gs({a:Y_.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Y_,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},ka);let X_=Eo(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));gs({a:X_.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:X_,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Oa);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Z_=J_,Q_=J_;Lm(),z();function $_(e){let{privateKey:t}=e;return eg(Q_.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):Vm(t).slice(2)))}function ev(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Q_.sign(r instanceof Uint8Array?r:gm(r),i instanceof Uint8Array?i:gm(i),{extraEntropy:typeof t==`boolean`?t:zm(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function tv(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Q_.verify(i,n instanceof Uint8Array?n:gm(n),ig(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}ac(),Lm(),z();function nv(e){let{privateKey:t}=e;return eg(Ws.ProjectivePoint.fromPrivateKey(zm(t).slice(2)))}function rv(e){return mg(iv(e))}function iv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return eg(new Ws.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(zm(t).substring(2)))}function av(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Ws.sign(mm(r),mm(i),{extraEntropy:typeof t==`boolean`?t:zm(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function ov(e){let{hash:t,payload:n}=e;return e.address?hg(e.address,rv({payload:n,signature:e.signature})):Ws.verify(e.signature,mm(n),rg(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}Kp(),z(),dm();function sv(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>Cg)throw new Sv({value:e.r});if(e.s<0n||e.s>Cg)throw new Cv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new wv({value:e.yParity})}function cv(e){return lv(Vm(e))}function lv(e){if(e.length!==130&&e.length!==132)throw new bv({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 vv(t)}catch{throw new wv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function uv(e){if(e.r!==void 0&&e.s!==void 0)return dv(e)}function dv(e){let t=typeof e==`string`?lv(e):e instanceof Uint8Array?cv(e):typeof e.r==`string`?pv(e):e.v?fv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return sv(t),t}function fv(e){return{r:e.r,s:e.s,yParity:vv(e.v)}}function pv(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=vv(t)),typeof n!=`number`)throw new wv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function mv(e){let[t,n,r]=e;return dv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function hv(e){sv(e);let t=e.r,n=e.s;return F(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(yv(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 _v(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:qm(I(t)),n===0n?`0x`:qm(I(n))]}function vv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Tv({value:e})}function yv(e){if(e===0)return 27;if(e===1)return 28;throw new wv({value:e})}var bv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${Km(zm(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},xv=class extends P{constructor({signature:e}){super(`Signature \\`${lm(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Sv=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`})}},Cv=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`})}},wv=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`})}},Tv=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`})}};Lm();let Ev=new TextEncoder,Dv=new TextDecoder,Ov=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),kv={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Av(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]=Ov[r>>18],i[t+1]=Ov[r>>12&63],i[t+2]=Ov[r>>6&63],i[t+3]=Ov[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=Dv.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function jv(e,t={}){return Av(gm(e),t)}function Mv(e,t={}){return Av(_m(e),t)}function Nv(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Ev.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(kv[r[e]]<<18)+(kv[r[e+1]]<<12)+(kv[r[e+2]]<<6)+kv[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 Pv(e){return Em(Nv(e))}Lm(),Kp(),z();function Fv(e,t={}){let{as:n=`Hex`}=t,r=Yv(e),i=Gg(new Uint8Array(r.length));return r.encode(i),n===`Hex`?Vm(i.bytes):i.bytes}var Iv=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`})}},Lv=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`})}},Rv=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`})}},zv=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`})}},Bv=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`})}},Vv=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`})}},Hv=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`})}},Uv=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Wv=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`})}},Gv=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`})}},Kv=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`})}},qv=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`})}},Jv=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 Yv(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 Yv.number(e);if(typeof e==`bigint`)throw new Hv;if(typeof e==`string`)return Yv.string(e);if(Array.isArray(e))return Yv.array(e);if(e instanceof Uint8Array)return Yv.byteString(e);if(e instanceof ArrayBuffer)return Yv.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Yv.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Yv.map(e);if(typeof e==`object`)return Yv.object(e);throw new Uv({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 Wv({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 Wv({number:e.toString(10)})}e.number=t;function n(e){let t=_m(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 Gv({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 Kv({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 Jv({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 qv({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 qv({size:i})}e.map=o})(Yv||={});function Xv(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Xv.readUnsignedInteger(e,r);case 1:return Xv.readNegativeInteger(e,r);case 2:return Xv.readByteString(e,r);case 3:return Xv.readTextString(e,r);case 4:return Xv.readArray(e,r);case 5:return Xv.readMap(e,r);case 6:throw new zv({tag:r});case 7:return Xv.readSimpleOrFloat(e,r);default:throw new Iv({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 Rv:new Lv({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 Bv({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 Bv({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Em(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 Vv({value:t});return}throw new Lv({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}})(Xv||={}),Kp();function Zv(e){let t=rg(e),n=t.slice(1,33),r=t.slice(33,65);return Fv(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}function Qv(e){let t=Z_.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function $v(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(Zh(Hm(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=Vm(new Uint8Array(16)),s=Vm(t.id);return F(a,o,I(t.id.length,{size:2}),s,Zv(t.publicKey))}function ey(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:jv(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}Lm(),Kp(),z();function ty(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:Nv(e),type:`public-key`})):[{id:Nv(t),type:`public-key`}]}:{},challenge:gm(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function ny(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=$v({flag:i,rpId:o,signCount:s}),u=ey({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=Zh(Hm(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function ry(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:ty(n);try{let e=await t(r);if(!e)throw new iy;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=Qv(o);return{id:s,metadata:{authenticatorData:Vm(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new iy({cause:e})}}var iy=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 ay(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=gm(s);if(u.length<37||a!==void 0&&!vm(u.slice(0,32),Zh(Hm(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||Vm(Nv(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:tv({hash:!0,payload:pm(u,Zh(_m(c),{as:`Bytes`})),publicKey:i,signature:o})}let oy=ny;async function sy(e){return ry(e)}function cy(e){return ay(e)}Kp(),z();let ly=`0x${`00`.repeat(32)}`;function uy(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&Km(t)!==32)throw new _y({reason:`salt must be 32 bytes`});if(r.length===0)throw new _y({reason:`owners cannot be empty`});if(r.length>10)throw new _y({reason:`too many owners`});if(Number(n)<1)throw new _y({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!gg(e.owner)||R(e.owner)===0n)throw new _y({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new _y({reason:`owner weight cannot be zero`});let t=R(e.owner);if(a!==void 0&&a>=t)throw new _y({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new _y({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new _y({reason:`threshold exceeds total owner weight`})}function dy(e){let t=[...e.owners].sort((e,t)=>R(e.owner)<R(t.owner)?-1:1),n={salt:e.salt?Um(e.salt,32):ly,threshold:e.threshold,owners:t};return uy(n),n}function fy(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?Um(t,32):ly,threshold:n===`0x`?0:Ym(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:Ym(n)}})}}function py(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:hy(e);return pg(L(Yh(F(Hm(`tempo:multisig:account`),t)),12,32))}function my(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:py(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:hy(e.genesisConfig);return Yh(F(Hm(`tempo:multisig:signature`),zm(t),n,r))}function hy(e){uy(e);let t=Yh(F(Hm(`tempo:multisig:config`),Um(e.salt??ly,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 _y({reason:`config ID cannot be zero`});return t}function gy(e){uy(e);let t=e.owners.map(e=>[e.owner,I(e.weight)]);return[e.salt?Um(e.salt,32):ly,I(e.threshold),t]}var _y=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`})}};Kp(),z(),dm();let vy=`0x01`,yy=`0x02`,by=`0x03`,xy=`0x04`,Sy=`0x05`,Cy=`0x7777777777777777777777777777777777777777777777777777777777777777`;function wy(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:wy({...e,signature:t.inner}):t.type===`multisig`?t.account:mg(Ty(e))}function Ty(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return iv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Ty({payload:t,signature:n.inner});case`multisig`:throw new Py({envelope:n})}}function Ey(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-Km(Cy)):e;if(Km(t)===65){let e=lv(t);return sv(e),{signature:e,type:`secp256k1`}}let n=L(t,0,1),r=L(t,1),i=Km(r);if(n===vy){if(i!==129)throw new Fy({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:Ym(L(r,128,129))!==0,signature:{r:R(L(r,0,32)),s:R(L(r,32,64))},type:`p256`}}if(n===yy){if(i<128)throw new Fy({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=Xm(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 Fy({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===by||n===xy)return{userAddress:L(r,0,20),inner:Ey(L(r,20)),type:`keychain`,version:n===xy?`v2`:`v1`};if(n===Sy){let[e,t,n,i]=I_(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>Ey(e)),...i&&i!==`0x`?{init:fy(i)}:{}}}throw new Fy({reason:`Unknown signature type identifier: ${n}. Expected ${vy} (P256), ${yy} (WebAuthn), ${by} (Keychain V1), ${xy} (Keychain V2), or ${Sy} (Multisig)`,serialized:t})}function Dy(e,t){if(typeof e==`string`)return Ey(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=ky(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?py(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?hy(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>Dy(e)),...s?{init:dy(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:mg(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:mg(iv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Oy(e){if(e.type===`secp256k1`)return{signature:pv(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=Km(t),r,i;for(let e=37;e<n;e++){let n=Xm(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 Fy({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:Oy(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=>Ey(e)),...t.init?{init:dy(t.init)}:{}}}throw new Py({envelope:e})}function ky(e){if(typeof e!=`object`||!e)throw new Py({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 Py({envelope:e})}function Ay(e,t={}){let n=ky(e);if(n===`secp256k1`)return F(hv(e.signature),t.magic?Cy:`0x`);if(n===`p256`){let n=e;return F(vy,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?Cy:`0x`)}if(n===`webAuthn`){let n=e;return F(yy,F(n.metadata.authenticatorData,Hm(n.metadata.clientDataJSON)),I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?Cy:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?by:xy,n.userAddress,Ay(n.inner),t.magic?Cy:`0x`)}if(n===`multisig`){let n=e;return F(Sy,H_([n.account,n.genesisConfigId,n.signatures.map(e=>Ay(e)),n.init?gy(n.init):`0x`]),t.magic?Cy:`0x`)}throw new Py({envelope:e})}function jy(e){let{payload:t,signatures:n}=e,r=my(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:R(wy({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function My(e){let t=ky(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,Hm(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:My(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=>Ay(e)),...t.init?{init:t.init}:{}}}throw new Py({envelope:e})}function Ny(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return mg(t.publicKey)})();if(!r)return!1;let i=Dy(e);if(i.type===`secp256k1`)return r?ov({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return hg(mg(i.publicKey),r)?tv({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return hg(mg(i.publicKey),r)?cy({challenge:zm(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new Iy(`Unable to verify signature envelope of type \"${i.type}\".`)}var Py=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${lm(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Fy=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`})}},Iy=class extends P{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};z();function Ly(e,t={}){if(`keyId`in e)return Ry(e);let n=e;n.witness!==void 0&&Qy(n.witness);let r={...n,address:o_(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:o_(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:o_(e.address),selector:Zy(e.selector),...e.recipients?{recipients:e.recipients.map(e=>o_(e))}:{}}))}:{}};return t.signature?{...r,signature:Dy(t.signature)}:r}function Ry(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=Oy(e.signature);s!==void 0&&Qy(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:Xy(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&&Yy(e.period)>0?{period:Yy(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function zy(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=$y(c)?void 0:Yy(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:Jy(n),...r===void 0?{}:{period:Yy(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,_=$y(d)?void 0:d;_!==void 0&&Qy(_);let v=(()=>{if(!$y(f)){if(f!==`0x01`)throw new tb(f);return!0}})(),y=$y(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=Ey(n)),Ly(x)}function By(e){return Hy(e)}function Vy(e){return zy(I_(e))}function Hy(e){let[t]=Gy(e);return Yh(H_(t))}function Uy(e){return H_(Gy(e))}function Wy(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&&Qy(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:Zy(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:o_(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:qy(n)}:{}})),signature:My(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function Gy(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&Qy(o);let l=e.signature?Ay(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,Ky(e.limit)];return e.period&&e.period>0&&t.push(qy(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([Zy(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?qy(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[[Ky(n),u,t,...g],...l?[l]:[]]}function Ky(e){return e===0n?`0x`:I(e)}function qy(e){return e===0?`0x`:I(e)}function Jy(e){return e===`0x`?0n:BigInt(e)}function Yy(e){return e===`0x`?0:Ym(e)}function Xy(e){return typeof e==`string`?e:Array.isArray(e)?Vm(new Uint8Array(e)):e}function Zy(e){if(e)return e.startsWith(`0x`)?e:j_(e)}function Qy(e){if(Km(e)!==32)throw new eb(e)}function $y(e){return e===void 0||e===`0x`}var eb=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${Km(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},tb=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 nb={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function rb(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Yh(Hm(nb[e]??e))}z();function ib(e,t={}){return typeof e.chainId==`string`?ab(e):{...e,...t.signature}}function ab(e){let{address:t,chainId:n,nonce:r}=e,i=uv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ob(e){return e.map(ab)}function sb(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...gv(i)}}function cb(e){return e.map(sb)}let lb={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ub={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function db(e,t={}){if(!e)return null;let n=uv(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=ob(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=ub[e.type]??e.type),n&&(r.v=yv(n.yParity)),r}z();function fb(e,t={}){if(typeof e.chainId==`string`)return pb(e);let n={...e,address:o_(e.address)};return t.signature?{...n,signature:t.signature}:n}function pb(e){let{address:t,chainId:n,nonce:r}=e,i=Oy(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function mb(e){return e.map(e=>pb(e))}function hb(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=Ey(i)),fb(a)}function gb(e){let t=[];for(let n of e)t.push(hb(n));return t}function _b(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:My(i)}}function vb(e){return e.map(e=>_b(e))}function yb(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Ay(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function bb(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(yb(n));return t}let xb={...lb,tempo:`0x76`},Sb={...ub,\"0x76\":`tempo`};function Cb(e,t={}){if(!e)return null;let n=db(e);return n.type=Sb[e.type],e.aaAuthorizationList&&(n.authorizationList=mb(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=Oy(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=Ry(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=pv(e.feePayerSignature),n.feePayerSignature.v=yv(n.feePayerSignature.yParity)),n}z();function wb(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=cb(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=lb[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}z();function Tb(e){let t=wb({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=vb(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?o_(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?o_(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=f_(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=Wy(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 Gm(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=xb.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}Kp(),z();function Eb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&dg(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>Qh(e)?e:qm(e))})}return t}function Db(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(Km(r[e])!==32)throw new Ob({storageKey:r[e]});n&&dg(n,{strict:!1}),t.push([n,r])}return t}var Ob=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Km(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};Kp();let kb={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Ab(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 jb(e,t=`wei`){return Ab(e,kb.gwei-kb[t])}Kp();var Mb=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${jb(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`})}},Nb=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`})}},Pb=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`})}},Fb=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${jb(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${jb(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};Kp(),z();let Ib=`tempo`;function Lb(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Gb;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Kb({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&dg(e.to,{strict:!1});if(n<=0)throw new Nb({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Mb({feeCap:r});if(i&&r&&i>r)throw new Fb({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Rb(e){let t=I_(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 Pb({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:Ib});let y={chainId:Number(n),type:Ib};Zm(a)&&a!==`0x`&&(y.gas=BigInt(a)),Zm(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Zm(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Zm(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Zm(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Zm(u)&&u!==`0x`&&(y.validBefore=Number(u)),Zm(d)&&d!==`0x`&&(y.validAfter=Number(d)),Zm(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=Eb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=gb(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||gg(p)?(y.feePayerSignature=null,gg(p)&&(y.from=p)):y.feePayerSignature=mv(p)),_&&(y.keyAuthorization=zy(_));let b=v?Ey(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=wy({payload:Hb(zb(y)),signature:b,root:!0})}catch{}return Lb(y),y}function zb(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Rb(e):e;return i.from&&=o_(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:o_(e.to)}:{}})),Lb(i),{...i,...r?{signature:Dy(r)}:{},...n?{feePayerSignature:dv(n)}:{},type:`tempo`}}function Bb(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;Lb(e);let h=Db(n),g=t.signature||e.signature,_=bb(r),v=i.map(e=>[e.to?o_(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=Dy(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return mg(t.publicKey);if(t.type===`secp256k1`)return rv({payload:Hb(zb(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?_v(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`)?f_(o):`0x`,b,_,...c?[Gy(c)]:[],...g?[Ay(Dy(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,H_(x))}function Vb(e){return Bb({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Hb(e,t={}){let n=Ub(e,{presign:!0});return t.from?Yh(F(`0x04`,n,o_(t.from))):n}function Ub(e,t={}){return Yh(t.presign?Vb(e):Bb(e))}function Wb(e,t){let n=o_(t.sender);return Yh(Bb({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Gb=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Kb=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`})}};Kc();async function qb(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Gc({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}Kp(),z();function Jb(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Zb(e)}function Yb(e){let{data:t,signature:n,to:r}=e;return F(Xg(Qg(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Xb(e){try{return Jb(e),!0}catch{return!1}}var Zb=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`})}};Kp(),z();let Qb=Qg(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function $b(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new nx(e)}else sv(e.authorization)}function ex(e){$b(e);let t=Ym(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=Yg(Qb,n);return{authorization:ib({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 tx(e){try{return $b(e),!0}catch{return!1}}var nx=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`})}},rx,ix,ax,ox,sx=o((()=>{rx=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,ix=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,ax=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,ox=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`}));Wr(),Sd();async function cx({address:e,authorization:t,signature:n}){return xd(Hr(e),await Sc({authorization:t,signature:n}))}ac(),dn(),sn();function lx({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 Ws.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:tn(o)}function ux(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var dx=o((()=>{z()}));function fx(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(ux)}}}var px=o((()=>{z(),dx()})),mx=o((()=>{}));function hx(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=sd({abi:t,args:n,name:r});if(!e)throw new yi(r,{docsPath:gx});a=e}if(a.type!==`function`)throw new yi(void 0,{docsPath:gx});if(!a.outputs)throw new bi(a.name,{docsPath:gx});let o=Af(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var gx,_x=o((()=>{Ai(),Hf(),ud(),gx=`/docs/contract/decodeFunctionResult`}));function vx({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Cc({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Cc({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var yx=o((()=>{Oc()}));function bx(e,{docsPath:t,...n}){return new qf((()=>{let t=St(e,n);return t instanceof ve?e:t})(),{docsPath:t,...n})}var xx=o((()=>{$f(),ye(),Ct()})),Sx,Cx,wx,Tx=o((()=>{Fe(),E(),Be(),Sx=class extends T{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=>` ${ze(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},Cx=class extends T{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${ze(t)}`,`Response: ${Pe(e)}`],name:`OffchainLookupResponseMalformedError`})}},wx=class extends T{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 Ex(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=sd({abi:t,args:r,name:n});if(!e)throw new hi(n,{docsPath:Dx});i=e}if(i.type!==`error`)throw new hi(void 0,{docsPath:Dx});let a=rd(ri(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new mi(i.name,{docsPath:Dx});o=Wi(i.inputs,r)}return Ni([a,o])}var Dx,Ox=o((()=>{Ai(),Pi(),id(),na(),oi(),ud(),Dx=`/docs/contract/encodeErrorResult`}));function kx(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=sd({abi:t,name:n});if(!e)throw new yi(n,{docsPath:Ax});i=e}if(i.type!==`function`)throw new yi(void 0,{docsPath:Ax});if(!i.outputs)throw new bi(i.name,{docsPath:Ax});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Oi(r)})();return Wi(i.outputs,a)}var Ax,jx=o((()=>{Ai(),na(),ud(),Ax=`/docs/contract/encodeFunctionResult`}));async function Mx(e){let{data:t,ccipRequest:n}=e,{args:[r]}=Ap({abi:Tp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Mx({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Nx(e)}})),kx({abi:Tp,functionName:`query`,result:[i,a]})}function Nx(e){return e.name===`HttpRequestError`&&e.status?Ex({abi:Tp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):Ex({abi:[Sf],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Px=o((()=>{kp(),wf(),jp(),Ox(),jx()})),Fx=c({ccipRequest:()=>Lx,offchainLookup:()=>Ix,offchainLookupAbiItem:()=>zx,offchainLookupSignature:()=>Rx});async function Ix(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Uf({data:r,abi:[zx]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Lx;try{if(!xd(a,s))throw new wx({sender:s,to:a});let{data:r}=await Vx(e,{blockNumber:t,blockTag:n,data:ji([u,Wi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Mx({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?Ie(i.signal):Le(e)?e:new Sx({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Lx({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 Ie(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 Ve({body:c,details:a?.error?Pe(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new Cx({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Ie(t.signal);if(Le(e))throw e;i=new Ve({body:c,details:e.message,url:o})}}throw i}var Rx,zx,Bx=o((()=>{Qx(),Tx(),We(),Be(),Wf(),na(),Sd(),Pi(),Nt(),Px(),Fe(),Rx=`0x556f1830`,zx={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 Vx(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:p,data:m,factory:h,factoryData:g,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,requestOptions:C,to:w,value:ee,stateOverride:te,...ne}=t,re=n?f(n):void 0;if(p&&(h||g))throw new T(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(p&&w)throw new T(\"Cannot provide both `code` & `to` as parameters.\");let E=p&&m,ie=h&&g&&w&&m,ae=E||ie,oe=E?qx({code:p,data:m}):ie?Jx({data:m,factory:h,factoryData:g,to:w}):m;try{Yr(t);let n=Gc({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?fx(d):void 0,p=Hc(te),m=e.chain?.formatters?.transactionRequest?.format,h=(m||vn)({...Tt(ne,{format:m}),accessList:l,account:re,authorizationList:r,blobs:u,data:oe,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,to:ae?void 0:w,value:ee},`call`);if(i&&Hx({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Gx(e,{blockNumber:o,deployless:t});if(!n||!Kx(p,n))return await Wx(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:C,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Ec)&&!(e instanceof Cc))throw e}let g=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),T=await e.request({method:`eth_call`,params:g},C);return T===`0x`?{data:void 0}:{data:T}}catch(n){if(C?.signal?.aborted)throw Ie(C.signal);if(Le(n))throw n;let r=Yx(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Bx(),Fx));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&w)return{data:await i(e,{data:r,requestOptions:C,to:w})};throw ae&&r?.slice(0,10)===`0x101bb98d`?new Zf({factory:h}):bx(n,{...t,account:re,chain:e.chain})}}function Hx({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 Ux(e){if(!e)return`default`;let t=Zx.get(e);if(t!==void 0)return t;let n=Xx++;return Zx.set(e,n),n}async function Wx(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?Gx(e,{blockNumber:o,deployless:r}):u,h=Gc({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=fp({id:`${e.uid}.${g}.${Ux(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=md({abi:wp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:qx({code:ox,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return hx({abi:wp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Qf({data:y});return y===`0x`?{data:void 0}:{data:y}}function Gx(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return vx({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Ec}function Kx(e,t){return e?Object.keys(e).some(e=>xd(e,t)):!1}function qx(e){let{code:t,data:n}=e;return ra({abi:Ju([`constructor(bytes, bytes)`]),bytecode:rx,args:[t,n]})}function Jx(e){let{data:t,factory:n,factoryData:r,to:i}=e;return ra({abi:Ju([`constructor(address, bytes, address, bytes)`]),bytecode:ix,args:[i,t,n,r]})}function Yx(e){if(!(e instanceof T))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Xx,Zx,Qx=o((()=>{Xu(),px(),p(),kp(),mx(),sx(),E(),Oc(),$f(),Be(),_x(),aa(),hd(),Sd(),Kc(),yx(),xx(),Et(),Sn(),mp(),Uc(),Xr(),Xx=0,Zx=new WeakMap}));_x(),hd(),Qx();async function $x(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=md({abi:n,args:i,functionName:a});try{let{data:t}=await j(e,Vx,`call`)({...o,data:s,to:r});return hx({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw ep(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}kp(),sx(),$f(),aa(),hd(),Wr(),Sd(),Pi(),Nt(),dn(),k(),Qx();async function eS(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?lx(e):Jt(e)})();try{if(s===`eoa`)try{if(xd(Hr(n),await cc({hash:i,signature:c})))return!0}catch{}return tx(c)?await tS(e,{...t,multicallAddress:o,signature:c}):await nS(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(xd(Hr(n),await cc({hash:i,signature:c})))return!0}catch{}if(e instanceof iS)return!1;throw e}}async function tS(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=ex(t.signature);if(await qb(e,{address:n,blockNumber:r,blockTag:i})===Ni([`0xef0100`,s.address]))return await rS(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:O(s.r,{size:32}),s:O(s.s,{size:32}),yParity:s.yParity};if(!await cx({address:n,authorization:d}))throw new iS;let f=await j(e,$x,`readContract`)({...o?{address:o}:{code:ox},authorizationList:[d],abi:wp,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:md({abi:Dp,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new iS}async function nS(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Xb(o)?o:Yb({data:i,signature:o,to:r}))(),u=s?{to:s,data:md({abi:Op,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:ra({abi:Op,args:[n,a,l],bytecode:ax}),...c},{data:d}=await j(e,Vx,`call`)(u).catch(e=>{throw e instanceof qf?new iS:e});if(ln(d??`0x0`))return!0;throw new iS}async function rS(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await j(e,$x,`readContract`)({address:n,abi:Dp,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Jf?new iS:e})).startsWith(`0x1626ba7e`))return!0;throw new iS}var iS=class extends Error{};function aS(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 oS(){return{}}let sS=[{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:[]}],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:[]}],cS=[{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:[]}],lS=[{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:[]}],uS=[{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:[]}],dS=[{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:[]}],fS=[{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:[]}],pS=[{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:[]}],mS=[{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:[]}],hS=[{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`}]}],gS=[{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:[]}],_S=[{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`}]}],vS=[{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:[]}],yS=[{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`}]}],bS=[...sS,...B,...cS,...lS,...uS,...dS,...fS,...pS,...mS,...hS,...gS,..._S,...vS,...yS];Lm();async function xS(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=eg(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function SS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,mm(t)),i=hm(new Uint8Array(r)),a=Cm(Sm(i,0,32)),o=Cm(Sm(i,32,64));return o>Z_.CURVE.n/2n&&(o=Z_.CURVE.n-o),{r:a,s:o}}E(),Mt(),hc(),sn(),k();function CS(e,t=`hex`){return wS(pc((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new At(e);return tn(e)}return e})(),{recursiveReadLimit:1/0}),t)}function wS(e,t=`hex`){if(e.bytes.length===0)return t===`hex`?Jt(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=TS(e,n,128),i=e.readBytes(r);return t===`hex`?Jt(i):i}return ES(e,TS(e,n,192),t)}function TS(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 T(`Invalid RLP prefix`)}function ES(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(wS(e,n));return i}Nt(),Ft();function DS(e){return D(e)&&Pt(e)===32}wn(),En(),E(),Oc(),ye(),Jr(),Ft(),Bi(),dn();function OS(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Gr(n))throw new Tn({address:n});if(t<0)throw new Dc({chainId:t})}AS(e)}function kS(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new tl;for(let e of t){let t=Pt(e),n=un(Fi(e,0,1));if(t!==32)throw new nl({hash:e,size:t});if(n!==1)throw new rl({hash:e,version:n})}}AS(e)}function AS(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Dc({chainId:t});if(i&&!Gr(i))throw new Tn({address:i});if(r&&r>Cn)throw new ce({maxFeePerGas:r});if(n&&r&&n>r)throw new _e({maxFeePerGas:r,maxPriorityFeePerGas:n})}function jS(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Dc({chainId:t});if(a&&!Gr(a))throw new Tn({address:a});if(n||i)throw new T(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>Cn)throw new ce({maxFeePerGas:r})}function MS(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Gr(a))throw new Tn({address:a});if(t!==void 0&&t<=0)throw new Dc({chainId:t});if(n||i)throw new T(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>Cn)throw new ce({maxFeePerGas:r})}Ne(),Bi(),dn();function NS(e){let t=zi(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`&&un(t)>=192)return`legacy`;throw new Te({serializedType:t})}En(),Ne(),Jr(),Nt(),Gt(),Lt(),dn();function PS(e){let t=NS(e);return t===`eip1559`?LS(e):t===`eip2930`?RS(e):t===`eip4844`?IS(e):t===`eip7702`?FS(e):zS(e)}function FS(e){let t=BS(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Ee({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:un(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:un(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=VS(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=HS(d)),OS(h),{...t.length===13?US(t):void 0,...h}}function IS(e){let t=BS(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 Ee({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:un(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:un(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=VS(p)),y&&b&&x&&(S.sidecars=al({blobs:y,commitments:b,proofs:x})),kS(S),{...r.length===14?US(r):void 0,...S}}function LS(e){let t=BS(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new Ee({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:un(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:un(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=VS(u)),AS(m),{...t.length===12?US(t):void 0,...m}}function RS(e){let t=BS(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new Ee({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:un(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:un(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=VS(l)),jS(p),{...t.length===11?US(t):void 0,...p}}function zS(e){let t=CS(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new Ee({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:un(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),MS(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 Ce({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function BS(e){return CS(`0x${e.slice(4)}`,`hex`)}function VS(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Gr(r,{strict:!1}))throw new Tn({address:r});t.push({address:r,storageKeys:i.map(e=>DS(e)?e:It(e))})}return t}function HS(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:un(r),nonce:a===`0x`?0:un(a),...US([o,s,c])})}return t}function US(e){let t=e.slice(-3),n=t[0]===`0x`||A(t[0])===0n?27n:28n;return{r:Ut(t[1],{size:32}),s:Ut(t[2],{size:32}),v:n,yParity:n===27n?0:1}}k();function WS(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?Kt(e):`0x`,a,r?Kt(r):`0x`,...QS({},i)])}return t}En(),Ne(),Jr();function GS(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 De({storageKey:i[e]});if(!Gr(r,{strict:!1}))throw new Tn({address:r});t.push([r,i])}return t}Ne(),Pi(),Lt(),k();function KS(e,t){let n=ol(e);return n===`eip1559`?YS(e,t):n===`eip2930`?XS(e,t):n===`eip4844`?JS(e,t):n===`eip7702`?qS(e,t):ZS(e,t)}function qS(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;OS(e);let f=GS(u),p=WS(n);return Ni([`0x04`,gc([O(r),a?O(a):`0x`,l?O(l):`0x`,c?O(c):`0x`,i?O(i):`0x`,o??`0x`,s?O(s):`0x`,d??`0x`,f,p,...QS(e,t)])])}function JS(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;kS(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=>Jt(e)),n=e.kzg,r=Jc({blobs:t,kzg:n});f===void 0&&(f=$c({commitments:r})),p===void 0&&(p=al({blobs:t,commitments:r,proofs:Yc({blobs:t,commitments:r,kzg:n})}))}let m=GS(u),h=[O(n),i?O(i):`0x`,l?O(l):`0x`,c?O(c):`0x`,r?O(r):`0x`,a??`0x`,o?O(o):`0x`,d??`0x`,m,s?O(s):`0x`,f??[],...QS(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 Ni([`0x03`,gc(p?[h,g,_,v]:h)])}function YS(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;AS(e);let d=GS(l);return Ni([`0x02`,gc([O(n),i?O(i):`0x`,c?O(c):`0x`,s?O(s):`0x`,r?O(r):`0x`,a??`0x`,o?O(o):`0x`,u??`0x`,d,...QS(e,t)])])}function XS(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;jS(e);let u=GS(c);return Ni([`0x01`,gc([O(n),a?O(a):`0x`,l?O(l):`0x`,r?O(r):`0x`,o??`0x`,s?O(s):`0x`,i??`0x`,u,...QS(e,t)])])}function ZS(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;MS(e);let l=[a?O(a):`0x`,c?O(c):`0x`,r?O(r):`0x`,o??`0x`,s?O(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 Ce({v:t.v});return e})(),r=It(t.r),i=It(t.s);l=[...l,O(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,O(n),`0x`,`0x`]);return gc(l)}function QS(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=It(n.r),o=It(n.s);return[typeof i==`number`?i?O(1):`0x`:r===0n?`0x`:r===1n?O(1):r===27n?`0x`:O(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}z();function $S(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:ol(e)}function eC(e){try{return $S(e)===`tempo`}catch{return!1}}function tC(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?rC(e):PS(e)}async function nC(e,t){if(!eC(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 KS(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return KS(e,t)}if($S(e)===`tempo`)return iC(e,t);throw Error(`Unsupported transaction type`)}function rC(e){let{feePayerSignature:t,nonce:n,...r}=Rb(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 iC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Dy({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)||!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)}:{}};if(l&&delete u.feeToken,e.multisig&&e.signatures&&!i){let t=jy({payload:Hb(zb(u)),signatures:e.signatures.map(e=>Dy(e)),genesisConfig:e.multisig});return Bb(u,{feePayerSignature:void 0,signature:Dy({genesisConfig:e.multisig,signatures:t,...a?{}:{init:!0}})})}if(n&&typeof e.feePayer==`object`){let t=zb(u,{signature:n}),r=Wb(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return rv({payload:Hb(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return Bb(t,{feePayerSignature:dv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?Bb(u,{signature:n}):n?Bb(u,{format:`feePayer`,sender:e.from,signature:n}):Bb(u,{feePayerSignature:null}):Bb({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}z(),p(),Br();function aC(e){let{access:t}=e;return t?_C(e):gC(e)}function oC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=$_({privateKey:e});return aC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=oy({...t,challenge:n,rpId:i,origin:a});return Ay({metadata:r,signature:ev({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function sC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=$_({privateKey:e});return aC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return Ay({signature:ev({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function cC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=nv({privateKey:e});return aC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return hv(av({payload:n,privateKey:e}))}})}function lC(e,t={}){let{id:n}=e,r=ng(e.publicKey);return aC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await sy({...t,challenge:e,credentialId:n});return Ay({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function uC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return aC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return Ay({signature:await SS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function dC(e,t){let n=fC(t);return pC(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function fC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return T_({chainId:t,channelId:typeof n==`string`?n:C_(n,{chainId:t}),cumulativeAmount:r})}function pC(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function mC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=vC(r),d=pC(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=By({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return Ly({address:l,chainId:n,signature:Dy(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function hC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??mg(e.publicKey),o=ig(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?zr(F(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?Ay(Dy({userAddress:n,inner:Dy(o),type:`keychain`,version:i})):o}return{address:fg(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=Dy(await s({hash:xc({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:Rp(t)})},async signTransaction(e,t){let{serializer:n=nC}=t??{},r=zr(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:my({payload:r,genesisConfig:i}),raw:!0}):await n(e,Dy(await s({hash:r})))},async signTypedData(e){return await s({hash:of(e)})},async signVoucher(e){let t=fC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function gC(e){let t=hC(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}=vC(e),d=c?{}:{expiry:i,limits:a,scopes:o};return Ly({address:l,chainId:r,signature:Dy(await t.sign({hash:By({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function _C(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=f(t);return{...hC({...e,parentAddress:r}),accessKeyAddress:mg(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function vC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:mg(ng(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let yC=`0xaAAAaaAA00000000000000000000000000000000`,bC=`0xdec0000000000000000000000000000000000000`,xC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function SC(e,t){return xC.indexOf(e)<xC.indexOf(t)}hd();function V(e){return{...e,data:md(e),to:e.address}}p();let CC={0:`secp256k1`,1:`p256`,2:`webAuthn`},wC={true:`limited`,false:`unlimited`};async function TC(e,t){return TC.inner(pl,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 p=await mC(f(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:p})}e.inner=t;function n(e){let[t]=Fp({abi:hS,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(TC||={});async function EC(e,t){return EC.inner(N,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:yC,abi:hS,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=Fp({abi:hS,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(EC||={});async function DC(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n),o=await $x(e,{...i,account:null,...DC.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:CC[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:wC[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:yC,abi:hS,functionName:`getKey`,args:[t,PC(n)]})}e.call=t})(DC||={});async function OC(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=f(n),s=e.chain?.hardfork;if(s&&SC(s,`t3`))return{remaining:await $x(e,{...a,...OC.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await $x(e,{...a,...OC.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:yC,abi:hS,functionName:`getRemainingLimit`,args:[t,PC(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:yC,abi:hS,functionName:`getRemainingLimitWithPeriod`,args:[t,PC(n),r]})}e.callWithPeriod=n})(OC||={});async function kC(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return $x(e,{...i,account:null,...kC.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:yC,abi:hS,functionName:`isAdminKey`,args:[t,PC(n)]})}e.call=t})(kC||={});async function AC(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return $x(e,{...i,account:null,...AC.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:yC,abi:hS,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(AC||={});async function jC(e,t){return jC.inner(N,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:yC,abi:hS,functionName:`revokeKey`,args:[PC(t)]})}e.call=n;function r(e){let[t]=Fp({abi:hS,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(jC||={});async function MC(e,t){return MC.inner(N,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:yC,abi:hS,functionName:`updateSpendingLimit`,args:[PC(t),n,r]})}e.call=n;function r(e){let[t]=Fp({abi:hS,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(MC||={});async function NC(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return $x(e,{...o,...NC.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:lS,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(NC||={});function PC(e){return typeof e==`string`?e:e.accessKeyAddress}z(),p(),Sn();function FC(e){if(!eC(e))return hn(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=Cb(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:xb[a.type],type:a.type}}function IC(e){return vl(e)}function LC(e,t){let n=e,r=n.account?f(n.account):void 0;if(!eC(n))return vn(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,signatures:a,...o}=n,s=Tb({...o,type:`tempo`});t===`estimateGas`&&(s.maxFeePerGas=void 0,s.maxPriorityFeePerGas=void 0),s.to=void 0,s.data=void 0,s.value=void 0;let[c,l]=(()=>{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,RC(n.keyData)]:[n.keyType,RC(n.keyData)]})(),u=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(s.from=r.address),{...s,...n.capabilities?{capabilities:n.capabilities}:{},...l?{keyData:l}:{},...u?{keyId:u}:{},...c?{keyType:c}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?f(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function RC(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let zC=new Map;async function BC(e){zC.set(e,(zC.get(e)??0)+1),await Promise.resolve();let t=(zC.get(e)??0)>1;return queueMicrotask(()=>{let t=zC.get(e)??0;t<=1?zC.delete(e):zC.set(e,t-1)}),t}z(),wn(),Sd(),Sn(),Br();let VC={blockTime:1e3,extendSchema:oS(),formatters:{transaction:gn({exclude:[`aaAuthorizationList`],format:FC}),transactionReceipt:yl({format:IC}),transactionRequest:xn({format:LC})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(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&&(r.multisig=i,r.from=py(i),r.account?.source!==`multisig`&&delete r.account),!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 j(t,DC,`getMetadata`)({account:i,accessKey:a});xd(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`||r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await BC(e):!1})()?(r.nonceKey=Cn,r.nonce=0,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)=>nC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Ey(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?zr(F(`0x04`,r,n)):r,a=(()=>{try{return wy({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await DC(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:Ny(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await qb(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Ny(o,{address:n,payload:r})}}return await j(e,eS,`verifyHash`)({...t,chain:null})}},HC=aS({...VC,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`]}}}),UC=aS({...VC,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}),WC=aS({...VC,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),GC=aS({...VC,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}),H={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},KC={payment:`Payment`},qC={evm:`evm`,stripe:`stripe`,tempo:`tempo`},JC={charge:`charge`,session:`session`,subscription:`subscription`},YC={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},XC={v1:`v1`,v2:`v2`};function ZC(e,t){if(!(!e||typeof e!=`object`))return e[t]}function QC(e){return e}function $C(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function ew(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 f(r)}}kp(),sx(),Ai(),E(),$f(),_x(),hd(),yx();async function tw(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,{batchSize:f=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},m=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return vx({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),h=[[]],g=0,_=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=md({abi:t,args:a,functionName:o});_+=(e.length-2)/2,f>0&&_>f&&h[g].length>0&&(g++,_=(e.length-2)/2,h[g]=[]),h[g]=[...h[g],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=ep(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;h[g]=[...h[g],{allowFailure:!0,callData:`0x`,target:r}]}}let v=await Promise.allSettled(h.map(t=>j(e,$x,`readContract`)({...m===null?{code:ox}:{address:m},abi:wp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),y=[];for(let e=0;e<v.length;e++){let t=v[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<h[e].length;n++)y.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}=h[e][t],{abi:s,address:c,functionName:l,args:u}=d[y.length];try{if(o===`0x`)throw new ui;if(!a)throw new Qf({data:r});let e=hx({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=ep(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new T(`multicall results mismatch`);return y}z(),p();async function nw(e,t){return nw.inner(N,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:bC,abi:uS,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(nw||={});async function rw(e,t){return rw.inner(N,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:bC,abi:uS,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=Fp({abi:uS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(rw||={});async function iw(e,t){return iw.inner(N,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:bC,abi:uS,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=Fp({abi:uS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(iw||={});async function aw(e,t){return aw.inner(N,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:bC,abi:uS,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=Fp({abi:uS,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(aw||={});async function ow(e,t){let{account:n=e.account,token:r,...i}=t,a=n?f(n).address:void 0;if(!a)throw Error(`account is required.`);return $x(e,{...i,...ow.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:bC,abi:uS,args:[t,n],functionName:`balanceOf`})}e.call=t})(ow||={});async function sw(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return $x(e,{...a,...sw.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:bC,abi:uS,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(sw||={});async function cw(e,t){let{orderId:n,...r}=t;return $x(e,{...r,...cw.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:bC,abi:uS,args:[t],functionName:`getOrder`})}e.call=t})(cw||={});async function lw(e,t){let{base:n,quote:r,...i}=t;return $x(e,{...i,...lw.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return V({address:bC,abi:uS,args:[gw(t,n)],functionName:`books`})}e.call=t})(lw||={});async function uw(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await $x(e,{...a,...uw.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:bC,abi:uS,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(uw||={});async function dw(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return $x(e,{...a,...dw.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:bC,abi:uS,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(dw||={});async function fw(e,t){return fw.inner(N,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:bC,abi:uS,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=Fp({abi:uS,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(fw||={});async function pw(e,t){return pw.inner(N,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:bC,abi:uS,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=Fp({abi:uS,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})(pw||={});async function mw(e,t){return mw.inner(N,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:bC,abi:uS,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(mw||={});async function hw(e,t){return hw.inner(N,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:bC,abi:uS,functionName:`withdraw`,args:[t,n]})}e.call=n})(hw||={});function gw(e,t){return Yh(F(e,t))}z(),p(),hd();async function _w(e,t){let{token:n,...r}=t;return _w.inner(N,e,t,{...r,token:n})}(function(e){async function t(t,n,r,i){let a=e.call(i);return await t(n,{...r,...a})}e.inner=t;function n(e){let{spender:t,amount:n,token:r}=e;return V({address:f_(r),abi:B,functionName:`approve`,args:[t,n]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(_w||={});async function vw(e,t){return vw.inner(N,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call({amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{from:t,amount:n,token:r}=e;return V({address:f_(r),abi:B,functionName:`burnBlocked`,args:[t,n]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(vw||={});async function yw(e,t){return yw.inner(N,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call({amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{amount:t,memo:n,token:r}=e,i=n?{functionName:`burnWithMemo`,args:[t,Um(n,32)]}:{functionName:`burn`,args:[t]};return V({address:f_(r),abi:B,...i})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(yw||={});async function bw(e,t){return bw.inner(N,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call({policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,policyId:n}=e;return V({address:f_(t),abi:B,functionName:`changeTransferPolicyId`,args:[n]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(bw||={});async function xw(e,t){return xw.inner(N,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?f(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call({...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e){let{name:t,symbol:n,currency:r,logoURI:i,quoteToken:a=`0x20c0000000000000000000000000000000000000`,admin:o,salt:s=Gm(32)}=e;return V({address:`0x20fc000000000000000000000000000000000000`,abi:_S,args:typeof i==`string`?[t,n,r,f_(a),o,s,i]:[t,n,r,f_(a),o,s],functionName:`createToken`})}e.call=n;function r(e){let[t]=Fp({abi:_S,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(xw||={});async function Sw(e,t){let{account:n=e.account}=t,r=n?f(n).address:void 0;if(!r)throw Error(`account is required.`);return $x(e,{...t,...Sw.call({...t,account:r})})}(function(e){function t(e){let{account:t,spender:n,token:r}=e;return V({address:f_(r),abi:B,functionName:`allowance`,args:[t,n]})}e.call=t})(Sw||={});async function Cw(e,t){let{account:n=e.account,...r}=t,i=n?f(n).address:void 0;if(!i)throw Error(`account is required.`);return $x(e,{...r,...Cw.call({account:i,...r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:f_(n),abi:B,functionName:`balanceOf`,args:[t]})}e.call=t})(Cw||={});async function ww(e,t){let{token:n,...r}=t,i=f_(n),a=B;return u_(n)===d_(`0x20c0000000000000000000000000000000000000`)?tw(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:Tw(r),symbol:Tw(i),currency:Tw(e),decimals:Tw(t),logoURI:Tw(n,``),totalSupply:Tw(a)})):tw(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,s,c,l])=>({name:Tw(i),symbol:Tw(s),currency:Tw(e),decimals:Tw(t),logoURI:Tw(n,``),quoteToken:Tw(r),totalSupply:Tw(c),paused:Tw(a),supplyCap:Tw(o),transferPolicyId:Tw(l)}))}function Tw(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function Ew(e,t){return $x(e,{...t,...Ew.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return V({address:f_(n),abi:B,functionName:`getRoleAdmin`,args:[rb(t)]})}e.call=t})(Ew||={});async function Dw(e,t){let{account:n=e.account}=t,r=n?f(n).address:void 0;if(!r)throw Error(`account is required.`);return $x(e,{...t,...Dw.call({...t,account:r})})}(function(e){function t(e){let{account:t,role:n,token:r}=e;return V({address:f_(r),abi:B,functionName:`hasRole`,args:[t,rb(n)]})}e.call=t})(Dw||={});async function Ow(e,t){return Ow.inner(pl,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:md(n)}})})}e.inner=t;function n(e){let{token:t,to:n,role:r}=e,i=rb(r);return V({address:f_(t),abi:B,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=Fp({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Ow||={});async function kw(e,t){return kw.inner(N,e,t)}(function(e){async function t(t,n,r){let i=e.call(r);return await t(n,{...r,...i})}e.inner=t;function n(e){let{to:t,amount:n,memo:r,token:i}=e,a=r?{functionName:`mintWithMemo`,args:[t,n,Um(r,32)]}:{functionName:`mint`,args:[t,n]};return V({address:f_(i),abi:B,...a})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(kw||={});async function Aw(e,t){return Aw.inner(N,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:f_(t),abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Aw||={});async function jw(e,t){return jw.inner(pl,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:md(n)}})})}e.inner=t;function n(e){let{token:t,role:n}=e,r=rb(n);return V({address:f_(t),abi:B,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=Fp({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(jw||={});async function Mw(e,t){return Mw.inner(pl,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 n=e.call({...r,role:t});return{...n,data:md(n)}})})}e.inner=t;function n(e){let{token:t,from:n,role:r}=e,i=rb(r);return V({address:f_(t),abi:B,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=Fp({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Mw||={});async function Nw(e,t){return Nw.inner(N,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call({supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,supplyCap:n}=e;return V({address:f_(t),abi:B,functionName:`setSupplyCap`,args:[n]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(Nw||={});async function Pw(e,t){return Pw.inner(N,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call({adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{token:t,role:n,adminRole:r}=e,i=rb(n),a=rb(r);return V({address:f_(t),abi:B,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(Pw||={});async function Fw(e,t){return Fw.inner(N,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,memo:o,token:s,to:c,...l}=r,u=e.call({amount:i,from:a,memo:o,token:s,to:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{amount:t,from:n,memo:r,token:i,to:a}=e,o=r&&n?{functionName:`transferFromWithMemo`,args:[n,a,t,Um(r,32)]}:r?{functionName:`transferWithMemo`,args:[a,t,Um(r,32)]}:n?{functionName:`transferFrom`,args:[n,a,t]}:{functionName:`transfer`,args:[a,t]};return V({address:f_(i),abi:B,...o})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(Fw||={});async function Iw(e,t){return Iw.inner(N,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:f_(t),abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Iw||={});async function Lw(e,t){return Lw.inner(N,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call({quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,quoteToken:n}=e;return V({address:f_(t),abi:B,functionName:`setNextQuoteToken`,args:[f_(n)]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(Lw||={});async function Rw(e,t){return Rw.inner(N,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:f_(t),abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=Fp({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(Rw||={});function zw(e){return e.source}var Bw=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 Vw(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Hw(r.error);return r.result}function Hw(e){let t=e;if(t instanceof Error&&!(`code`in t))return new eT({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===eT.code?new eT(t):n===Ww.code?new Ww(t):n===$w.code?new $w(t):n===Zw.code?new Zw(t):n===Yw.code?new Yw(t):n===Qw.code?new Qw(t):n===Jw.code?new Jw(t):n===tT.code?new tT(t):n===Gw.code?new Gw(t):n===Kw.code?new Kw(t):n===qw.code?new qw(t):n===Xw.code?new Xw(t):new eT({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Uw=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??``}},Ww=class e extends Uw{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(Ww,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Gw=class e extends Uw{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(Gw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Kw=class e extends Uw{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(Kw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var qw=class e extends Uw{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(qw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Jw=class e extends Uw{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(Jw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Yw=class e extends Uw{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(Yw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Xw=class e extends Uw{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(Xw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Zw=class e extends Uw{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(Zw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Qw=class e extends Uw{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(Qw,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var $w=class e extends Uw{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($w,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var eT=class e extends Uw{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(eT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var tT=class e extends Uw{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(tT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Kp();var nT=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}},rT=class extends nT{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(rT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var iT=class extends nT{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(iT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var aT=class extends nT{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(aT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var oT=class extends nT{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(oT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var sT=class extends nT{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(sT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var cT=class extends nT{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(cT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var lT=class extends nT{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(lT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var uT=class extends nT{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(uT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var dT=class extends nT{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(dT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var fT=class extends nT{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(fT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var pT=class extends nT{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(pT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var mT=class extends nT{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(mT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var hT=class extends nT{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(hT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function gT(){let e=new Bw.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 _T(e,t={}){if(!e)throw new yT;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Vw(n):n}catch(e){throw vT(e)}}}}function vT(e){let t=Hw(e);if(t instanceof eT){if(!t.data)return t;let{code:e}=t.data;if(e===oT.code)return new oT(t);if(e===sT.code)return new sT(t);if(e===rT.code)return new rT(t);if(e===iT.code)return new iT(t);if(e===aT.code)return new aT(t);if(e===cT.code)return new cT(t);if(e===mT.code)return new mT(t);if(e===hT.code)return new hT(t);if(e===pT.code)return new pT(t);if(e===fT.code)return new fT(t);if(e===dT.code)return new dT(t);if(e===uT.code)return new uT(t);if(e===lT.code)return new lT(t)}return t}var yT=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function bT(e={}){let t=e.id??0;return{prepare(e){return xT({id:t++,...e})},get id(){return t}}}function xT(e){return{...e,jsonrpc:`2.0`}}function ST(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return lp({key:ST.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(tC(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:ST.type})}}function CT(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=_({chain:i.chain,transport:ST(Cp(e),Cp(n))});Object.assign(i,{transport:t.transport,request:t.request})}}return!t?.serializers||i.chain?.serializers?.transaction?i:Object.assign({},i,{chain:{...t,...i.chain,formatters:i.chain?.formatters??t.formatters,prepareTransactionRequest:i.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:i.chain?.serializers?.transaction?i.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?ST(Cp(a),Cp(n)):Cp(a);return _({chain:{...t,id:r},transport:o})}}var wT;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 TT=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ET=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(wT=globalThis).__zod_globalConfig??(wT.__zod_globalConfig={});let DT=globalThis.__zod_globalConfig;function OT(e){return e&&Object.assign(DT,e),DT}function kT(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 AT(e,t){return typeof t==`bigint`?t.toString():t}function jT(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function MT(e){return e==null}function NT(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let PT=Symbol(`evaluating`);function FT(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==PT)return r===void 0&&(r=PT,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function IT(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function LT(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}let RT=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function zT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function BT(e){if(zT(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(zT(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let VT=new Set([`string`,`number`,`symbol`]),HT=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function UT(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function WT(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function GT(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 KT(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function qT(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 WT(e,LT(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 IT(this,`shape`,r),r},checks:[]}))}function JT(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 YT(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 XT(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function ZT(e){return typeof e==`string`?e:e?.message}function QT(e,t,n){let r=e.message?e.message:ZT(e.inst?._zod.def?.error?.(e))??ZT(t?.error?.(e))??ZT(n.customError?.(e))??ZT(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 $T(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function eE(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let tE=(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,AT,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},nE=U(`$ZodError`,tE),rE=U(`$ZodError`,tE,{Parent:Error}),iE=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 TT;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>QT(e,a,OT())));throw RT(t,i?.callee),t}return o.value},aE=iE(rE),oE=(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=>QT(e,a,OT())));throw RT(t,i?.callee),t}return o.value})(rE),sE=(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 TT;return a.issues.length?{success:!1,error:new(e??nE)(a.issues.map(e=>QT(e,i,OT())))}:{success:!0,data:a.value}})(rE),cE=(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=>QT(e,i,OT())))}:{success:!0,data:a.value}})(rE),lE=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return iE(e)(t,n,i)})(rE),uE=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},dE=/^-?\\d+n?$/,fE=/^-?\\d+(?:\\.\\d+)?$/,pE=/^(?:true|false)$/i,mE=/^null$/i,hE=/^undefined$/i,gE=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),_E={number:`number`,bigint:`bigint`,object:`date`},vE=U(`$ZodCheckLessThan`,(e,t)=>{gE.init(e,t);let n=_E[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})}}),yE=U(`$ZodCheckGreaterThan`,(e,t)=>{gE.init(e,t);let n=_E[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})}}),bE=U(`$ZodCheckMaxLength`,(e,t)=>{var n;gE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!MT(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=$T(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),xE=U(`$ZodCheckMinLength`,(e,t)=>{var n;gE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!MT(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=$T(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),SE=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;gE.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=()=>{})}),CE=U(`$ZodCheckRegex`,(e,t)=>{SE.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})}}),wE={major:4,minor:4,patch:3},TE=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=wE;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=JT(e),i;for(let a of t){if(a._zod.def.when){if(YT(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 TT;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=JT(e,t))});else{if(e.issues.length===t)continue;r||=JT(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(JT(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new TT;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 TT;return o.then(e=>t(e,r,a))}return t(o,r,a)}}FT(e,`~standard`,()=>({validate:t=>{try{let n=sE(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return cE(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),EE=U(`$ZodString`,(e,t)=>{TE.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??uE(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}}),DE=U(`$ZodNumber`,(e,t)=>{TE.init(e,t),e._zod.pattern=e._zod.bag.pattern??fE,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}}),OE=U(`$ZodBoolean`,(e,t)=>{TE.init(e,t),e._zod.pattern=pE,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}}),kE=U(`$ZodBigInt`,(e,t)=>{TE.init(e,t),e._zod.pattern=dE,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}}),AE=U(`$ZodUndefined`,(e,t)=>{TE.init(e,t),e._zod.pattern=hE,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}}),jE=U(`$ZodNull`,(e,t)=>{TE.init(e,t),e._zod.pattern=mE,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}}),ME=U(`$ZodUnknown`,(e,t)=>{TE.init(e,t),e._zod.parse=e=>e});function NE(e,t,n){e.issues.length&&t.issues.push(...XT(n,e.issues)),t.value[n]=e.value}let PE=U(`$ZodArray`,(e,t)=>{TE.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=>NE(t,n,e))):NE(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function FE(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...XT(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 IE(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=KT(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function LE(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=>FE(e,n,i,t,u,d))):FE(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 RE=U(`$ZodObject`,(e,t)=>{if(TE.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=jT(()=>IE(t));FT(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=zT,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=>FE(n,t,e,s,r,i))):FE(a,t,e,s,r,i)}return i?LE(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function zE(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=>!JT(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=>QT(e,r,OT())))}),t)}let BE=U(`$ZodUnion`,(e,t)=>{TE.init(e,t),FT(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),FT(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),FT(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),FT(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=>NT(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=>zE(t,r,e,i)):zE(o,r,e,i)}}),VE=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,BE.init(e,t);let n=e._zod.parse;FT(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=jT(()=>{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(!zT(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)}}),HE=U(`$ZodTuple`,(e,t)=>{TE.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=UE(n,`optin`),c=UE(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=>WE(t,r,e))):WE(a,r,e)}}return o.length?Promise.all(o).then(()=>GE(l,r,n,a,c)):GE(l,r,n,a,c)}});function UE(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function WE(e,t,n){e.issues.length&&t.issues.push(...XT(n,e.issues)),t.value[n]=e.value}function GE(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(...XT(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 KE=U(`$ZodRecord`,(e,t)=>{TE.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!BT(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=>QT(e,r,OT())),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(...XT(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...XT(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`&&fE.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=>QT(e,r,OT())),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(...XT(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...XT(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),qE=U(`$ZodEnum`,(e,t)=>{TE.init(e,t);let n=kT(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>VT.has(typeof e)).map(e=>typeof e==`string`?UT(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}}),JE=U(`$ZodLiteral`,(e,t)=>{if(TE.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`?UT(e):e?UT(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}}),YE=U(`$ZodTransform`,(e,t)=>{TE.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ET(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 TT;return n.value=i,n.fallback=!0,n}});function XE(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let ZE=U(`$ZodOptional`,(e,t)=>{TE.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,FT(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),FT(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${NT(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=>XE(e,r)):XE(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),QE=U(`$ZodNullable`,(e,t)=>{TE.init(e,t),FT(e._zod,`optin`,()=>t.innerType._zod.optin),FT(e._zod,`optout`,()=>t.innerType._zod.optout),FT(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${NT(e.source)}|null)$`):void 0}),FT(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)}),$E=U(`$ZodPipe`,(e,t)=>{TE.init(e,t),FT(e._zod,`values`,()=>t.in._zod.values),FT(e._zod,`optin`,()=>t.in._zod.optin),FT(e._zod,`optout`,()=>t.out._zod.optout),FT(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=>eD(e,t.in,n)):eD(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>eD(e,t.out,n)):eD(r,t.out,n)}});function eD(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 tD=U(`$ZodCodec`,(e,t)=>{TE.init(e,t),FT(e._zod,`values`,()=>t.in._zod.values),FT(e._zod,`optin`,()=>t.in._zod.optin),FT(e._zod,`optout`,()=>t.out._zod.optout),FT(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=>nD(e,t,n)):nD(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>nD(e,t,n)):nD(r,t,n)}}});function nD(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=>rD(e,r,t.out,n)):rD(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>rD(e,r,t.in,n)):rD(e,r,t.in,n)}}function rD(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let iD=U(`$ZodReadonly`,(e,t)=>{TE.init(e,t),FT(e._zod,`propValues`,()=>t.innerType._zod.propValues),FT(e._zod,`values`,()=>t.innerType._zod.values),FT(e._zod,`optin`,()=>t.innerType?._zod?.optin),FT(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(aD):aD(r)}});function aD(e){return e.value=Object.freeze(e.value),e}let oD=U(`$ZodTemplateLiteral`,(e,t)=>{TE.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||HT.has(typeof e))n.push(UT(`${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)}),sD=U(`$ZodCustom`,(e,t)=>{gE.init(e,t),TE.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=>cD(t,n,r,e));cD(i,n,r,e)}});function cD(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(eE(e))}}function lD(e,t){return new e({type:`string`,...GT(t)})}function uD(e,t){return new e({type:`number`,checks:[],...GT(t)})}function dD(e,t){return new e({type:`boolean`,...GT(t)})}function fD(e,t){return new e({type:`bigint`,...GT(t)})}function pD(e,t){return new e({type:`undefined`,...GT(t)})}function mD(e,t){return new e({type:`null`,...GT(t)})}function hD(e){return new e({type:`unknown`})}function gD(e,t){return new vE({check:`less_than`,...GT(t),value:e,inclusive:!0})}function _D(e,t){return new yE({check:`greater_than`,...GT(t),value:e,inclusive:!0})}function vD(e,t){return new bE({check:`max_length`,...GT(t),maximum:e})}function yD(e,t){return new xE({check:`min_length`,...GT(t),minimum:e})}function bD(e,t){return new CE({check:`string_format`,format:`regex`,...GT(t),pattern:e})}function xD(e,t,n){let r=GT(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function SD(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...GT(n)})}let CD=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);TE.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>aE(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>sE(e,t,n),e.parseAsync=async(t,n)=>oE(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>cE(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)=>WT(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),wD=U(`ZodMiniString`,(e,t)=>{EE.init(e,t),CD.init(e,t)});function W(e){return lD(wD,e)}let TD=U(`ZodMiniNumber`,(e,t)=>{DE.init(e,t),CD.init(e,t)});function ED(e){return uD(TD,e)}let DD=U(`ZodMiniBoolean`,(e,t)=>{OE.init(e,t),CD.init(e,t)});function OD(e){return dD(DD,e)}let kD=U(`ZodMiniBigInt`,(e,t)=>{kE.init(e,t),CD.init(e,t)});function AD(e){return fD(kD,e)}let jD=U(`ZodMiniUndefined`,(e,t)=>{AE.init(e,t),CD.init(e,t)});function MD(e){return pD(jD,e)}let ND=U(`ZodMiniNull`,(e,t)=>{jE.init(e,t),CD.init(e,t)});function PD(e){return mD(ND,e)}let FD=U(`ZodMiniUnknown`,(e,t)=>{ME.init(e,t),CD.init(e,t)});function ID(){return hD(FD)}let LD=U(`ZodMiniArray`,(e,t)=>{PE.init(e,t),CD.init(e,t)});function G(e,t){return new LD({type:`array`,element:e,...GT(t)})}let RD=U(`ZodMiniObject`,(e,t)=>{RE.init(e,t),CD.init(e,t),FT(e,`shape`,()=>t.shape)});function K(e,t){return new RD({type:`object`,shape:e??{},...GT(t)})}function zD(e,t){return qT(e,t)}let BD=U(`ZodMiniUnion`,(e,t)=>{BE.init(e,t),CD.init(e,t)});function q(e,t){return new BD({type:`union`,options:e,...GT(t)})}let VD=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{VE.init(e,t),CD.init(e,t)});function HD(e,t,n){return new VD({type:`union`,options:t,discriminator:e,...GT(n)})}let UD=U(`ZodMiniTuple`,(e,t)=>{HE.init(e,t),CD.init(e,t)});function WD(e,t,n){let r=t instanceof TE;return new UD({type:`tuple`,items:e,rest:r?t:null,...GT(r?n:t)})}let GD=U(`ZodMiniRecord`,(e,t)=>{KE.init(e,t),CD.init(e,t)});function KD(e,t,n){return!t||!t._zod?new GD({type:`record`,keyType:W(),valueType:e,...GT(t)}):new GD({type:`record`,keyType:e,valueType:t,...GT(n)})}let qD=U(`ZodMiniEnum`,(e,t)=>{qE.init(e,t),CD.init(e,t),e.options=Object.values(t.entries)});function JD(e,t){return new qD({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...GT(t)})}let YD=U(`ZodMiniLiteral`,(e,t)=>{JE.init(e,t),CD.init(e,t)});function J(e,t){return new YD({type:`literal`,values:Array.isArray(e)?e:[e],...GT(t)})}let XD=U(`ZodMiniTransform`,(e,t)=>{YE.init(e,t),CD.init(e,t)});function ZD(e){return new XD({type:`transform`,transform:e})}let QD=U(`ZodMiniOptional`,(e,t)=>{ZE.init(e,t),CD.init(e,t)});function Y(e){return new QD({type:`optional`,innerType:e})}let $D=U(`ZodMiniNullable`,(e,t)=>{QE.init(e,t),CD.init(e,t)});function eO(e){return new $D({type:`nullable`,innerType:e})}let tO=U(`ZodMiniPipe`,(e,t)=>{$E.init(e,t),CD.init(e,t)});function nO(e,t){return new tO({type:`pipe`,in:e,out:t})}let rO=U(`ZodMiniCodec`,(e,t)=>{tO.init(e,t),tD.init(e,t)});function iO(e,t,n){return new rO({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let aO=U(`ZodMiniReadonly`,(e,t)=>{iD.init(e,t),CD.init(e,t)});function X(e){return new aO({type:`readonly`,innerType:e})}let oO=U(`ZodMiniTemplateLiteral`,(e,t)=>{oD.init(e,t),CD.init(e,t)});function sO(e,t){return new oO({type:`template_literal`,parts:e,...GT(t)})}let cO=U(`ZodMiniCustom`,(e,t)=>{sD.init(e,t),CD.init(e,t)});function lO(e,t){return xD(cO,e??(()=>!0),t)}function uO(e,t={}){return SD(cO,e,t)}function dO(){return W().check(bD(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function fO(){return W().check(bD(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function pO(e=`Invalid ISO 8601 datetime`){return nO(q([fO(),lO(e=>e instanceof Date)]),ZD(mO)).check(uO(e=>Number.isFinite(e.getTime()),e))}function mO(e){return e instanceof Date?e:new Date(e)}function hO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function gO(){return W().check(bD(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function _O(){return W().check(bD(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function vO(){return W().check(bD(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}function yO(e){return`accessKeyAddress`in e}function bO(e){return yO(e)?e.accessKeyAddress:e.address}let xO={mainnet:4217,testnet:42431},SO={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};xO.mainnet,SO.usdc,xO.testnet,SO.pathUsd;let CO={[xO.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[xO.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},wO={[xO.mainnet]:`https://rpc.tempo.xyz`,[xO.testnet]:`https://rpc.moderato.tempo.xyz`},TO=[`push`,`pull`],EO=K({amount:dO(),memo:Y(_O()),recipient:nO(W(),ZD(e=>e))}),DO=(1n<<64n)-1n,OO={dev_second:1n,day:86400n,week:604800n},kO=nO(gO(),ZD(e=>e.toLowerCase())),AO=K({accessKeyAddress:kO,keyType:JD([`p256`,`secp256k1`,`webAuthn`])}),jO=K({accessKey:Y(AO),chainId:Y(ED())}),MO=pO(`subscriptionExpires must be a valid date`).check(uO(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),NO=JD([`dev_second`,`day`,`week`]),PO=nO(q([W(),AD(),lO(e=>typeof e==`number`&&Number.isSafeInteger(e))]),ZD(e=>e.toString())).check(bD(/^[1-9]\\d*$/,`Invalid periodCount`),uO(e=>{try{return BigInt(e)<=DO}catch{return!1}},`periodCount exceeds uint64`));function FO(e){return uO(e=>{let{amount:t,decimals:n}=e;return Bp(t,n)>0n},e)}function IO(e){let{periodCount:t,periodUnit:n}=e;try{let e=OO[n];return e===void 0?!1:BigInt(t)*e<=DO}catch{return!1}}let LO=QC({name:`tempo`,intent:`charge`,schema:{credential:{payload:HD(`type`,[K({hash:_O(),type:J(`hash`)}),K({signature:vO(),type:J(`transaction`)}),K({signature:vO(),type:J(`proof`)})])},request:nO(K({amount:dO(),chainId:Y(ED()),currency:W(),decimals:ED(),description:Y(W()),externalId:Y(W()),feePayer:Y(nO(q([OD(),lO()]),ZD(e=>typeof e==`object`?!0:e))),memo:Y(_O()),recipient:Y(W()),splits:Y(G(EO).check(yD(1),vD(10))),supportedModes:Y(G(JD(TO)).check(yD(1)))}).check(uO(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Bp(e,t),i=n.reduce((e,n)=>e+Bp(n.amount,t),0n);return n.every(e=>Bp(e.amount,t)>0n)&&i<r},`Invalid splits`)),ZD(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Bp(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:Bp(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),RO=QC({name:`tempo`,intent:`session`,schema:{credential:{payload:HD(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:_O(),cumulativeAmount:dO(),descriptor:Y(lO()),signature:vO(),transaction:vO(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:dO(),channelId:_O(),descriptor:Y(lO()),transaction:vO(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:_O(),cumulativeAmount:dO(),descriptor:Y(lO()),signature:vO()}),K({action:J(`close`),channelId:_O(),cumulativeAmount:dO(),descriptor:Y(lO()),signature:vO()})])},request:nO(K({amount:dO(),chainId:Y(ED()),channelId:Y(_O()),currency:W(),decimals:ED(),escrowContract:Y(W()),feePayer:Y(nO(q([OD(),lO()]),ZD(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(dO()),operator:Y(gO()),recipient:Y(W()),sessionProtocol:Y(JD([XC.v2,XC.v1])),sessionSnapshot:Y(lO()),suggestedDeposit:Y(dO()),unitType:W()}).check(uO(({amount:e,decimals:t})=>Bp(e,t)>0n,`Session amount must be greater than 0`)),ZD(({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:Bp(e,r).toString(),...u?{suggestedDeposit:Bp(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Bp(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[YC.sessionProtocol]:c},...l!==void 0&&{[YC.sessionSnapshot]:l}}})))}}),zO=QC({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:vO(),type:J(`keyAuthorization`)})},request:nO(K({amount:dO(),accessKey:Y(AO),chainId:Y(ED()),currency:kO,decimals:ED(),description:Y(W()),externalId:Y(W()),methodDetails:Y(jO),periodCount:PO,periodUnit:NO,recipient:kO,subscriptionExpires:MO}).check(FO(`Subscription amount must be greater than 0`),uO(IO,`Subscription period exceeds uint64`)),ZD(({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:Bp(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});function BO(e){return j_(e)}function VO(){return null}function HO(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let UO={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function WO(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function GO(e,t,n){return of({domain:HO(e,t),types:UO,primaryType:`Voucher`,message:WO(n)})}async function KO(e,t,n,r,i){return vf(e,{account:t,domain:HO(r,i),types:UO,primaryType:`Voucher`,message:WO(n)})}function qO(e){let t=Dy(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 hv(t.inner.signature)}return Ay(t)}function JO(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function YO(e){if(!JO(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function XO(e,t,n,r,i,a){let o=a??t,s=bO(o),c=GO(r,i,n),l=qO(yO(o)?await o.sign({hash:c,raw:!0}):await KO(e,o,n,r,i)),u=Dy(l);if(YO(u),!Ny(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}dm();function ZO(e){let t=Pv(e);return JSON.parse(t)}function QO(e){return Mv(sm(e),{pad:!1,url:!0})}Lm();let $O=K({description:Y(W()),digest:Y(W().check(bD(/^sha-256=/,`Invalid digest format`))),expires:Y(fO()),id:W().check(yD(1)),intent:W(),method:W(),meta:Y(KD(W(),W())),opaque:Y(W()),realm:W(),request:KD(W(),ID())});function ek(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?hO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:QO(i)),f=l?dk({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return $O.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 tk(e,t){let n=nk(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=rk(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 ek({...a,request:ZO(r),...i&&{opaque:i}},t)}function nk(e){let t=KC.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(!ok(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 rk(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]=ik(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function ik(e,t){if(e[t]===`\"`)return ak(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function ak(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 ok(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 sk(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return ck(e.headers,t)}function ck(e,t){let n=e.get(H.wwwAuthenticate);if(!n)throw Error(`Missing ${H.wwwAuthenticate} header.`);return lk(n,t)}function lk(e,t){let n=[],r=RegExp(`${KC.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 tk(e.slice(r,a).replace(/,\\s*$/,``),t)})}function uk(e){return[e.realm,e.method,e.intent,QO(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?QO(e.meta):``)].join(`|`)}function dk(e,t){let n=uk(e);return Av(Xh(_m(t.secretKey),_m(n),{as:`Bytes`}),{url:!0,pad:!1})}var fk=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},pk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function mk(e){let t=e.match(RegExp(`^${KC.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new fk;try{let e=Pv(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=hk(r);return{challenge:$O.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:ZO(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new pk}}function hk(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!gk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:QO(e)}}function gk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function _k(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:QO(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:QO(r)},payload:e.payload,...e.source&&{source:e.source}},s=Mv(JSON.stringify(o),{pad:!1,url:!0});return`${KC.payment} ${s}`}var vk=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},yk=class extends vk{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}.`)}},Z=class extends vk{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.`)}},bk=class extends vk{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 xk(e,t){return e.toLowerCase()===t.toLowerCase()}function Sk(e){return Yh(Xg(Qg([`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 Ck=[{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:[]}];jp(),hd(),kp(),ud(),id(),Qx();async function wk(e,t,n){return $x(e,{address:t,abi:Ck,functionName:`getChannel`,args:[n]})}sd({abi:Ck,name:`open`}),sd({abi:Ck,name:`topUp`}),z(),hd();function Tk(e,t){return t??e}function Ek(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??CO[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function Dk(e,t,n,r){return _k({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function Ok(e,t,n,r,i,a,o){let s=Tk(t,o),c=await XO(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function kk(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=Tk(t,n.voucherSigner),d=bO(u),f=Gm(32),p=Sk({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=md({abi:B,functionName:`approve`,args:[r,o]}),h=md({abi:Ck,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await ul(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 tf(e,_),y=await XO(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{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 Ak(e,t,n,r){try{let i=await wk(e,t,n);if(i.deposit>0n&&!i.finalized)return{channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let jk=K({account:Y(lO()),action:Y(JD([`open`,`topUp`,`voucher`,`close`])),channelId:Y(W()),cumulativeAmount:Y(dO()),cumulativeAmountRaw:Y(W()),transaction:Y(W()),additionalDeposit:Y(dO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function Mk(e={}){let{decimals:t=6}=e,n=CT({chain:HC,getClient:e.getClient,rpcUrl:wO}),r=ew({account:e.account}),i=e.maxDeposit===void 0?void 0:Bp(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 Ek(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 Bp(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 Ak(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Bp(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).`)}}let te;if(ee?.opened)ee.cumulativeAmount+=y,te=await Ok(h,d,ee.channelId,ee.cumulativeAmount,g,m,C),c(ee);else{let e=await kk(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 Dk(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?Bp(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Bp(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 XO(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:bO(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 Ok(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 XO(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 Dk(r,x,d,i)}return $C(RO,{canHandleChallenge({challenge:e}){let t=ZC(e.request.methodDetails,YC.sessionProtocol);return t===void 0||t===XC.v1},context:jk,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,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.\")}})}function Nk(e,t){if(!e)throw new yk({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new yk({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new bk({expires:e})}function Pk(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=zk(n)}return t}function Fk(e,t){let n=Pk(e),r=Gk(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[zk(e)]??1,index:t}));return{definition:r,entries:i,header:Lk(i),keys:n}}function Ik(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)=>Uk(e,t))}function Lk(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${Yk(n)}`}).join(`, `)}function Rk(e,t,n){let r=new Map;for(let e of t){let t=zk(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(zk(e));if(!i)return[];let a=Bk(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)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function zk(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function Bk(e,t){let n;for(let r of t){if(!Vk(e,r))continue;let t={...r,specificity:Hk(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 Vk(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function Hk(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function Uk(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}`);Xk(r,`method`),Xk(i,`intent`);let a=1;for(let t of Wk(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=qk(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function Wk(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function Gk(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>zk(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]=Kk(t,`payment preference \"${e}\"`)}return a}function Kk(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return Jk(e,t)}function qk(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 Jk(Number(e),t)}function Jk(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 Yk(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function Xk(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Zk=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 Qk(e){}function $k(e){if(typeof e==`function`)throw TypeError(\"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?\");let{onEvent:t=Qk,onError:n=Qk,onRetry:r=Qk,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\\xEF\\xBB\\xBF/,``):e,[n,r]=eA(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1;f(n,e.slice(t+r),e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}\n`;break;case`id`:s=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Zk(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Zk(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`\n`)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function eA(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\\r`,r),a=e.indexOf(`\n`,r),o=-1;if(i!==-1&&a!==-1?o=Math.min(i,a):i===-1?a!==-1&&(o=a):o=i===e.length-1?-1:i,o===-1){n=e.slice(r);break}else{let n=e.slice(r,o);t.push(n),r=o+1,e[r-1]===`\\r`&&e[r]===`\n`&&r++}}return[t,n]}let tA=[`exact`],nA=`PAYMENT-REQUIRED`,rA=`PAYMENT-SIGNATURE`,iA=W().check(yD(1)),aA=ED().check(uO(e=>e>0,`Must be positive`)),oA=W().check(bD(/^\\d+$/,`Invalid atomic amount`)),sA=gO(),cA=W().check(bD(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),lA=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:iA}),uA=K({amount:oA,asset:iA,extra:Y(KD(W(),ID())),maxTimeoutSeconds:aA,network:cA,payTo:iA,scheme:JD(tA)}),dA=KD(W(),K({info:KD(W(),ID()),schema:KD(W(),ID())})),fA=K({accepts:G(uA).check(yD(1)),error:Y(W()),extensions:Y(dA),resource:lA,x402Version:J(2)}),pA=q([K({authorization:K({from:sA,nonce:_O(),to:sA,validAfter:oA,validBefore:oA,value:oA}),signature:vO()}),K({permit2Authorization:K({deadline:oA,from:sA,nonce:oA,permitted:K({amount:oA,token:sA}),spender:sA,witness:K({to:sA,validAfter:oA})}),signature:vO()})]),mA=K({accepted:uA,extensions:Y(dA),payload:pA,resource:Y(lA),x402Version:J(2)}),hA=K({amount:Y(oA),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(dA),extra:Y(KD(W(),ID())),network:iA,payer:Y(W()),success:OD(),transaction:W()}),gA=[H.authorization,nA,`PAYMENT-RESPONSE`,rA];function _A(e,t,n){let r=new Headers(e.headers);for(let e of gA)r.delete(e);return r.set(t,n),{...e,headers:r}}function vA(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 yA=new WeakMap;function bA(e){let t=vA(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 xA(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 SA(e,t){if(!e||e.id!==t||!(`error`in e)||e.error?.code!==-32042)return[];let n=e.error?.data?.challenges;if(!Array.isArray(n)||n.length===0)return[];let r=[];for(let e of n){let t=$O.safeParse(e);if(!t.success)return[];r.push(t.data)}return r}async function CA(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=$k({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=xA(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 wA(e){let t=yA.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(xA).catch(()=>void 0);if(t.includes(`text/event-stream`))return CA(e)})();return yA.set(e,n),n}function TA(){return{getChallenges(e,t){let n=bA(t);return e.status===402||n===void 0?[]:wA(e).then(e=>SA(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=mk(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function EA(){return{getChallenges(e){return e.status!==402||!e.headers.has(H.wwwAuthenticate)?[]:sk(e)},setCredential(e,t){return _A(e,H.authorization,t)}}}function DA(e){return{encode(t){return Mv(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(Pv(t)))}catch{throw new OA}}}}var OA=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let kA=DA(fA),AA=DA(mA),jA=DA(hA);kA.encode;let MA=kA.decode;AA.encode,AA.decode,jA.encode,jA.decode;let NA=Symbol.for(`mppx.x402.challenge`);function PA(e){return Object.defineProperty(e,NA,{value:!0}),e}function FA(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(nA);if(!t)return[];let n=MA(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.map((e,t)=>PA(ek({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...e,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}})))},setCredential(e,t){return _A(e,rA,t)}}}function IA(e){return e}function LA(){let e=[EA(),FA(),TA()],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 IA({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 RA=Symbol.for(`mppx.fetch.wrapper`),zA;function BA(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a,orderChallenges:o,transport:s=LA()}=e,c=e.eventDispatcher??UA(),l=t??Fk(i),u=lj(r),d=async(e,t)=>{let r=cj(e,t?.headers),d=r.has(H.acceptPayment),f=pj(r,l),p=oj(e,t,r),m=aj(e,t,r,f.header,d,n),h=await u(uj(m.input),m.init),g=sj(m.init,await p);if(!await s.isPaymentRequired(h,g))return h;let _=t?.context,{context:v,orderChallenges:y,...b}=g??{},x,S,C;try{S=s.getChallenges?await s.getChallenges(h,g):[await s.getChallenge(h,g)];let n=(await mj(Rk(S,i,f.entries),y??o))[0];if(!n)throw Error(`No method found for challenges: ${S.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;x=r,C=n.method,x.expires&&Nk(x.expires,x.id);let l=qA(e=>fj(r,n.method,e??_)),d=await c.emit(`challenge.received`,JA({challenge:r,challenges:S,createCredential:l,init:t,input:e,method:n.method,response:h}))??(a?await a(x,{createCredential:l}):void 0)??await l();dj(d),await c.emit(`credential.created`,YA({challenge:r,credential:d,init:t,input:e,method:n.method,response:h}));let p=await u(yj(h,m.input,m.input),s.setCredential({...b,headers:m.headers},d,{challenge:r}));return p.ok&&await c.emit(`payment.response`,XA({challenge:r,credential:d,init:t,input:e,method:n.method,response:p})),p}catch(n){throw await c.emit(`payment.failed`,ZA({challenge:x,challenges:S,error:n,init:t,input:e,method:C,response:h})),n}};return d[RA]=u,d}function VA(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);zA||=globalThis.fetch,globalThis.fetch=BA({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(_j()?`same-origin`:`always`),fetch:globalThis.fetch})}function HA(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 UA(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set};return{async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await WA(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await KA(e[`*`],t,n),r}case`credential.created`:await GA(e[`credential.created`],n),await KA(e[`*`],t,n);return;case`payment.failed`:await GA(e[`payment.failed`],n),await KA(e[`*`],t,n);return;case`payment.response`:await GA(e[`payment.response`],n),await KA(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}}}async function WA(e,t){try{return await e(t)}catch{return}}async function GA(e,t){for(let n of e)try{await n(t)}catch{}}async function KA(e,t,n){await GA(e,Object.freeze({name:t,payload:n}))}function qA(e){let t;return n=>(t??=e(n),t)}function JA(e){return Object.freeze({challenge:nj(e.challenge),challenges:e.challenges.map(e=>nj(e)),createCredential:e.createCredential,init:QA(e.init),input:$A(e.input),method:ej(e.method),response:tj(e.response)})}function YA(e){return Object.freeze({challenge:nj(e.challenge),credential:e.credential,init:QA(e.init),input:$A(e.input),method:ej(e.method),...e.response===void 0?{}:{response:tj(e.response)}})}function XA(e){return Object.freeze({challenge:nj(e.challenge),credential:e.credential,init:QA(e.init),input:$A(e.input),method:ej(e.method),response:tj(e.response)})}function ZA(e){return Object.freeze({...e.challenge?{challenge:nj(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>nj(e))}:{},error:e.error,init:QA(e.init),input:$A(e.input),...e.method?{method:ej(e.method)}:{},...e.response===void 0?{}:{response:tj(e.response)}})}function QA(e){if(e)return ij({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function $A(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function ej(e){return ij(Object.assign({},e))}function tj(e){return e instanceof Response?e.clone():nj(e)}function nj(e){try{return rj(structuredClone(e))}catch{return ij(e)}}function rj(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))rj(t);return e}function ij(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function aj(e,t,n,r,i,a){let o=!!r&&!i&&hj(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(H.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function oj(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 sj(e,t){return t===void 0?e:{...e,body:t}}function cj(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function lj(e){let t=e;for(;t[RA];)t=t[RA];return t}function uj(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function dj(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 fj(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 pj(e,t){let n=e.get(H.acceptPayment);if(!n)return t;try{return{...t,entries:Ik(n),header:n}}catch{return t}}async function mj(e,t){return t?t(e):e}function hj(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=vj(e);return t===`same-origin`?_j()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>gj(n,e))}function gj(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 _j(){return globalThis.location!==void 0}function vj(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,_j()?globalThis.location.href:void 0)}function yj(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=vj(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}let bj=(1n<<96n)-1n;function xj(e){return e>=0n&&e<=bj}function Sj(e){return Cj(e),e}function Cj(e){if(!xj(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function wj(e){return typeof e==`object`&&!!e}function Tj(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function Ej(e){return wj(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function Dj(e){return wj(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 Oj(e){let t=Pv(e),n=JSON.parse(t);if(!Dj(n))throw Error(`Invalid session receipt.`);return n}function kj(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function Aj(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=jj(r);return Ej(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=jj(r);return Dj(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function jj(e){try{return JSON.parse(e)}catch{return null}}function Mj(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function Nj(){return JSON.stringify({mpp:`payment-close-request`})}function Pj(e){let t=Fj(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`&&Dj(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`&&Ej(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&Dj(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function Fj(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let Ij=`0x4d50500000000000000000000000000000000000`,Lj={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function Rj(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Bp(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=Mk({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=BA({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`);T(t),T(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 T(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function E(e){let t=e.headers.get(H.paymentReceipt),n=t?Oj(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function ie(e,t){return o=e,E(await y(e,t))}function ae(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=Lj.CLOSED,r=null}if(e===`open`&&(i=Lj.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await 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:{[H.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(H.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}},fetch:ie,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await ie(e,{...s,headers:{...HA(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=Aj(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);T(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`,[H.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 zj(Rk(sk(C),[v],Fk([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 E=await v.createCredential({challenge:re,context:{}});f=null,l=re,g=0n,_=BigInt(re.request.amount);let ie=mk(E);u=ie.payload.channelId;let oe=new n(y,p);d=oe;let se=ae(oe),ce=e=>{te(Error(e)),ne(Error(e)),(oe.readyState===Lj.CONNECTING||oe.readyState===Lj.OPEN)&&oe.close(3008,e)},le=e=>e.challengeId===re.id&&e.channelId===u,ue=new Promise((e,t)=>{let n=()=>{oe.removeEventListener(`error`,r),se.emit(`open`,{type:`open`}),e()},r=()=>{oe.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};oe.addEventListener(`open`,n,{once:!0}),oe.addEventListener(`error`,r,{once:!0})});return oe.addEventListener(`close`,e=>{d===oe&&(d=null),l===re&&(l=null),u===ie.payload.channelId&&(u=null),m=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),se.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),oe.addEventListener(`error`,()=>{se.emit(`error`,{type:`error`})}),oe.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=Pj(t);if(!n){se.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,se.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!le(n.data)){ce(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ce(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),ee(n.data),se.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){ce(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{T(e)}catch(e){ce(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:re,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});oe.send(Mj(r));break}case`payment-receipt`:if(!le(n.data)){ce(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){ce(`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.`)),oe.close()},{once:!0}),await ue,oe.send(Mj(E)),await S(),se.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===Lj.OPEN){let t=f??await(async()=>(d.send(Nj()),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(Mj(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 T(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:{[H.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(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${H.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(H.paymentReceipt);return p?Oj(p):void 0}}}async function zj(e,t){let n=t;return n?n(e):e}z();function Bj(e){return Yh(Xg(Qg([`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 Vj(e){return Vb(e)}function Hj(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function Uj(e,t){return Yh(F(Vj(e),t.sender))}let Wj=[{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`}],Gj=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],Kj={name:`descriptor`,type:`tuple`,components:Wj},qj=[{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:[Kj,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[Kj,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[Kj,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[Kj],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[Kj],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[Kj],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:Wj},{name:`state`,type:`tuple`,components:Gj}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:Gj}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:Gj}]},{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 Jj(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let Yj={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function Xj(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function Zj(e,t){return dC(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function Qj(e,t,n,r,i){let a=Dy(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await Zj(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return vf(e,{account:t,domain:Jj(r,i),types:Yj,primaryType:`Voucher`,message:n})})());if(!Xj(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return Ay(a)}z(),hd(),Jr();function $j(e){return typeof e==`object`&&!!e}function eM(e){return typeof e==`string`&&Gr(e,{strict:!1})?e:void 0}function tM(e){return eM(e.accessKeyAddress)}function nM(e){return tM(e)??e.address}async function rM(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return ul(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function iM(e,t){return await tf(e,t)}function aM(e,t){let n=e.request.methodDetails,r=$j(n)?eM(n.escrowContract)??eM(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function oM(e,t,n,r){return _k({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function sM(e,t){return e.toLowerCase()===t.toLowerCase()}async function cM(e,t,n,r,i,a=Ij){let o=Bj({...n,chainId:i,escrow:a}),s=Sj(r),c=await Qj(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function lM(e,t,n,r,i,a=Ij){let o=await cM(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function uM(e,t,n){let r=nM(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=Gm(32),s=Sj(n.deposit),c=Sj(n.initialAmount),l=await iM(e,await rM(e,{account:t,calls:[{to:i,data:md({abi:qj,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=tC(l),d={authorizedSigner:r,expiringNonceHash:Uj(Hj({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=Bj({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await Qj(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function dM(e,t,n,r,i,a,o=Ij){let s=Bj({...n,chainId:i,escrow:o}),c=Sj(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await iM(e,await rM(e,{account:t,calls:[{to:o,data:md({abi:qj,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}function fM(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function pM(e){return fM({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function mM(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(pM(t),t)},delete(t){e.delete(t)}}}Qx();let hM=2n**96n-1n;function gM(e){if(e<0n||e>hM)throw new Z({reason:`amount exceeds uint96 range`})}async function _M(e,t,n=Ij){return vM(await $x(e,{address:n,abi:qj,functionName:`getChannelState`,args:[t]}))}function vM(e){return gM(e.settled),gM(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Jr();let yM=lO(e=>typeof e==`string`&&Gr(e,{strict:!1})),bM=lO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),xM=DA(K({acceptedCumulative:W(),chainId:ED(),channelId:bM,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:yM,expiringNonceHash:bM,operator:yM,payee:yM,payer:yM,salt:bM,token:yM}),escrow:yM,requiredCumulative:W(),settled:W(),spent:W(),units:Y(ED())}));function SM(e){return xM.encode(e)}function CM(e){return xM.decode(e)}let wM={status:`idle`};function TM(e){return{status:`active`,...e}}function EM(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?jM(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?jM(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:kM(e.challengeId,t.snapshot),effects:[]}:jM(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?jM(e,t):{state:HM({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:AM(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:jM(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?jM(e,t):{state:GM(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?OM({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):jM(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:jM(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?jM(e,t):{state:AM(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}]}:jM(e,t);case`settled`:return e.status===`settling`?{state:AM(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:jM(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:jM(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:jM(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?jM(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`?jM(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function DM(e,t){let n=EM(e.state,t);return e.state=n.state,n}function OM(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 kM(e,t){return TM({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function AM(e,t,n,r){return TM({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function jM(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function MM(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function NM(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`);MM({cumulativeAmount:i,maxVoucherCumulative:n}),MM({cumulativeAmount:a,maxVoucherCumulative:n})}function PM(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;NM({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function FM(e,t){return typeof e==`bigint`?e:Bp(e,t)}function IM(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(LM(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 LM(e,t){MM({cumulativeAmount:e,maxVoucherCumulative:t??null})}function RM(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 zM(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function BM(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>zM({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function VM(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 HM(e){return TM({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 UM(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:wM}}function WM(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=PM({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&DM(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function GM(e,t){return TM({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function KM(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 qM(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 EM(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function JM(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 YM(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 XM(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(Nj()),e.waitForCloseReady()))(),a=BigInt(i.spent);BM({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=>VM({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(Mj(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Jr();function ZM(e){return`cumulativeAmount`in e}function QM(e){if(ZM(e))return BigInt(e.cumulativeAmount)}async function $M(e,t){t.opened?await e.store.set(t):await e.store.delete(pM(t)),e.notifyUpdate(t)}async function eN(e,t,n){let r=QM(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 $M(e,i))}let tN=lO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),nN=K({account:Y(lO()),action:Y(JD([`open`,`topUp`,`voucher`,`close`])),channelId:Y(lO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(dO()),cumulativeAmountRaw:Y(W()),transaction:Y(tN),descriptor:Y(lO()),additionalDeposit:Y(dO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function rN(e){return e?.action!==void 0}function iN(e){return rN(e)&&e.descriptor!==void 0}function aN(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 Bp(i,t)}function oN(e,t,n,r){let i=aN(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function sN(e){return typeof e==`object`&&!!e}function cN(e){return typeof e==`string`&&Gr(e,{strict:!1})?e:void 0}function lN(e){let t=e.request.methodDetails;return sN(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:cN(t.escrowContract),escrow:cN(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:cN(t.operator),sessionSnapshot:ZC(t,YC.sessionSnapshot)}:{}}function uN(e,t){if(typeof e==`string`&&Gr(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function dN(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function fN(e){return typeof e==`string`?e:void 0}async function pN(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=lN(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=aM(t,n),c=uN(t.request.recipient,`recipient`),l=uN(t.request.currency,`currency`);return{amount:dN(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:fM({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:fN(t.request.suggestedDeposit),token:l}}async function mN(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=_M}=e,o=Bj({...r,chainId:i.chainId,escrow:i.escrow});hN({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 hN(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(!sM(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!sM(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!sM(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!sM(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function gN(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function _N(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=aN(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function vN(e,t){if(!sM(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||sM(n,t.payer)?!0:sM(nM(e),n)}function yN(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(rN(r)){if(!iN(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=gN({context:r,snapshot:o.snapshot});return!n&&s&&vN(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&vN(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 bN(e,t){switch(e.type){case`open`:return xN(e,t);case`recover`:return SN(e,t);case`voucher`:return CN(e,t);case`manual`:return wN(e,t)}}async function xN(e,t){let{account:n,resolved:r}=e,i=IM({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await uM(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 $M(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function SN(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await mN({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:nM(n),token:o.token}}),l=_N({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`);LM(l,a);let u=await cM(o.client,n,s,l,o.chainId,o.escrow);return await $M(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function CN(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;LM(a,e.maxDeposit);let o=await cM(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await $M(t,r),o}async function wN(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=Bj({...o,chainId:a.chainId,escrow:a.escrow});hN({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:nM(n),token:a.token});let c=await TN({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await eN(t,a.key,c),c}async function TN(e){switch(e.context.action){case`open`:return EN(e);case`topUp`:return DN(e);case`voucher`:return ON(e);case`close`:return kN(e)}}async function EN(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=oN(r,i,`cumulativeAmount`,`open`),c=await cM(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 DN(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=oN(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:dM(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function ON(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return cM(a.client,t,i,oN(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function kN(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return lM(a.client,t,i,oN(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function AN(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=CT({chain:HC,getClient:a,rpcUrl:wO}),u=ew({account:t}),d=o===void 0?void 0:Bp(o,r),f=n??mM(),p={store:f,notifyUpdate:e=>s?.(e)};return $C(RO,{canHandleChallenge({challenge:e}){return ZC(e.request.methodDetails,YC.sessionProtocol)===XC.v2},context:nN,async createCredential({challenge:e,context:t}){let n=await pN({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=gN({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 oM(e,await bN(yN({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}})}Lm(),z();let jN=L(Yh(_m(`mpp`),{as:`Hex`}),0,4);function MN(e){return Jm(L(Yh(_m(e),{as:`Hex`}),0,10))}function NN(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(Jm(jN),0),i[4]=1,i.set(MN(t),5),n&&i.set(MN(n),15),i.set(PN(r),25),Vm(i)}function PN(e){return Jm(L(Yh(_m(e),{as:`Hex`}),0,7))}let FN=[SO.pathUsd,SO.usdc];async function IN(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!xk(e,i)),c=await Promise.allSettled([$x(e,Cw.call({account:n,token:i})),...s.map(t=>$x(e,Cw.call({account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await sw(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[_w.call({token:l,spender:bC,amount:e}),nw.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new RN({currency:i})}}function LN(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>xk(e,t)))]:t,slippage:e.slippage??1}:!1}var RN=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function zN(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 BN={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function VN(e){return{name:`MPP`,version:`3`,chainId:e}}function HN(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function UN(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:VN(n),types:BN,primaryType:`Proof`,message:HN({account:t,challengeId:r,realm:i})}}function WN(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let GN=K({account:Y(lO()),autoSwap:Y(lO()),mode:Y(JD(TO))});function KN(e={}){let{clientId:t}=e,n=CT({chain:HC,getClient:e.getClient,rpcUrl:wO}),r=ew({account:e.account});return $C(LO,{context:GN,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 _k({challenge:i,payload:{signature:await vf(c,{account:m,...UN({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:WN({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:NN({challengeId:i.id,clientId:t,serverId:i.realm}),_=zN({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>Fw.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=LN(a?.autoSwap??e.autoSwap,FN),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 IN(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 Rd(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return _k({challenge:i,payload:{hash:t,type:`hash`},source:WN({address:y.address,chainId:l})})}let C=await ul(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});return C.gas=(C.gas??0n)+5000n,f?.feePayer&&(C.feePayer=!0),_k({challenge:i,payload:{signature:await tf(c,C),type:`transaction`},source:WN({address:y.address,chainId:l})})}})}function qN(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 JN(e){let t=qN(`close-ready`),n=qN(`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)}}}let YN={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function XN(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=YN.CLOSED,r=null}if(a.type===`open`&&(i=YN.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 ZN(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function QN(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=FM(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 $N(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:GM(o,n)}:i?{channel:n,state:HM({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function eP(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=ZN(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:Sj(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function tP(e){return e.method===qC.tempo&&e.intent===JC.session}function nP(e){return ZC(e.request.methodDetails,YC.sessionSnapshot)}function rP(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...HA(r),...HA(t?.headers),[H.authorization]:n}}}function iP(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.search=``,n}catch{return e}}function aP(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function oP(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 sP(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(iP(e.input),{method:`POST`,headers:{[H.authorization]:r}});if(!i.ok)throw Error(`Top-up POST failed with status ${i.status}`);let a=i.headers.get(H.paymentReceipt);return a?Oj(a):void 0}async function cP(e){let t=lP({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,rP(e.input,e.init,l));return!u.ok&&!u.headers.get(H.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function lP(e){let t=sk(e.response).find(tP);if(!t)return;let n=nP(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function uP(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=async t=>{let n=await e.createSessionCredential(t,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:e.signedCloseAmount});return e.fetch(e.lastUrl,{method:`POST`,headers:{[H.authorization]:n}})},n=await t(e.target.challenge);if(n.status===402){let r=sk(n).find(tP);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await oP(n),t=n.headers.get(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${n.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}let r=n.headers.get(H.paymentReceipt);return r?Oj(r):void 0}async function dP(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...HA(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!kj(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!kj(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return fP({challenge:c,driver:n,input:e,onReceipt:r,response:s,signal:i})}async function*fP(e){let t=e.response.body.getReader(),n=new TextDecoder,r=``;try{for(;!e.signal?.aborted;){let{done:i,value:a}=await t.read();if(i)break;r+=n.decode(a,{stream:!0});let o=r.split(`\n\n`);r=o.pop();for(let t of o){if(!t.trim())continue;let n=Aj(t);if(n)switch(n.type){case`message`:yield n.data;break;case`payment-need-voucher`:await pP(e,n.data);break;case`payment-receipt`:e.driver.acceptReceipt(n.data),e.onReceipt?.(n.data);break}}}}finally{t.releaseLock()}}async function pP(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await eP({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:{[H.authorization]:i}});if(!a.ok)throw Error(`Voucher POST failed with status ${a.status}`)}async function mP(e){let t=new URL(e.input.toString()),n=aP(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=sk(r).find(tP);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 hP(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:mk(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:Tj(t)}}function gP(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function _P(e){if(!gP(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 vP(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!gP(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!VM({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function yP(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=hP({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=XN(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===YN.CONNECTING||o.readyState===YN.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 xP({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 bP(o,c.emit,a),o.send(Mj(n)),await e.waitForReceipt(),c.socket}function bP(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 xP(e){let t=Pj(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`:SP(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 CP(e,t.data);return;case`payment-receipt`:wP(e,t.data);return}}function SP(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=_P({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 CP(e,t){try{let n=await eP({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(Mj(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function wP(e,t){let n=vP({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 TP(e){return e.method===qC.tempo&&e.intent===JC.charge}function EP(e){if(!TP(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function DP(e){return{channelId:e.channelId,cumulativeAmount:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),descriptor:e.descriptor,escrow:e.escrow,chainId:e.chainId,opened:!0}}function OP(e,t,n){if(!n)return t;let r={...HA(e instanceof Request?e.headers:void 0),...HA(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===H.paymentSession.toLowerCase())?t:{...t,headers:{...r,[H.paymentSession]:n}}}function kP(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:Bp(e.maxDeposit,t),WebSocket:n}}function AP(e){let t=kP(e),n=UM(),r=JN({getSocketSession:()=>n.socketSession}),i=e.channelStore??mM(),a=new Set,o;async function s(e){let t=await i.get(e);if(t?.opened&&!a.has(t.channelId))return t}let c={async get(e){let t=await s(e);return t&&o&&(o.seenExisting.add(e),o.createdKeys.has(e)||(o.resumed??=t)),t},async set(e){let t=pM(e);e.opened&&a.delete(e.channelId),o&&!o.seenExisting.has(t)&&o.createdKeys.add(t),await i.set(e)},delete:e=>i.delete(e)};async function l(e){a.add(e.channelId),await Promise.resolve(i.delete(pM(e))).catch(()=>void 0)}function u(e){return DM(n,e)}let d=AN({account:e.account,getClient:e.client?()=>e.client:e.getClient,escrow:e.escrow,decimals:t.decimals,maxDeposit:e.maxDeposit,channelStore:c,onChannelUpdate(e){e.channelId!==n.channel?.channelId&&(n.spent=0n),n.channel=e,n.lastChallenge&&u({type:`activated`,challengeId:n.lastChallenge.id,entry:e,spent:n.spent.toString(),units:0})}}),f=KN({account:e.account,getClient:e.client?()=>e.client:e.getClient}),p=BA({fetch:t.fetch,methods:[d],onChallenge:async(e,t)=>{if(tP(e)&&(n.lastChallenge=e,u({type:`challengeReceived`,challengeId:e.id}),n.channel?.opened&&n.lastUrl)){let t=n.channel.cumulativeAmount+Tj(e);await C({challenge:e,input:n.lastUrl,channelId:n.channel.channelId,deposit:n.channel.deposit,requiredCumulative:t})}}});function m(e,t){return d.createCredential({challenge:e,context:t})}function h(e){WM({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:n})}function g(e=n.state.status===`active`?n.state.units:0){!n.channel||!n.lastChallenge||n.state.status===`active`||n.state.status===`withdrawable`||n.state.status===`closeRequested`||u({type:`activated`,challengeId:n.lastChallenge.id,entry:n.channel,spent:n.spent.toString(),units:e})}async function _(e){let t=e.headers.get(H.paymentSessionSnapshot);if(!t)return;let n=DP(CM(t));return await Promise.resolve(c.set(n)).catch(()=>void 0),n}async function v(r,i){if(!e.bootstrap||n.channel?.opened)return;let a=r instanceof Request?r.headers:void 0,{body:o,method:s,...c}=i??{},l=r instanceof Request?r.url:r,u={...c,method:`HEAD`,headers:{...HA(a),...HA(i?.headers),[H.acceptPayment]:`${qC.tempo}/${JC.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await _(e);let n=sk(e).find(TP);if(!n||!EP(n))return;let r=await f.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...HA(u.headers),[H.authorization]:r}});return i.ok?await _(i):void 0}catch{return}}function y(e,t){let r=n.socketSession;return KM({challengeId:e.id,channelId:t,closeReadyReceipt:r?.closeReadyReceipt,cumulativeAmount:n.channel?.channelId===t?n.channel.cumulativeAmount:0n,deliveredChunks:r?.deliveredChunks,socketChallengeId:r?.challenge.id,socketChannelId:r?.channelId,spent:n.spent,tickCost:r?.tickCost})}function b(e){let t=y(e.challenge,e.channelId);if(t>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return x(t),t.toString()}function x(e){MM({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function S(e){let r=await sP({...e,channel:n.channel,createSessionCredential:m,fetch:t.fetch});h(r);let i=$N({additionalDeposit:e.additionalDeposit,channel:n.channel,channelId:e.channelId,challengeId:n.lastChallenge?.id,currentState:n.state,receipt:r,spent:n.spent});return i?.channel&&n.lastChallenge&&u({type:`activated`,challengeId:n.lastChallenge.id,entry:i.channel,spent:n.spent.toString(),units:n.state.status===`active`?n.state.units:0}),r}async function C(e){e.requiredCumulative<=e.deposit||(x(e.requiredCumulative),await S({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:e.requiredCumulative-e.deposit}))}function w(e,t){let r=qM({channel:n.channel,channelId:e,challengeId:n.lastChallenge?.id,cumulativeAmount:t,spent:n.spent,state:n.state});r&&n.channel&&u({type:`activated`,challengeId:r.challengeId,entry:n.channel,spent:r.spent,units:r.units})}function ee(e){let t=YM(e,n.channel);n.channel=t.channel,n.spent=t.spent,n.state=t.state}function te(e){let t=e.headers.get(H.paymentReceipt),r=t?Oj(t):null;return h(r),Object.assign(e,{receipt:r,challenge:n.lastChallenge,channelId:n.channel?.channelId??null,cumulative:n.channel?.cumulativeAmount??0n})}async function ne(e,r){if(o)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);let i={seenExisting:new Set,createdKeys:new Set,resumed:void 0};o=i,n.lastUrl=e;let a=JM({channel:n.channel,spent:n.spent,state:n.state}),s=n.channel?.opened?n.channel.channelId:void 0;try{await v(e,r);let o=OP(e,r,s),c=!a.channel?.opened;async function u(){let t=i.resumed;return!c||!t?!1:(c=!1,await l(t),o=OP(e,r,void 0),!0)}for(;;){let r;try{r=await p(e,o)}catch(e){if(ee(a),await u())continue;throw e}let i=te(r),s=!1;if(i.status===402){let r=await cP({input:e,init:o,response:i,createSessionCredential:m,fetch:t.fetch,getChannel:()=>n.channel,restoreCumulative:w,setChallenge(e){n.lastChallenge=e},topUpIfNeeded:C});r&&(s=!0,i=te(r))}if(!s&&!i.ok&&!i.receipt){if(ee(a),await u())continue;return i}return i}}finally{o=void 0}}async function re(e){let r=await uP({createSessionCredential:m,fetch:t.fetch,lastUrl:n.lastUrl,signedCloseAmount:b(e),setChallenge(e){n.lastChallenge=e},target:e});return r&&(g(),u({type:`closeStarted`}),u({type:`closed`,receipt:r})),r}return{get channelId(){return n.channel?.channelId},get cumulative(){return n.channel?.cumulativeAmount??0n},get opened(){return n.channel?.opened??!1},get state(){return n.state},fetch:ne,async topUp(e){let r=QN({amount:e,assertVoucherWithinLocalLimit:x,channel:n.channel,decimals:t.decimals,lastChallenge:n.lastChallenge,lastUrl:n.lastUrl});return S({additionalDeposit:r.additionalDeposit,challenge:r.challenge,channelId:r.channelId,input:r.input})},async sse(e,r){return dP(e,r,{createSessionCredential:m,doFetch:ne,fetch:t.fetch,getChannel:()=>n.channel,getChallenge:()=>n.lastChallenge,assertVoucherWithinLocalLimit:x,managementInput:iP,acceptReceipt(e){h(e)},topUpIfNeeded:C})},async ws(e,i){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let a=aP(e),o=i?.signal?{signal:i.signal}:void 0;await v(a,o);let s=n.channel?.opened?n.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await mP({createSessionCredential:m,fetch:t.fetch,input:e,onProbeUrl(e){n.lastUrl=e.toString()},probeInit:OP(a,o,s),signal:i?.signal});return n.lastChallenge=c,yP({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:i,createSessionCredential:m,getChannel:()=>n.channel,setSocketSession(e){n.socketSession=e},assertVoucherWithinLocalLimit:x,acceptReceipt:h,rejectCloseReady:r.rejectCloseReady,rejectReceipt:r.rejectReceipt,settleCloseReady:r.settleCloseReady,settleReceipt:r.settleReceipt,topUpIfNeeded:C,waitForReceipt:r.waitForReceipt})},async close(){let e=n.socketSession,t=RM({channel:n.channel,currentSocket:e,lastChallenge:n.lastChallenge});if(!t)return;let i=e?.socket;if(e&&i?.readyState===YN.OPEN){let a=await XM({activeSocket:i,createSessionCredential:m,currentSocket:e,spent:n.spent,target:t,waitForCloseReady:r.waitForCloseReady,waitForReceipt:r.waitForReceipt});return g(),u({type:`closeStarted`}),u({type:`closed`,receipt:a}),a}return re(t)}}}(function(e){e.serializeSnapshot=SM,e.deserializeSnapshot=CM})(AP||={}),Jr(),Sd();let jP=(1n<<64n)-1n,MP={dev_second:1n,day:86400n,week:604800n};function NP(e){return e instanceof Date?e:new Date(e)}function PP(e){let t=e.getTime();if(!Number.isFinite(t))throw new Z({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new Z({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new Z({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function FP(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new Z({reason:`periodCount is invalid`});let t=MP[e.periodUnit];if(t===void 0)throw new Z({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>jP)throw new Z({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new Z({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function IP(e){let{challengeExpires:t,request:n}=e;FP(n);let r=PP(NP(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new Z({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function LP(e){return[{address:YP(e.currency,`currency`),selector:`0x95777d59`,recipients:[YP(e.recipient,`recipient`)]}]}async function RP(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=BP({accessKey:t,chainId:r,request:i});return Ly(a,{signature:Dy(await n.sign({hash:By(a)}))})}function zP(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new Z({reason:`invalid keyAuthorization payload`});let a=VP(r.signature),o=HP(a);return UP({accessKey:t,authorization:a,chainId:n}),WP(a,i),KP(GP(a),i),qP(a.scopes,i),{authorization:a,source:{address:JP(a,o),chainId:n}}}function BP(e){let{accessKey:t,chainId:n,request:r}=e;return Ly({address:YP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:PP(NP(r.subscriptionExpires)),limits:[{token:YP(r.currency,`currency`),limit:BigInt(r.amount),period:FP(r)}],scopes:LP(r),type:t.keyType})}function VP(e){try{return Vy(e)}catch{throw new Z({reason:`invalid keyAuthorization payload`})}}function HP(e){let t=e.signature;if(!t||t.type===`keychain`)throw new Z({reason:`keyAuthorization must use a primitive signature`});return t}function UP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new Z({reason:`keyAuthorization chainId mismatch`});if(t){if(!xd(n.address,YP(t.accessKeyAddress,`accessKeyAddress`)))throw new Z({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new Z({reason:`keyAuthorization key type mismatch`})}}function WP(e,t){if(IP({request:t}),e.expiry!==PP(NP(t.subscriptionExpires)))throw new Z({reason:`keyAuthorization expiry mismatch`})}function GP(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new Z({reason:`keyAuthorization must contain exactly one token limit`});return t}function KP(e,t){if(!xd(e.token,YP(t.currency,`currency`)))throw new Z({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new Z({reason:`keyAuthorization amount mismatch`});if(e.period!==FP(t))throw new Z({reason:`keyAuthorization period mismatch`})}function qP(e,t){if(!e||e.length!==1)throw new Z({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=YP(t.currency,`currency`),r=YP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!xd(t.address,n))throw new Z({reason:`keyAuthorization call target mismatch`});let e=XP(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new Z({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new Z({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!xd(t.recipients[0],r))throw new Z({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new Z({reason:`keyAuthorization must allow transferWithMemo`})}function JP(e,t){let n=By(e);try{let e=wy({payload:n,signature:t});if(!Ny(t,{address:e,payload:n}))throw new Z({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof Z?e:new Z({reason:`keyAuthorization signature is invalid`})}}function YP(e,t){if(!Gr(e))throw new Z({reason:`${t} must be an address`});return e.toLowerCase()}function XP(e){return typeof e==`string`?e.toLowerCase():``}z(),Sd();let ZP=K({accessKey:Y(lO()),account:Y(lO())});function QP(e={}){let t=CT({chain:HC,getClient:e.getClient,rpcUrl:wO}),n=ew({account:e.account});return $C(zO,{context:ZP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??xO.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.\");eF(r.request),await e.validateRequest?.(r.request);let l=await $P(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!xd(zP({accessKey:c,chainId:a,payload:{signature:Uy(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return _k({challenge:r,payload:{signature:Uy(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function $P(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await RP({accessKey:n,account:r,chainId:i,request:a})||Ry((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:PP(NP(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:FP(a)}],scopes:LP(a)}]})).keyAuthorization)}function eF(e){FP(e),PP(NP(e.subscriptionExpires))}let tF=Object.assign(AN,{manager:AP}),nF=Object.assign(Rj,{method:Mk});function rF(e={}){return[KN(e),tF(e)]}(function(e){e.charge=KN,e.common=rF,e.session=tF,e.sessionLegacy=nF,e.subscription=QP})(rF||={});function iF(e){let{onChallenge:t,orderChallenges:n,polyfill:r=!0,acceptPaymentPolicy:i=r&&globalThis.location!==void 0?`same-origin`:`always`,transport:a=LA()}=e,o=e.fetch??globalThis.fetch,s=e.methods.flat(),c=Fk(s,e.paymentPreferences),l=UA(),u=t,d={acceptPayment:c,acceptPaymentPolicy:i,...e.fetch&&{fetch:e.fetch},eventDispatcher:l,...u&&{onChallenge:u},...n&&{orderChallenges:n},methods:s,transport:a},f=BA(d);r&&VA(d);function p(e){return l.on(`challenge.received`,e)}function m(e){return l.on(`credential.created`,e)}function h(e){return l.on(`payment.failed`,e)}function g(e){return l.on(`payment.response`,e)}return{fetch:f,rawFetch:o,methods:s,transport:a,on:l.on,onChallengeReceived:p,onCredentialCreated:m,onPaymentFailed:h,onPaymentResponse:g,async createCredential(e,t,r){let i=a.getChallenges?await a.getChallenges(e):[await a.getChallenge(e)],o=mF(c.entries,r?.acceptPayment),u,d;try{let a=(await hF(Rk(i,s,o),r?.orderChallenges??n))[0];if(!a)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${s.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let c=a.challenge;u=c,d=a.method,u.expires&&Nk(u.expires,u.id);let f=aF(e=>gF(c,d,e??t)),p=await l.emit(`challenge.received`,oF({challenge:c,challenges:i,createCredential:f,method:d,response:e}))??await f();return dj(p),await l.emit(`credential.created`,sF({challenge:c,credential:p,method:d,response:e})),p}catch(t){throw await l.emit(`payment.failed`,cF({challenge:u,challenges:i,error:t,method:d,response:e})),t}}}}function aF(e){let t;return n=>(t??=e(n),t)}function oF(e){return Object.freeze({challenge:dF(e.challenge),challenges:e.challenges.map(e=>dF(e)),createCredential:e.createCredential,method:lF(e.method),response:uF(e.response)})}function sF(e){return Object.freeze({challenge:dF(e.challenge),credential:e.credential,method:lF(e.method),response:uF(e.response)})}function cF(e){return Object.freeze({...e.challenge?{challenge:dF(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>dF(e))}:{},error:e.error,...e.method?{method:lF(e.method)}:{},response:uF(e.response)})}function lF(e){return pF(Object.assign({},e))}function uF(e){return e instanceof Response?e.clone():dF(e)}function dF(e){try{return fF(structuredClone(e))}catch{return pF(e)}}function fF(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))fF(t);return e}function pF(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function mF(e,t){return t?typeof t==`string`?Ik(t):t:e}async function hF(e,t){return t?t(e):e}async function gF(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 _F(e){let{scheme:t,statement:n,...r}=e.match(vF)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(yF)?.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 vF=/^(?:(?<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)?/,yF=/(?: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>.+))?/;Wf();let bF={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 xF(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function SF(e){let t=e.details??e.shortMessage??e.message,n=CF(e);if(n)try{let e=Uf({abi:bS,data:n}),r=bF[e.errorName];return{...e,data:n,message:r?xF(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in bF?{errorName:`unknown`,message:bF[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function CF(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 CF(t.cause);if(t.error)return CF(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return CF(e)}return null}z(),E();let wF={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},TF=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function EF(e){return{add:t=>FF({...t,store:e}),authorize:t=>OF({...t,store:e}),clear:()=>zF({store:e}),get:t=>NF({...t,store:e}),getStatus:t=>jF({...t,store:e}),list:t=>eI({...t,store:e}),remove:t=>RF({...t,store:e}),select:t=>MF({...t,store:e}),updateAuthorization:t=>LF({...t,store:e})}}async function DF(e){let{address:t,chainId:n,expiry:r,keyType:i,limits:a,privateKey:o,publicKey:s,scopes:c,witness:l}=e;if(o){let e=i??`secp256k1`;return{keyAuthorization:Ly({address:(()=>{switch(e){case`secp256k1`:return cC(o);case`p256`:return sC(o);case`webAuthn`:throw new $w({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:a,scopes:c,type:e,...l?{witness:l}:{}}),privateKey:o}}if(t||s)return{keyAuthorization:Ly({address:t??mg(eg(s)),chainId:BigInt(n),expiry:r,limits:a,scopes:c,type:i??`secp256k1`,...l?{witness:l}:{}})};if(i&&i!==`p256`)throw new $w({message:`\\`keyType: \"${i}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});if(!globalThis.crypto?.subtle)throw new $w({message:\"Generated P256 access keys require WebCrypto support; provide `publicKey` or `address` instead.\"});let u=await xS();return{keyAuthorization:Ly({address:mg(eg(u.publicKey)),chainId:BigInt(n),expiry:r,limits:a,scopes:c,type:`p256`,...l?{witness:l}:{}}),keyPair:u}}async function OF(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await DF({...r,chainId:r.chainId??n}),o=By(a.keyAuthorization),s=await t.sign({hash:o}),c=Ly(a.keyAuthorization,{signature:Dy(s)});return FF({account:t.address,authorization:c,...a.keyPair?{keyPair:a.keyPair}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),Wy(c)}async function kF(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=eI({account:t,chainId:r,store:a});for(let e of s)if(!QF(e.expiry,o)&&UF(e,i)&&!(n&&!VF(e,{calls:n}))&&await ZF(e,a))return!0;return!1}function AF(e){return HF(e.parameters.scopes,{calls:e.calls})}async function jF(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=eI({account:n,accessKey:t,chainId:i,store:o}).find(e=>VF(e,{calls:r}));if(c){if(QF(c.expiry,s))return wF.expired;if(c.keyAuthorization){let e=await $F(a,{accessKey:c.address,account:n,now:s}).catch(()=>wF.pending);return e===wF.published&&IF({accessKey:c.address,account:n,chainId:i,store:o}),e===wF.published?wF.published:wF.pending}return await $F(a,{accessKey:c.address,account:n,now:s})}return t?await $F(a,{accessKey:t,account:n,now:s}):wF.missing}async function MF(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=eI({account:t,chainId:r,store:i});for(let e of o){if(!VF(e,{calls:n}))continue;if(QF(e.expiry,a)){await RF({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await ZF(e,i);if(t)return t}}async function NF(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=eI({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(QF(o.expiry,a)){await RF({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await ZF(o,i)}}function PF(e){return zw({source:{get(t){return eI({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){IF({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){LF({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function FF(e){let{account:t,authorization:n,keyPair:r,privateKey:i}=e,{store:a}=e,o={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},s=i?{...o,privateKey:i}:r?{...o,keyPair:r}:o;return a.state.setState(e=>({accessKeys:[s,...e.accessKeys.filter(e=>!nI(e,{account:s.access,accessKey:s.address,chainId:s.chainId}))]})),s}function IF(e){let{store:t,...n}=e;tI({...n,patch:{keyAuthorization:void 0},store:t})}function LF(e){let{authorization:t,store:n,...r}=e;tI({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function RF(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!nI(e,n))}))}function zF(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function BF(e){return e instanceof T&&e.walk(e=>{let t=e.data?.errorName;return!!t&&TF.has(t)})?!0:e instanceof Error?TF.has(SF(e).errorName):!1}function VF(e,t){return HF(e.scopes,t)}function HF(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(!XF(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return e.recipients?e.recipients.length===0:!0;let a=qF(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 gg(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function UF(e,t){return!(!WF(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!YF(e.limits,t.reuse?.minLimits))}function WF(e,t){return!t||!e?!0:t.every(t=>e.some(e=>GF(e,t)))}function GF(e,t){return!XF(e)||!XF(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!KF(e.selector,t.selector)?!1:JF(e.recipients,t.recipients)}function KF(e,t){if(!e)return!0;if(!t)return!1;let n=qF(e),r=qF(t);return!!n&&n===r}function qF(e){try{return(e.startsWith(`0x`)&&e.length===10?e:BO(e)).toLowerCase()}catch{return}}function JF(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function YF(e,t){return!t||!e?!0: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 XF(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!gg(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=>!gg(e))))}async function ZF(e,t){let n=PF(t);if(`keyPair`in e&&e.keyPair)return uC(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return cC(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return sC(e.privateKey,{access:e.access,keyAuthorizationManager:n})}}function QF(e,t){return typeof e==`number`&&e<t}async function $F(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await DC(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?wF.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?wF.expired:wF.published}catch(e){if(BF(e))return wF.missing;throw e}}function eI(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>nI(e,n))}function tI(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!nI(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 nI(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 rI(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 iT({message:`Account \"${t}\" not found.`}):new oT({message:`No active account.`});return iI(s,{signable:n})}function iI(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 iT({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return cC(e.privateKey);case`p256`:return sC(e.privateKey);case`webCrypto`:return uC(e.keyPair);case`webAuthn`:return lC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return oC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new iT({message:`Unknown key type.`})}}function aI(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let oI=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function sI(e){return e}function cI(e,t={}){let{targetOrigin:n}=t,r=new Map;return sI({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(dI({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function lI(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=uI();t.on(`ready`,e=>a.resolve(e??{}));let o=sI({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 uI(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function dI(e){if(Array.isArray(e))return e.map(dI);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]=dI(r);return t}function fI(e,t,n){return n&&pI(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function pI(e,t){return mI(e)===mI(t)}function mI(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function hI(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 gI={height:440,width:360};function _I(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function vI(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function yI(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let bI;function xI(){return typeof window>`u`?CI():_I({name:`iframe`},e=>{let{host:t}=e;if(bI&&bI.host===t)return bI.refs.store=e.store,bI.refs.fallback.destroy(),bI.refs.fallback=SI()(e),bI.instance.syncTheme(e.theme),bI.instance;bI?.instance.destroy();let n={fallback:SI()(e),store:e.store},r=!1,i=TI(),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))),hI(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=[],f=!1;function p(){e.onReject(d.map(e=>e.request.id))}function m(){l=void 0;let t=lI({from:cI(window,{targetOrigin:a.origin}),to:cI(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),wI(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{ee(),x(),r=!1,f=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let h=m();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),h.destroy(),h=m();return}}).observe(document.body,{childList:!0});let g=``,_=null,v=()=>p(),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});y.observe(o,{attributeOldValue:!0,attributes:!0});let b=!1,x=()=>{b&&(b=!1,o.removeEventListener(`cancel`,v),o.removeEventListener(`click`,v),o.style.pointerEvents=`none`,_?.focus(),_=null,document.body.style.overflow=g)},S=()=>{b||(b=!0,o.addEventListener(`cancel`,v),o.addEventListener(`click`,v),s.focus(),o.style.pointerEvents=`auto`,g=document.body.style.overflow,document.body.style.overflow=`hidden`)},C=!1,w=()=>{C||(C=!0,document.activeElement instanceof HTMLElement&&(_=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ee=()=>{if(C){C=!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`)}},te={close(){n.fallback.close(),r=!1,ee(),x()},destroy(){bI?.instance===te&&(bI=void 0),n.fallback.close(),r=!1,x(),ee(),n.fallback.destroy(),h.destroy(),o.remove(),y.disconnect()},open(){r||(r=!0,w(),S())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,f){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await h.waitForReady();if(yI()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=oI(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&fI(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(),h.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,h.send(`theme`,e??{})}};return bI={host:t,instance:te,refs:n},te})}function SI(e={}){if(typeof window>`u`)return CI();let{size:t=gI}=e;return _I({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=TI(),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))),hI(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=window.screenY+100;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=lI({from:cI(window,{targetOrigin:o.origin}),to:cI(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 CI(){return _I({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function wI(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function TI(){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}}let EI=new Map;function DI(e,t){let n=AI(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>MI(e,t),onResponse:t=>NI(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 PI(e),()=>{n.attachments.delete(r),jI(e)}}function OI(e,t){let n=AI(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}),PI(e)})}function kI(e){return new URL(e).host}function AI(e){let t=kI(e),n=EI.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:bT(),requestQueue:[],synced:!1};return EI.set(t,r),r}function jI(e){let t=AI(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function MI(e,t){if(t.length===0)return;let n=AI(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 rT);PI(e,{force:!0})}}function NI(e,t){let n=AI(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(vT(t.error)):r.resolve(t.result),PI(e,{force:!0}))}function PI(e,t={}){let n=AI(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,jI(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:[FI(a)]}))}function FI(e){return{request:e.request,status:e.status}}function II(e){return e}function LI(e){return e}z();let Q=()=>sO([`0x`,W().check(bD(/^[0-9a-fA-F]{40}$/))],`Expected address`),RI=()=>iO(q([$(),AD()]),AD(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:R(e),encode:e=>I(e)}),$=()=>sO([`0x`,W()],`Expected hex value`),zI=()=>iO(q([$(),ED()]),ED(),{decode:e=>typeof e==`number`?e:e===`0x`?0:Ym(e),encode:e=>I(e)});z();let BI=K({address:Q(),blockHash:$(),blockNumber:RI(),data:$(),logIndex:zI(),removed:OD(),topics:X(G($())),transactionHash:$(),transactionIndex:zI()}),VI=K({blobGasPrice:Y(RI()),blobGasUsed:Y(RI()),blockHash:$(),blockNumber:RI(),contractAddress:eO(Q()),cumulativeGasUsed:RI(),effectiveGasPrice:RI(),feePayer:Y(Q()),feeToken:Y(Q()),from:Q(),gasUsed:RI(),logs:G(BI),logsBloom:$(),root:Y($()),status:iO($(),JD([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:eO(Q()),transactionHash:$(),transactionIndex:zI(),type:$()}),HI=lO(),UI=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),WI=iO(K({allowedCalls:Y(X(G(K({target:Q(),selectorRules:Y(X(G(K({selector:$(),recipients:Y(X(G(Q())))}))))})))),address:Y(Q()),chainId:RI(),expiry:q([zI(),PD(),MD()]),keyId:Q(),keyType:UI,limits:Y(X(G(K({token:Q(),limit:RI(),period:Y(zI())})))),signature:HI}),lO(),{decode(e){return Ry({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=Wy(e);return{chainId:t.chainId===`0x`?0n:R(t.chainId),expiry:t.expiry==null?null:Ym(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:Ym(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}:{}}))}:{}}))}:{}}}}),GI=K({data:Y($()),to:Y(Q()),value:Y(RI())}),KI=K({accessList:Y(G(K({address:Q(),storageKeys:G($())}))),calls:Y(X(G(GI))),chainId:Y(zI()),data:Y($()),feePayer:Y(q([OD(),W()])),feePayerSignature:Y(KD(W(),ID())),feeToken:Y(Q()),from:Y(Q()),gas:Y(RI()),keyAuthorization:Y(WI),keyData:Y($()),keyId:Y(Q()),keyType:Y(UI),maxFeePerGas:Y(RI()),maxPriorityFeePerGas:Y(RI()),nonce:Y(zI()),nonceKey:Y(RI()),to:Y(Q()),validAfter:Y(zI()),validBefore:Y(zI()),value:Y(RI())});var qI;(function(e){e.schema=II({method:J(`eth_accounts`),params:void 0,returns:X(G(Q()))})})(qI||={});var JI;(function(e){e.schema=II({method:J(`eth_chainId`),params:void 0,returns:$()})})(JI||={});var YI;(function(e){e.schema=II({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Q()))})})(YI||={});var XI;(function(e){e.schema=II({method:J(`eth_sendTransaction`),params:X(WD([KI])),returns:$()})})(XI||={});var ZI;(function(e){let t=K({address:Q(),decimals:ED(),direction:JD([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Q())),symbol:W(),value:$()}),n=K({decimals:ED(),formatted:W(),name:W(),symbol:W(),token:Q(),value:$()});e.schema=II({method:J(`eth_fillTransaction`),params:X(WD([KI])),returns:K({capabilities:K({balanceDiffs:Y(KD(Q(),X(G(t)))),error:Y(K({abiItem:Y(KD(W(),ID())),data:Y($()),errorName:W(),message:W()})),fee:Y(K({amount:$(),decimals:ED(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:$(),decimals:ED(),formatted:W(),token:Q(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:ED()})),sponsor:Y(K({address:Q(),name:Y(W()),url:Y(W())})),sponsored:OD()}),tx:KD(W(),ID())})})})(ZI||={});var QI;(function(e){e.schema=II({method:J(`eth_signTransaction`),params:X(WD([KI])),returns:$()})})(QI||={});var $I;(function(e){e.schema=II({method:J(`eth_sendTransactionSync`),params:X(WD([KI])),returns:VI})})($I||={});var eL;(function(e){e.schema=II({method:J(`eth_signTypedData_v4`),params:X(WD([Q(),W()])),returns:$()})})(eL||={});var tL;(function(e){e.schema=II({method:J(`personal_sign`),params:X(WD([$(),Q()])),returns:$()})})(tL||={});let nL=Y(K({feePayer:Y(q([OD(),W()])),sync:Y(OD())}));var rL;(function(e){e.schema=II({method:J(`wallet_sendCalls`),params:Y(X(WD([K({atomicRequired:Y(OD()),calls:X(G(GI)),capabilities:nL,chainId:Y(zI()),from:Y(Q()),version:Y(W())})]))),returns:K({atomic:Y(OD()),capabilities:nL,chainId:Y(zI()),id:W(),receipts:Y(G(VI)),status:Y(ED()),version:Y(W())})})})(rL||={});var iL;(function(e){e.schema=II({method:J(`wallet_getBalances`),params:Y(X(WD([K({account:Y(Q()),chainId:Y(zI()),tokens:Y(X(G(Q())))})]))),returns:X(G(K({address:Q(),balance:RI(),decimals:ED(),display:W(),name:W(),symbol:W()})))})})(iL||={});var aL;(function(e){e.schema=II({method:J(`wallet_getCapabilities`),params:Y(X(q([WD([Q()]),WD([Q(),X(G($()))])]))),returns:KD($(),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`)])}))}))})})(aL||={});var oL;(function(e){e.showDeposit=Y(q([OD(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Q(),W()]))})])),e.parameters=K({address:Y(Q()),chainId:Y(RI()),expiry:ED(),keyType:Y(UI),limits:Y(X(G(K({token:Q(),limit:RI(),period:Y(ED())})))),publicKey:Y($()),scopes:Y(X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:WI,rootAddress:Q()}),e.schema=II({method:J(`wallet_authorizeAccessKey`),params:X(WD([e.parameters])),returns:e.returns})})(oL||={});var sL;(function(e){e.parameters=K({address:Y(Q()),expiry:ED(),keyType:Y(UI),limits:X(G(K({token:Q(),limit:RI(),period:Y(ED())})).check(yD(1))),publicKey:Y($()),scopes:X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})).check(yD(1))),showDeposit:oL.showDeposit})})(sL||={});var cL;(function(e){e.schema=II({method:J(`wallet_revokeAccessKey`),params:X(WD([K({address:Q(),accessKeyAddress:Q()})])),returns:void 0})})(cL||={});var lL;(function(e){e.authorizeAccessKey=Y(zD(oL.parameters,{showDeposit:!0})),e.showDeposit=Y(q([OD(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Q(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),returnToken:Y(OD())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([OD(),K({nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y($()),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($()),credentialId:Y(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(OD()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(eO(W())),idToken:Y(W())})),keyAuthorization:Y(WI),personalSign:Y(K({message:W(),keyAuthorization:Y($())})),signature:Y($()),username:Y(eO(W())),auth:Y(K({token:Y(W())}))})},e.schema=II({method:J(`wallet_connect`),params:Y(X(WD([K({capabilities:e.capabilities.request,chainId:Y(zI()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Q(),capabilities:e.capabilities.result})))})})})(lL||={});var uL;(function(e){let t=Y(zD(sL.parameters,{showDeposit:!0})),n=lL.auth,r=lL.identity,i=lL.personalSign,a=lL.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y($()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y($()),credentialId:Y(W()),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(OD()),showDeposit:a})])),chainId:Y(zI()),version:Y(W())})})(uL||={});var dL;(function(e){e.schema=II({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(dL||={});var fL;(function(e){e.schema=II({method:J(`wallet_getCallsStatus`),params:Y(X(WD([W()]))),returns:K({atomic:OD(),chainId:zI(),id:W(),receipts:Y(G(VI)),status:ED(),version:W()})})})(fL||={});var pL;(function(e){e.parameters=HD(`editable`,[K({amount:W(),chainId:Y(zI()),editable:Y(J(!1)),feePayer:Y(q([OD(),W()])),from:Y(Q()),memo:Y(W()),to:Q(),token:q([Q(),W()])}),K({amount:Y(W()),chainId:Y(zI()),editable:J(!0),feePayer:Y(q([OD(),W()])),memo:Y(W()),to:Y(Q()),token:Y(q([Q(),W()]))})]),e.schema=II({method:J(`wallet_transfer`),params:Y(X(WD([e.parameters]))),returns:K({chainId:zI(),receipt:VI})})})(pL||={});let mL=K({amount:Y(W()),pairToken:Y(Q()),slippage:Y(ED().check(_D(0),gD(1))),token:Y(Q()),type:Y(q([J(`buy`),J(`sell`)]))});var hL;(function(e){e.schema=II({method:J(`wallet_swap`),params:Y(X(WD([mL]))),returns:K({receipt:VI})})})(hL||={});var gL;(function(e){e.schema=II({method:J(`wallet_switchEthereumChain`),params:X(WD([K({chainId:zI()})])),returns:void 0})})(gL||={});var _L;(function(e){e.schema=II({method:J(`wallet_deposit`),params:Y(X(WD([K({address:Y(Q()),amount:Y(W()),chainId:Y(zI()),displayName:Y(W()),token:Y(q([Q(),W()]))})]))),returns:Y(K({receipts:Y(X(G(VI)))}))})})(_L||={});var vL;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([OD(),W()])),token:Y(Q()),zoneId:Y(zI())}),e.schema=II({method:J(`wallet_depositZone`),params:Y(X(WD([e.parameters]))),returns:K({receipt:VI})})})(vL||={});var yL;(function(e){e.parameters=K({amount:Y(W()),token:Y(Q()),zoneId:Y(zI())}),e.schema=II({method:J(`wallet_withdrawZone`),params:Y(X(WD([e.parameters]))),returns:K({receipt:VI})})})(yL||={}),sL.parameters,uL.parameters;let bL=LI([qI.schema,JI.schema,ZI.schema,YI.schema,XI.schema,$I.schema,QI.schema,eL.schema,tL.schema,oL.schema,lL.schema,_L.schema,vL.schema,dL.schema,iL.schema,fL.schema,aL.schema,cL.schema,pL.schema,rL.schema,hL.schema,gL.schema,yL.schema]),xL=VO();function SL(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let CL=HD(`method`,bL.map(SL));z();function wL(e={}){let{dialog:t=vI()?SI():xI(),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.`),aI({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=DI(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=_T({async request(e){return e.method===`eth_chainId`?I(r.getState().chainId):OI(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:xL});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:[lE(pL.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[lE(vL.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[lE(yL.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:up(s)}}}})}let TL=new Map,EL=new WeakMap;function DL(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return kL(r);if(r?.url)return kL(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 TL;let e=EL.get(d);return e||(e=new Map,EL.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Cp(),r=i?OL(i,t):t;p=_({chain:e,transport:s?AL(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function OL(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function kL(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function AL(e,t,n){return r=>{let i=e(r),a=Cp(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=tC(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 jL=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function ML(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 NL({account:o,address:t,chainId:r,client:i,store:a})}function NL(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{return await FL(i,await ul(i,{account:t,...e,parameters:[],type:`tempo`}))}catch(e){throw IL(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{return PL({account:t,address:n,chainId:r,client:i,request:await ul(i,{account:t,...e,type:`tempo`}),store:a})}catch(e){throw IL(e,{account:t,address:n,chainId:r,store:a}),e}}}}function PL(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 IL(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 IL(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 IL(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function FL(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 IL(e,t){LL(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function LL(e){if(!(e instanceof Error))return!1;let t=SF(e);if(jL.has(t.errorName))return!0;let n=RL(e);return[...jL].some(e=>n.includes(e))}function RL(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:``,RL(r)].join(`\n`)}function zL(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(zL.cache.get(n))return zL.cache.get(n);let r=e().finally(()=>zL.cache.delete(n));return zL.cache.set(n,r),r}zL.cache=new Map;function BL(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function VL(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=BL(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let HL;function UL(){return HL||=VL(`keyval-store`,`keyval`),HL}function WL(e,t=UL()){return t(`readonly`,t=>BL(t.get(e)))}function GL(e,t,n=UL()){return n(`readwrite`,n=>(n.put(t,e),BL(n.transaction)))}function KL(e,t=UL()){return t(`readwrite`,t=>(t.delete(e),BL(t.transaction)))}let qL=Symbol.for(`accounts.storage.supportsStructuredClone`);function JL(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 YL(e)?XL(r):r}function YL(e){return e[qL]===!0}function XL(e){return Object.assign(e,{[qL]:!0})}function ZL(e={}){let t=typeof indexedDB<`u`?VL(`tempo`,`store`):void 0;return XL(JL({async getItem(e){let n=await WL(e,t);return n===null?null:n},async setItem(e,n){await GL(e,n,t)},async removeItem(e){await KL(e,t)}},e))}function QL(e={}){let t=new Map;return XL(JL({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let $L=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 eR(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 tR=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return tR(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return tR(t)(e)}}}},nR=(e,t)=>(n,r,i)=>{let a={storage:eR(()=>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 tR(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},rR=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},iR=(e=>e?rR(e):rR),aR=Symbol.for(`accounts.storage.supportsStructuredClone`);function oR(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,schema:i,storage:a=typeof window<`u`?ZL({key:`tempo`}):QL({key:`tempo`})}=e,o=iR($L(nR(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>cR(e,t,{schema:i}),name:`store`,partialize:e=>sR(e,{maxAccounts:n,persistCredentials:r,structuredClone:fR(a)}),storage:a,version:0}))),s=o;return s.accessKeys=EF({state:o}),s.disconnect=()=>o.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),s}function sR(e,t={}){let{maxAccounts:n,persistCredentials:r=!0,structuredClone:i=!1}=t;return{accounts:n&&e.accounts.length>n?e.accounts.slice(0,n):e.accounts,activeAccount:e.activeAccount,...r?{accessKeys:e.accessKeys.map(e=>dR(e,{structuredClone:i}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function cR(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(uR):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>sE(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:lR(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function lR(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 uR(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function dR(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;return r}function fR(e){return e[aR]===!0}async function pR(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let mR=new Map;async function hR(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=mR.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 mR.set(r,a),a.then(e=>{e.length===0&&mR.delete(r)}),a}async function gR(e){let{symbol:t,...n}=e,r=await hR(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function _R(e,t){let n=sE(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new aT({message:`Unsupported method \"${t?.method}\".`}):new nT(-32602,`Invalid params: ${vR(n.error.issues)}`)}return{...t,_decoded:n.data}}function vR(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?vR([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),dm();let yR=new Set;function bR(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function xR(e={}){let{adapter:t=wL(),chains:n=[HC,GC,UC],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?ZL():QL()}=e,c=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Cp(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),l=(()=>{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}})(),u=oR({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),f=(e={})=>rI({...e,store:u}),p;function m(e={}){let{chainId:t,feePayer:r}=e;return DL(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:l?.precedence}})(),store:u,transports:c})}let h=t({getAccount:f,getClient:m,storage:s,store:u}),{actions:g}=h,_=gT();u.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>_.emit(`accountsChanged`,u.getState().accounts.map(e=>e.address))),u.subscribe(e=>e.chainId,e=>_.emit(`chainChanged`,I(e))),u.subscribe(e=>e.accounts.length>0,e=>{e?_.emit(`connect`,{chainId:I(u.getState().chainId)}):_.emit(`disconnect`,new oT)});function v(){if(u.getState().accounts.length===0)throw new oT({message:`No accounts connected.`})}function y(){let{accounts:e,activeAccount:t}=u.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 b(e){throw new aT({message:`\\`${e}\\` not supported by adapter.`})}async function x(e={}){return h.getAccount||b(`getAccount`),await h.getAccount(e)}function S(e){let t=m({chainId:e.chainId,feePayer:e.feePayer});return rp({account:e.account,chain:t.chain,transport:e.transport??up({request:t.request})})}async function C(e){let{feePayer:t,...n}=e,r=await x({address:e.from}),i=S({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 ul(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function w(e){{let t=u.getState(),n=e.chainId??t.chainId,r=m({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 ML({address:i,calls:e.calls,chainId:n,client:r,store:u}):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 C(e);return r.account.type===`json-rpc`?await tf(t,n):await r.account.signTransaction(n)}async function ee(e){{let t=u.getState(),n=e.chainId??t.chainId,r=m({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 ML({address:i,calls:e.calls,chainId:n,client:r,store:u}):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 x({address:e.from});return await pl(S({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...t?{feePayer:!0}:{}})}async function te(e){{let t=u.getState(),n=e.chainId??t.chainId,r=m({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 ML({address:i,calls:e.calls,chainId:n,client:r,store:u}):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 x({address:e.from}),i=S({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`?await i.request({method:`eth_sendTransactionSync`,params:[lE(KI,a)]}):lE(VI,await Zd(i,{account:r.account,...a}))}async function ne(e){let t=await x({address:e.address}),n=S({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:Rp({raw:e.data})})}async function re(e){let t=JSON.parse(e.data),n=await x({address:e.address}),r=S({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:of(t)})}async function T(e){let t=await x(),n=e.chainId??m().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await u.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await E(e,Number(n)),i=await S({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[lE(oL.parameters,r.parameters)]});return await oe({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function E(e,t){let n=e.chainId??t??m().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await DF({...e,chainId:n});return{...t.keyPair?{keyPair:t.keyPair}:{},parameters:ie(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}let r=h.generateAccessKey?await h.generateAccessKey({keyType:e.keyType}):await ae(e);if(!r)return{parameters:e};let i=await DF({...e,chainId:n,keyType:r.keyType,publicKey:r.publicKey});return{keyPair:r.keyPair,parameters:{...ie(e,i.keyAuthorization),publicKey:r.publicKey},privateKey:r.privateKey}}function ie(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ae(e){if(!bR())return;if(e.keyType&&e.keyType!==`p256`)throw new $w({message:`\\`keyType: \"${e.keyType}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let t=await xS();return{keyPair:t,keyType:`p256`,publicKey:ig(t.publicKey)}}async function oe(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{keyPair:i,privateKey:a}=t,o=i?{keyPair:i}:a?{privateKey:a}:void 0;o&&u.accessKeys.add({account:n,authorization:Ry(r),...o})}async function se(e){let t=await x({address:e.address}),n=S({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await jC(m(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!BF(e))throw e}u.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:u.getState().chainId})}async function ce(e,t){if(g.signTransaction)return await g.signTransaction(e,t);if(h.getAccount)return await w(e);b(`signTransaction`)}async function le(e,t){if(g.sendTransaction)return await g.sendTransaction(e,t);if(h.getAccount)return await ee(e);b(`sendTransaction`)}async function ue(e,t){if(g.sendTransactionSync)return await g.sendTransactionSync(e,t);if(h.getAccount)return await te(e);b(`sendTransactionSync`)}async function de(e,t){if(g.signPersonalMessage)return await g.signPersonalMessage(e,t);if(h.getAccount)return await ne(e);b(`signPersonalMessage`)}async function fe(e,t){if(g.signTypedData)return await g.signTypedData(e,t);if(h.getAccount)return await re(e);b(`signTypedData`)}async function pe(e,t){if(g.authorizeAccessKey)return await g.authorizeAccessKey(e,t);if(h.getAccount)return await T(e);b(`authorizeAccessKey`)}async function me(e,t){if(g.revokeAccessKey)return await g.revokeAccessKey(e,t);if(h.getAccount)return await se(e);b(`revokeAccessKey`)}function he(e){if(!h.persistAccounts)return e;let t=[...e];for(let e of u.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function ge(e){if(e===!1)return!1;let t=typeof e==`string`?e:l?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function _e(e){let{reuse:t,...n}=e;return n}function ve(){let t=e.authorizeAccessKey;return typeof t==`function`?t():t}async function ye(e){let t=ve();if(!t)return;let n=be(e.capabilities);if(!(n&&await kF({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{state:u}})))return _e(t)}function be(e){let t=u.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 xe(e){let t=ve();if(!t||await u.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!AF({parameters:t,calls:e.calls}))return;let n=_e(t);await pe(n,{method:`wallet_authorizeAccessKey`,params:[lE(oL.parameters,n)]})}let Se=Object.assign(_T({..._,async request({method:t,params:r}){return await pR(u),zL(async()=>{let i;try{i=_R(CL,{method:t,params:r})}catch(e){if(!(e instanceof aT))throw e;return await DL(void 0,{chains:n,store:u,transports:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return y();case`eth_chainId`:return I(u.getState().chainId);case`eth_requestAccounts`:{let e=y();if(e.length>0)return e;let{accounts:t}=await g.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return u.setState({accounts:he(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{v();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=u.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await xe({address:c,...a?{calls:a}:{},chainId:s}),await le({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ge(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=ge(t.feePayer),a=m({chainId:n,feePayer:r}),o=e=>{let t={...e,chainId:e.chainId??a.chain?.id,...r?{feePayer:!0}:{}},n=a.chain?.formatters?.transactionRequest,i=n?n.format({...t},`fillTransaction`):t;return a.request({method:`eth_fillTransaction`,params:[i]})};if(!t.keyAuthorization){let e=u.getState(),n=t.from??e.accounts[e.activeAccount]?.address;if(n){let i=await ML({address:n,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:t.chainId??e.chainId,client:a,store:u});if(i)try{return await i.fill({...t,chainId:t.chainId??e.chainId,from:t.from??n,...r?{feePayer:!0}:{}})}catch{return await o(t)}}}return await o(t)}case`eth_signTransaction`:{v();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=u.getState();return await ce({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:ge(e.feePayer)},i)}case`eth_sendTransactionSync`:{v();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=u.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await xe({address:c,...a?{calls:a}:{},chainId:s}),await ue({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ge(e.feePayer)},i)}case`eth_signTypedData_v4`:{v();let[e,t]=i._decoded.params;return await fe({address:e,data:t},i)}case`personal_sign`:{v();let[e,t]=i._decoded.params;return await de({address:t,data:e},i)}case`wallet_sendCalls`:try{v();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=ge(t?.feePayer??(l?!0:void 0)),s=u.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await xe({address:c,calls:e,chainId:n??s.chainId});let d={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=F(await le(d,{method:`eth_sendTransaction`,params:[lE(KI,d)]}),Um(I(u.getState().chainId),32),CR);return{capabilities:{sync:a},id:e}}let f=await ue(d,{method:`eth_sendTransactionSync`,params:[lE(KI,d)]}),p=f.transactionHash,m=I(u.getState().chainId),h=F(p,Um(m,32),CR);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[f],status:f.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw wR(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=u.getState(),a=e?.account??t[r]?.address;if(!a)throw new oT({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new $w({message:\"`tokens` is required.\"});let s=DL(e?.chainId,{chains:n,store:u,transports:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([Cw(s,{account:a,token:e}),ww(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(CR.slice(2)))throw Error(\"`id` not supported\");Rm(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await DL(Number(r),{chains:n,store:u,transports:c}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=u.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new iT({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`},...l?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&u.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await ye({capabilities:n,chainId:t??u.getState().chainId}),a=n?.auth??e.auth,o=a?OR(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new $w({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new $w({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await E(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:lE(lL.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!h.forwardsAuth?await jR(o,t??u.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:d,auth:f,identity:p,keyAuthorization:m,personalSign:_,signature:v,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?u.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await g.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await g.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??Gm(16),...l?{personalSign:l}:{}},i)}return await g.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();u.setState({accounts:he(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=d[0]?.address;await oe({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??_?.message,C=o&&x&&S&&v&&b?await MR(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},..._?.keyAuthorization?{keyAuthorization:_.keyAuthorization}:{}}):void 0;return{accounts:d.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??f?{auth:C??f}:{},...p?{identity:p}:{},..._?{personalSign:{message:_.message,..._.keyAuthorization?{keyAuthorization:_.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=u.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=OR(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await g.disconnect?.(),u.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await pe(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{v();let[e]=i._decoded.params;await me({...e},i);return}case`wallet_deposit`:if(!g.deposit)throw new aT({message:\"`deposit` not supported by adapter.\"});return await g.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{v();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!g.transfer)throw new aT({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:ge(e.feePayer)}};return await g.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=u.getState(),l=e.chainId??c.chainId,d=ge(n),f=m({chainId:l,feePayer:typeof d==`string`?d:void 0}),{address:p,decimals:h}=await(async()=>{if(gg(s))return{address:s,decimals:(await ww(f,{token:s})).decimals};let e=await gR({chainId:f.chain.id,symbol:s});if(!e)throw new nT(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),_=Bp(t,h),y=c.accounts[c.activeAccount]?.address,b=r&&y&&r.toLowerCase()!==y.toLowerCase()?r:void 0,x={calls:[Fw.call({amount:_,...b?{from:b}:{},memo:a?Hm(a):void 0,to:o,token:p})],chainId:l,from:y,...d===void 0?{}:{feePayer:d}},S=await ue(x,{method:`eth_sendTransactionSync`,params:[lE(KI,x)]});return{chainId:I(l),receipt:S}}case`wallet_swap`:if(v(),!g.swap)throw new aT({message:\"`swap` not supported by adapter.\"});return await g.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(v(),!g.depositZone)throw new aT({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:ge(e.feePayer)}};return await g.depositZone(t,i)}case`wallet_withdrawZone`:if(v(),!g.withdrawZone)throw new aT({message:\"`withdrawZone` not supported by adapter.\"});return await g.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 uT({message:`Chain ${e} not configured.`});await g.switchChain?.({chainId:e}),u.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:lm({method:t,params:r})})}},{schema:xL}),{chains:n,getAccount:(e=>{let t=f(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=u.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 u.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:Se.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return DL(t,{chains:n,feePayer:r,provider:p,store:u,transports:c})},store:u});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;yR.has(e)||(yR.add(e),d({info:{icon:t.icon??SR,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Se}))}let Ce=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Ce){let{mode:e=`push`,polyfill:t,...n}=Ce,r=t??TR(),i=({chainId:e})=>{let t=Se.getClient({chainId:e}),n=u.getState().accounts[u.getState().activeAccount];if(!n)throw new oT({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};iF({methods:[rF({...n,getClient:i,mode:e}),rF.subscription({getClient:i})],polyfill:r})}return p=Se,Se}let SR=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,CR=Yh(Hm(`TEMPO_5792`));function wR(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 TR(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function ER(){return typeof document<`u`&&typeof document.cookie==`string`}function DR(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 $w({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 OR(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:DR(e,`challenge`)}:{},...r?{verify:DR(e,`verify`)}:{},...i?{logout:DR(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return kR(a),a}function kR(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 $w({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new $w({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let AR=' 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 jR(e,t){let n=typeof e==`object`?e.challenge:DR(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=_F(i.message),o=new URL(n);if(a.version!==`1`)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${AR}`});if(a.uri!==o.origin)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${AR}`});if(a.chainId!==t)throw new $w({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function MR(e,t){let n=typeof e==`object`?e.verify:DR(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!ER(),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 eT({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let NR={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},PR={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},FR={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var IR=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let LR={accent:new IR(`accent`),background:new IR(`background`),border:new IR(`border`),foreground:new IR(`foreground`),muted:new IR(`muted`),negative:new IR(`negative`),positive:new IR(`positive`),surface:new IR(`surface`),fontFamily:new IR(`font-family`),fontSizeBase:new IR(`font-size-base`),radius:new IR(`radius`),spacingUnit:new IR(`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: ${LR.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 RR(e){let t=new URL(location.href);t.searchParams.set(PR.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()}dm();function zR(e){let t=document.getElementById(NR.data),n=cm(t.textContent),r=t.getAttribute(FR.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(FR.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(FR.challengeId),o=a?(i.removeAttribute(FR.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(NR.error)?.remove();return}let t=document.getElementById(NR.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=NR.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:RR,vars:LR}}let BR=zR(`tempo`),VR=String.raw,HR=document.createElement(`style`);HR.textContent=VR`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${BR.vars.spacingUnit} * 8);\n }\n button {\n background: ${BR.vars.accent};\n border-radius: ${BR.vars.radius};\n color: ${BR.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${BR.vars.spacingUnit} * 4) calc(${BR.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`,BR.root.append(HR);let UR=xR({testnet:BR.challenge.request.methodDetails?.chainId===GC.id||BR.challenge.request.methodDetails?.chainId===WC.id}),WR=document.createElement(`button`);WR.innerHTML=`${BR.text.pay===`Pay`?`Continue with`:BR.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>`,WR.onclick=async()=>{try{BR.error(),WR.disabled=!0;let e=await(async()=>{let e=await UR.request({method:`eth_accounts`});return e.length>0?e.at(0):(await UR.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await rF({account:e,getClient:e=>{let t=e.chainId??BR.challenge.request.methodDetails?.chainId;return _({chain:[...UR?.chains??[],GC,WC].find(e=>e.id===t),transport:up(UR)})}})[0].createCredential({challenge:BR.challenge,context:{}});await BR.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;BR.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{WR.disabled=!1}},BR.root.appendChild(WR)})();</script>"
|