mppx 0.8.9 → 0.8.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cli/validate/challenge.d.ts +2 -0
  3. package/dist/cli/validate/challenge.d.ts.map +1 -1
  4. package/dist/cli/validate/challenge.js +21 -9
  5. package/dist/cli/validate/challenge.js.map +1 -1
  6. package/dist/cli/validate/discovery.d.ts.map +1 -1
  7. package/dist/cli/validate/discovery.js +50 -19
  8. package/dist/cli/validate/discovery.js.map +1 -1
  9. package/dist/cli/validate/helpers.d.ts +1 -0
  10. package/dist/cli/validate/helpers.d.ts.map +1 -1
  11. package/dist/cli/validate/helpers.js +11 -0
  12. package/dist/cli/validate/helpers.js.map +1 -1
  13. package/dist/cli/validate/index.d.ts +1 -0
  14. package/dist/cli/validate/index.d.ts.map +1 -1
  15. package/dist/cli/validate/index.js +4 -0
  16. package/dist/cli/validate/index.js.map +1 -1
  17. package/dist/cli/validate/payment.d.ts +1 -0
  18. package/dist/cli/validate/payment.d.ts.map +1 -1
  19. package/dist/cli/validate/payment.js +2 -2
  20. package/dist/cli/validate/payment.js.map +1 -1
  21. package/dist/tempo/internal/fee-payer.d.ts +39 -2
  22. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  23. package/dist/tempo/internal/fee-payer.js +45 -1
  24. package/dist/tempo/internal/fee-payer.js.map +1 -1
  25. package/dist/tempo/internal/fee-token.d.ts +8 -0
  26. package/dist/tempo/internal/fee-token.d.ts.map +1 -1
  27. package/dist/tempo/internal/fee-token.js +19 -6
  28. package/dist/tempo/internal/fee-token.js.map +1 -1
  29. package/dist/tempo/legacy/session/Chain.d.ts.map +1 -1
  30. package/dist/tempo/legacy/session/Chain.js +53 -50
  31. package/dist/tempo/legacy/session/Chain.js.map +1 -1
  32. package/dist/tempo/server/Charge.d.ts +8 -0
  33. package/dist/tempo/server/Charge.d.ts.map +1 -1
  34. package/dist/tempo/server/Charge.js +49 -45
  35. package/dist/tempo/server/Charge.js.map +1 -1
  36. package/dist/tempo/server/Methods.d.ts +7 -0
  37. package/dist/tempo/server/Methods.d.ts.map +1 -1
  38. package/dist/tempo/server/Methods.js.map +1 -1
  39. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  40. package/dist/tempo/server/Subscription.js +24 -16
  41. package/dist/tempo/server/Subscription.js.map +1 -1
  42. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  43. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  44. package/dist/tempo/server/internal/html.gen.js +1 -1
  45. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  46. package/dist/tempo/session/client/SessionManager.d.ts +3 -0
  47. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  48. package/dist/tempo/session/client/SessionManager.js +1 -0
  49. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  50. package/dist/tempo/session/client/Transports.d.ts +20 -0
  51. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  52. package/dist/tempo/session/client/Transports.js +23 -11
  53. package/dist/tempo/session/client/Transports.js.map +1 -1
  54. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  55. package/dist/tempo/session/precompile/Chain.js +25 -19
  56. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  57. package/dist/tempo/session/server/index.d.ts +2 -0
  58. package/dist/tempo/session/server/index.d.ts.map +1 -1
  59. package/dist/tempo/session/server/index.js +2 -0
  60. package/dist/tempo/session/server/index.js.map +1 -1
  61. package/dist/validation/core.d.ts +1 -0
  62. package/dist/validation/core.d.ts.map +1 -1
  63. package/dist/validation/core.js +5 -0
  64. package/dist/validation/core.js.map +1 -1
  65. package/dist/x402/Header.js +1 -1
  66. package/dist/x402/Header.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/cli/validate/challenge.ts +20 -8
  69. package/src/cli/validate/discovery.test.ts +128 -0
  70. package/src/cli/validate/discovery.ts +50 -15
  71. package/src/cli/validate/helpers.ts +10 -0
  72. package/src/cli/validate/index.ts +4 -0
  73. package/src/cli/validate/payment.ts +4 -1
  74. package/src/cli/validate.test.ts +23 -2
  75. package/src/client/Mppx.test-d.ts +3 -1
  76. package/src/tempo/PublicExports.test-d.ts +5 -0
  77. package/src/tempo/internal/fee-payer.test.ts +93 -0
  78. package/src/tempo/internal/fee-payer.ts +64 -2
  79. package/src/tempo/internal/fee-token.test.ts +37 -0
  80. package/src/tempo/internal/fee-token.ts +26 -5
  81. package/src/tempo/legacy/session/Chain.test.ts +78 -2
  82. package/src/tempo/legacy/session/Chain.ts +56 -52
  83. package/src/tempo/server/Charge.test.ts +121 -6
  84. package/src/tempo/server/Charge.ts +61 -48
  85. package/src/tempo/server/Methods.ts +6 -0
  86. package/src/tempo/server/Subscription.test.ts +79 -4
  87. package/src/tempo/server/Subscription.ts +24 -16
  88. package/src/tempo/server/internal/html.gen.ts +1 -1
  89. package/src/tempo/session/client/SessionManager.test.ts +12 -1
  90. package/src/tempo/session/client/SessionManager.ts +3 -0
  91. package/src/tempo/session/client/Transports.test.ts +34 -0
  92. package/src/tempo/session/client/Transports.ts +47 -20
  93. package/src/tempo/session/precompile/Chain.test.ts +9 -0
  94. package/src/tempo/session/precompile/Chain.ts +28 -20
  95. package/src/tempo/session/server/Session.test.ts +23 -3
  96. package/src/tempo/session/server/index.ts +2 -0
  97. package/src/validation/core.ts +6 -0
  98. package/src/x402/Header.ts +1 -1
@@ -1,3 +1,3 @@
1
1
  // Generated — do not edit.
2
- export const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let te;function ne(){return typeof window>`u`?ie():C({name:`iframe`},e=>{let{host:t}=e;if(te&&te.host===t)return te.refs.store=e.store,te.refs.fallback.destroy(),te.refs.fallback=re()(e),te.instance.syncTheme(e.theme),te.instance;te?.instance.destroy();let n={fallback:re()(e),store:e.store},r=!1,i=oe(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ae(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{ue(),ie(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let ne=!1,ie=()=>{ne&&(ne=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},se=()=>{ne||(ne=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},ce=!1,le=()=>{ce||(ce=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ue=()=>{if(ce){ce=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},de={close(){n.fallback.close(),r=!1,ue(),ie()},destroy(){te?.instance===de&&(te=void 0),n.fallback.close(),r=!1,ie(),ue(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,le(),se())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(ee()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return te={host:t,instance:de,refs:n},de})}function re(e={}){if(typeof window>`u`)return ie();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=oe(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function ie(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ae(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function oe(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var se,ce=o((()=>{se=`1.2.3`})),le,ue=o((()=>{ce(),le=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${se}`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function de(e,t){return e.exec(t)?.groups}var fe,pe,me,he=o((()=>{fe=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,pe=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,me=/^\\(.+?\\).*?$/}));function ge(e){let t=e.type;if(_e.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=ge(i),r<n-1&&(t+=`, `)}let r=de(_e,e.type);return t+=`)${r?.array||``}`,ge({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var _e,ve=o((()=>{he(),_e=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ye(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=ge(i),r!==n-1&&(t+=`, `)}return t}var be=o((()=>{ve()}));function xe(e){return e.type===`function`?`function ${e.name}(${ye(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ye(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ye(e.inputs)})`:e.type===`error`?`error ${e.name}(${ye(e.inputs)})`:e.type===`constructor`?`constructor(${ye(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Se=o((()=>{be()}));function Ce(e){return Ie.test(e)}function we(e){return de(Ie,e)}function Te(e){return Le.test(e)}function Ee(e){return de(Le,e)}function De(e){return Re.test(e)}function Oe(e){return de(Re,e)}function ke(e){return ze.test(e)}function Ae(e){return de(ze,e)}function je(e){return Be.test(e)}function Me(e){return de(Be,e)}function Ne(e){return Ve.test(e)}function Pe(e){return de(Ve,e)}function Fe(e){return He.test(e)}var Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge=o((()=>{he(),Ie=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Re=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,ze=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Be=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,He=/^receive\\(\\) external payable$/,Ue=new Set([`indexed`]),We=new Set([`calldata`,`memory`,`storage`])})),Ke,qe,Je=o((()=>{ue(),Ke=class extends le{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},qe=class extends le{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}}})),Ye,Xe,Ze,Qe,$e,et=o((()=>{ue(),Ye=class extends le{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Xe=class extends le{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Ze=class extends le{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Qe=class extends le{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},$e=class extends le{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}}})),tt,nt,rt,it=o((()=>{ue(),tt=class extends le{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},nt=class extends le{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},rt=class extends le{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}}})),at,ot=o((()=>{ue(),at=class extends le{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}}})),st,ct=o((()=>{ue(),st=class extends le{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}}}));function lt(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var ut,dt=o((()=>{ut=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]])}));function ft(e,t={}){if(De(e))return pt(e,t);if(Te(e))return mt(e,t);if(Ce(e))return ht(e,t);if(je(e))return gt(e,t);if(Ne(e))return _t(e);if(Fe(e))return{type:`receive`,stateMutability:`payable`};throw new nt({signature:e})}function pt(e,t={}){let n=Oe(e);if(!n)throw new tt({signature:e,type:`function`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:We,structs:t,type:`function`}));let o=[];if(n.returns){let e=yt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(vt(e[n],{modifiers:We,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function mt(e,t={}){let n=Ee(e);if(!n)throw new tt({signature:e,type:`event`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:Ue,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function ht(e,t={}){let n=we(e);if(!n)throw new tt({signature:e,type:`error`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function gt(e,t={}){let n=Me(e);if(!n)throw new tt({signature:e,type:`constructor`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function _t(e){let t=Pe(e);if(!t)throw new tt({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function vt(e,t){let n=lt(e,t?.type,t?.structs);if(ut.has(n))return ut.get(n);let r=me.test(e),i=de(r?wt:Ct,e);if(!i)throw new Ye({param:e});if(i.name&&xt(i.name))throw new Xe({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=yt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(vt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Tt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!bt(c))throw new qe({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Ze({param:e,type:t?.type,modifier:i.modifier});if(We.has(i.modifier)&&!St(c,!!i.array))throw new Qe({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ut.set(n,u),u}function yt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?yt(o,[...t,n.trim()]):yt(o,t,`${n}${i}`,r);case`(`:return yt(o,t,`${n}${i}`,r+1);case`)`:return yt(o,t,`${n}${i}`,r-1);default:return yt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new st({current:n,depth:r});return t.push(n.trim()),t}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||fe.test(e)||pe.test(e)}function xt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||fe.test(e)||pe.test(e)||Et.test(e)}function St(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Ct,wt,Tt,Et,Dt=o((()=>{he(),Je(),et(),it(),ct(),dt(),Ge(),Ct=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Tt=/^u?int$/,Et=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/}));function Ot(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!ke(n))continue;let i=Ae(n);if(!i)throw new tt({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=vt(t,{type:`struct`});o.push(n)}if(!o.length)throw new rt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=kt(a,t)}return r}function kt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(me.test(i.type))r.push(i);else{let e=de(At,i.type);if(!e?.type)throw new $e({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new at({type:o});r.push({...i,type:`tuple${a??``}`,components:kt(t[o],t,new Set([...n,o]))})}else if(bt(o))r.push(i);else throw new Ke({type:o})}}return r}var At,jt=o((()=>{he(),Je(),et(),it(),ot(),Ge(),Dt(),At=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Mt(e){let t=Ot(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];ke(r)||n.push(ft(r,t))}return n}var Nt=o((()=>{Ge(),jt(),Dt()})),Pt=o((()=>{ue(),Se(),ve(),be(),Nt(),Je(),Ge(),jt(),Dt(),et(),it(),ct(),ot()}));function T(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Ft(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new hn(e.type);return`${e.name}(${It(e.inputs,{includeName:t})})`}function It(e,{includeName:t=!1}={}){return e?e.map(e=>Lt(e,{includeName:t})).join(t?`, `:`,`):``}function Lt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${It(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Rt=o((()=>{gn()}));function E(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var zt=o((()=>{}));function Bt(e){return E(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Vt=o((()=>{zt()})),Ht,Ut=o((()=>{Ht=`2.54.4`}));function Wt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Wt(e.cause,t):t?null:e}var Gt,D,O=o((()=>{Ut(),Gt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Ht}`},D=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Gt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Gt.version?[`Version: ${Gt.version}`]:[]].join(`\n`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Ht}walk(e){return Wt(this,e)}}})),Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn=o((()=>{Rt(),Vt(),O(),Kt=class extends D{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},qt=class extends D{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},Jt=class extends D{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${It(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:`AbiDecodingDataSizeTooSmallError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}},Yt=class extends D{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Xt=class extends D{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Zt=class extends D{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Bt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Qt=class extends D{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},$t=class extends D{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},en=class extends D{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},tn=class extends D{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},nn=class extends D{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},rn=class extends D{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},an=class extends D{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},on=class extends D{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},sn=class extends D{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},cn=class extends D{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ft(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Ft(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},ln=class extends D{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},un=class extends D{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${It(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},dn=class extends D{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Ft(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},fn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},pn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},mn=class extends D{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},hn=class extends D{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),_n,vn,yn,bn=o((()=>{O(),_n=class extends D{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},vn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},yn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function xn(e,{dir:t,size:n=32}={}){return typeof e==`string`?Sn(e,{dir:t,size:n}):Cn(e,{dir:t,size:n})}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new vn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Cn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new vn({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var wn=o((()=>{bn()})),Tn,En,Dn,On,kn,An,jn,Mn,Nn=o((()=>{O(),Tn=class extends D{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},En=class extends D{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Dn=class extends D{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},On=class extends D{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},kn=class extends D{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},An=class extends D{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},jn=class extends D{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},Mn=class extends D{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Pn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Fn=o((()=>{}));function In(e,{size:t}){if(Bt(e)>t)throw new Mn({givenSize:Bt(e),maxSize:t})}function k(e,t={}){let{signed:n}=t;t.size&&In(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Ln(e,t={}){let n=e;if(t.size&&(In(n,{size:t.size}),n=Pn(n)),Pn(n)===`0x00`)return!1;if(Pn(n)===`0x01`)return!0;throw new Dn(n)}function Rn(e,t={}){let n=k(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Tn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var zn=o((()=>{Nn(),Vt(),Fn()}));function Bn(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(e,t):typeof e==`string`?Un(e,t):typeof e==`boolean`?Vn(e,t):Hn(e,t)}function Vn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{size:t.size})):n}function Hn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Wn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(In(r,{size:t.size}),xn(r,{dir:`right`,size:t.size})):r}function A(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?xn(s,{size:r}):s}function Un(e,t={}){return Hn(Gn.encode(e),t)}var Wn,Gn,j=o((()=>{Nn(),wn(),zn(),Wn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Gn=new TextEncoder}));function Kn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Xn(e,t):typeof e==`boolean`?qn(e,t):E(e)?Yn(e,t):Zn(e,t)}function qn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{size:t.size})):n}function Jn(e){if(e>=$n.zero&&e<=$n.nine)return e-$n.zero;if(e>=$n.A&&e<=$n.F)return e-($n.A-10);if(e>=$n.a&&e<=$n.f)return e-($n.a-10)}function Yn(e,t={}){let n=e;t.size&&(In(n,{size:t.size}),n=xn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Jn(r.charCodeAt(t++)),i=Jn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new D(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Xn(e,t){return Yn(A(e,t))}function Zn(e,t={}){let n=Qn.encode(e);return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{dir:`right`,size:t.size})):n}var Qn,$n,er=o((()=>{O(),zt(),wn(),zn(),j(),Qn=new TextEncoder,$n={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function tr(e,t=!1){return t?{h:Number(e&ir),l:Number(e>>ar&ir)}:{h:Number(e>>ar&ir)|0,l:Number(e&ir)|0}}function nr(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=tr(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function rr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr=o((()=>{ir=BigInt(2**32-1),ar=BigInt(32),or=(e,t,n)=>e>>>n,sr=(e,t,n)=>e<<32-n|t>>>n,cr=(e,t,n)=>e>>>n|t<<32-n,lr=(e,t,n)=>e<<32-n|t>>>n,ur=(e,t,n)=>e<<64-n|t>>>n-32,dr=(e,t,n)=>e>>>n-32|t<<64-n,fr=(e,t,n)=>e<<n|t>>>32-n,pr=(e,t,n)=>t<<n|e>>>32-n,mr=(e,t,n)=>t<<n-32|e>>>64-n,hr=(e,t,n)=>e<<n-32|t>>>64-n,gr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),_r=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,vr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),yr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,br=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),xr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Cr,wr=o((()=>{Cr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Tr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Er(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Dr(e,...t){if(!Tr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Or(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Er(e.outputLen),Er(e.blockLen)}function kr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Ar(e,t){Dr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function jr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Nr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Pr(e,t){return e<<32-t|e>>>t}function Fr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ir(e){for(let t=0;t<e.length;t++)e[t]=Fr(e[t]);return e}function Lr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Rr(e){return typeof e==`string`&&(e=Lr(e)),Dr(e),e}function zr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Dr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Br(e){let t=t=>e().update(Rr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Vr(e=32){if(Cr&&typeof Cr.getRandomValues==`function`)return Cr.getRandomValues(new Uint8Array(e));if(Cr&&typeof Cr.randomBytes==`function`)return Uint8Array.from(Cr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Hr,Ur,Wr,Gr=o((()=>{wr(),Hr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Ur=Hr?e=>e:Ir,Wr=class{}}));function Kr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ai(a,o,1)^n[r],c=oi(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=ei[n],a=ai(t,i,r),o=oi(t,i,r),s=$r[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ri[r],e[1]^=ii[r]}Mr(n)}var qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui=o((()=>{Sr(),Gr(),qr=BigInt(0),Jr=BigInt(1),Yr=BigInt(2),Xr=BigInt(7),Zr=BigInt(256),Qr=BigInt(113),$r=[],ei=[],ti=[];for(let e=0,t=Jr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],$r.push(2*(5*r+n)),ei.push((e+1)*(e+2)/2%64);let i=qr;for(let e=0;e<7;e++)t=(t<<Jr^(t>>Xr)*Qr)%Zr,t&Yr&&(i^=Jr<<(Jr<<BigInt(e))-Jr);ti.push(i)}ni=nr(ti,!0),ri=ni[0],ii=ni[1],ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=(e,t,n)=>n>32?hr(e,t,n):pr(e,t,n),si=class e extends Wr{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,Er(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=jr(this.state)}clone(){return this._cloneInto()}keccak(){Ur(this.state32),Kr(this.state32,this.rounds),Ur(this.state32),this.posOut=0,this.pos=0}update(e){kr(this),e=Rr(e),Dr(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){kr(this,!1),Dr(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Er(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ar(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Mr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},ci=(e,t,n)=>Br(()=>new si(t,e,n)),li=ci(1,136,256/8)}));function di(e,t){let n=t||`hex`,r=li(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}var fi=o((()=>{ui(),zt(),er(),j()}));function pi(e){return mi(e)}var mi,hi=o((()=>{er(),fi(),mi=e=>di(Kn(e))}));function gi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new D(`Unable to normalize signature.`);return i}var _i=o((()=>{O()})),vi,yi=o((()=>{Pt(),_i(),vi=e=>gi(typeof e==`string`?e:xe(e))}));function bi(e){return pi(vi(e))}var xi=o((()=>{hi(),yi()})),Si,Ci=o((()=>{xi(),Si=bi})),wi,Ti=o((()=>{O(),wi=class extends D{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),Ei,Di=o((()=>{Ei=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Oi(e,t){if(Ai.has(`${e}.${t}`))return Ai.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=di(Zn(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Ai.set(`${e}.${t}`,a),a}function ki(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});return Oi(e,t)}var Ai,ji=o((()=>{Ti(),er(),fi(),Di(),Fi(),Ai=new Ei(8192)}));function Mi(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Pi.has(r))return Pi.get(r);let i=Ni.test(e)?e.toLowerCase()===e?!0:n?Oi(e)===e:!0:!1;return Pi.set(r,i),i}var Ni,Pi,Fi=o((()=>{Di(),ji(),Ni=/^0x[a-fA-F0-9]{40}$/,Pi=new Ei(8192)}));function Ii(e){return typeof e[0]==`string`?Ri(e):Li(e)}function Li(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ri(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var zi=o((()=>{}));function Bi(e,t,n,{strict:r}={}){return E(e,{strict:!1})?Wi(e,t,n,{strict:r}):Ui(e,t,n,{strict:r})}function Vi(e,t){if(typeof t==`number`&&t>0&&t>Bt(e)-1)throw new _n({offset:t,position:`start`,size:Bt(e)})}function Hi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Bt(e)!==n-t)throw new _n({offset:n,position:`end`,size:Bt(e)})}function Ui(e,t,n,{strict:r}={}){Vi(e,t);let i=e.slice(t,n);return r&&Hi(i,t,n),i}function Wi(e,t,n,{strict:r}={}){Vi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Hi(i,t,n),i}var Gi=o((()=>{bn(),zt(),Vt()})),Ki,qi,Ji=o((()=>{Ki=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,qi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function Yi(e,t){if(e.length!==t.length)throw new Qt({expectedLength:e.length,givenLength:t.length});return Qi(Xi({params:e,values:t}))}function Xi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Zi({param:e[r],value:t[r]}));return n}function Zi({param:e,value:t}){let n=oa(e.type);if(n){let[r,i]=n;return ea(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return aa(t,{param:e});if(e.type===`address`)return $i(t);if(e.type===`bool`)return na(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=qi.exec(e.type)??[];return ra(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ta(t,{param:e});if(e.type===`string`)return ia(t);throw new fn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Qi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Bt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(A(t+i,{size:32})),r.push(s),i+=Bt(s)):n.push(s)}return Ri([...n,...r])}function $i(e){if(!Mi(e))throw new wi({address:e});return{dynamic:!1,encoded:Sn(e.toLowerCase())}}function ea(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new mn(e);if(!r&&e.length!==t)throw new Xt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&sa(n),a=[];for(let t=0;t<e.length;t++){let r=Zi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Qi(a);if(r)return{dynamic:!0,encoded:Ri([A(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Ri(a.map(({encoded:e})=>e))}}function ta(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Bt(e);if(!n){let t=e;return r%32!=0&&(t=Sn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ri([Sn(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Zt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Sn(e,{dir:`right`})}}function na(e){if(typeof e!=`boolean`)throw new D(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Sn(Vn(e))}}function ra(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Tn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:A(e,{size:32,signed:t})}}function ia(e){let t=Un(e),n=Math.ceil(Bt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Sn(Bi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ri([Sn(A(Bt(t),{size:32})),...r])}}function aa(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Zi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Qi(r):Ri(r.map(({encoded:e})=>e))}}function oa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function sa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(sa);let n=oa(t);return n?sa({...e,type:n[1]}):!1}var ca=o((()=>{gn(),Ti(),O(),Nn(),Fi(),zi(),wn(),Vt(),Gi(),j(),Ji()})),la,ua=o((()=>{Gi(),xi(),la=e=>Bi(bi(e),0,4)}));function da(e){let{abi:t,args:n=[],name:r}=e,i=E(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?la(e)===r:e.type===`event`?Si(e)===r:!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?fa(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=pa(e.inputs,o.inputs,n);if(t)throw new cn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function fa(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Mi(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&fa(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>fa(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function pa(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return pa(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Mi(n[r],{strict:!1}))return o}}var ma=o((()=>{gn(),zt(),Fi(),Ci(),ua()}));function M(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ha=o((()=>{}));function ga(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:_a});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:_a});return{abi:[i],functionName:la(Ft(i))}}var _a,va=o((()=>{gn(),ua(),Rt(),ma(),_a=`/docs/contract/encodeFunctionData`}));function ya(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ga(e),i=n[0];return Ri([r,(`inputs`in i&&i.inputs?Yi(i.inputs,t??[]):void 0)??`0x`])}var ba=o((()=>{zi(),ca(),va()})),xa,Sa,Ca,wa=o((()=>{xa={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},Sa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Ca={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ta,Ea,Da,Oa=o((()=>{O(),Ta=class extends D{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ea=class extends D{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Da=class extends D{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function ka(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Aa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Aa,ja=o((()=>{Oa(),Aa={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ea({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ta({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ta({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function Ma(e,t={}){return t.size!==void 0&&In(e,{size:t.size}),k(Hn(e,t),t)}function Na(e,t={}){let n=e;if(t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n)),n.length>1||n[0]>1)throw new En(n);return!!n[0]}function Pa(e,t={}){return t.size!==void 0&&In(e,{size:t.size}),Rn(Hn(e,t),t)}function Fa(e,t={}){let n=e;return t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n,{dir:`right`})),new TextDecoder().decode(n)}var Ia=o((()=>{Nn(),Fn(),zn(),j()}));function La(e,t){let n=typeof t==`string`?Yn(t):t,r=ka(n);if(Bt(n)===0&&e.length>0)throw new Yt;if(Bt(t)&&Bt(t)<32)throw new Jt({data:typeof t==`string`?t:Hn(t),params:e,size:Bt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=Ra(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ra(e,t,{staticPosition:n}){let r=oa(t.type);if(r){let[i,a]=r;return Ba(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Wa(e,t,{staticPosition:n});if(t.type===`address`)return za(e);if(t.type===`bool`)return Va(e);if(t.type.startsWith(`bytes`))return Ha(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ua(e,t);if(t.type===`string`)return Ga(e,{staticPosition:n});throw new pn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function za(e){return[Oi(Hn(Ui(e.readBytes(32),-20))),32]}function Ba(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Pa(e.readBytes(Ja)),i=n+qa;e.setPosition(n);let a=Pa(e.readBytes(qa)),o=Ka(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ra(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ka(t)){let i=r+Pa(e.readBytes(Ja)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ra(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Ra(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Va(e){return[Na(e.readBytes(32),{size:32}),32]}function Ha(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Pa(e.readBytes(32));e.setPosition(n+t);let r=Pa(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Hn(i),32]}return[Hn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ua(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Ma(i,{signed:n}):Pa(i,{signed:n}),32]}function Wa(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ka(t)){let o=n+Pa(e.readBytes(Ja));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ra(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Ra(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ga(e,{staticPosition:t}){let n=t+Pa(e.readBytes(32));e.setPosition(n);let r=Pa(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Fa(Pn(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Ka(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ka);let n=oa(e.type);return!!(n&&Ka({...e,type:n[1]}))}var qa,Ja,Ya=o((()=>{gn(),ji(),ja(),Vt(),Gi(),Fn(),Ia(),er(),j(),ca(),qa=32,Ja=32}));function Xa(e){let{abi:t,data:n,cause:r}=e,i=Bi(n,0,4);if(i===`0x`)throw new Yt({cause:r});let a=[...t||[],Sa,Ca].find(e=>e.type===`error`&&i===la(Ft(e)));if(!a)throw new tn(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?La(a.inputs,Bi(n,4)):void 0,errorName:a.name}}var Za=o((()=>{wa(),gn(),Gi(),ua(),Ya(),Rt()})),Qa,$a=o((()=>{Qa=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function eo({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?Qa(t[n]):t[n]}`).join(`, `)})`}var to=o((()=>{$a()})),no,ro,io=o((()=>{no={gwei:9,wei:18},ro={ether:-9,wei:9}}));function ao(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 oo=o((()=>{}));function so(e,t=`wei`){return ao(e,no[t])}var co=o((()=>{io(),oo()}));function lo(e,t=`wei`){return ao(e,ro[t])}var uo=o((()=>{io(),oo()}));function fo(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function po(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+=fo(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=fo(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var mo,ho,go=o((()=>{O(),mo=class extends D{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},ho=class extends D{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function _o(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 vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko=o((()=>{co(),uo(),O(),vo=class extends D{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},yo=class extends D{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},bo=class extends D{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,_o(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`})}},xo=class extends D{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},So=class extends D{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Co=class extends D{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},wo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=_o({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(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}},To=class extends D{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},Eo=class extends D{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},Do=class extends D{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Oo=class extends D{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));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((()=>{ha(),wa(),Za(),Rt(),to(),ma(),co(),uo(),gn(),O(),go(),ko(),Po(),Fo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=_o({from:(t?M(t):void 0)?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(c)} gwei`,nonce:l});f&&(p+=`\\n${po(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 D{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=da({abi:t,args:n,name:a}),c=s?eo({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Ft(s,{includeName:!0}):void 0,u=_o({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 D{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Xa({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=xa[e]}else{let e=n?Ft(n,{includeName:!0}):void 0,t=n&&a?eo({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof tn&&(l=a.signature,s=[`Unable to decode signature \"${l}\" as it was not found on the provided ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,name:`ContractFunctionRevertedError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=t,this.reason=c,this.signature=l}},Ro=class extends D{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},zo=class extends D{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Bo=class extends D{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Ho,Uo,Wo,Go,Ko=o((()=>{$a(),O(),Po(),Ho=class extends D{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${No(a)}`,e&&`Request body: ${Qa(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Uo=class extends D{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},Wo=class extends D{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${No(n)}`,`Request body: ${Qa(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Go=class extends D{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${No(t)}`,`Request body: ${Qa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),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,Cs=o((()=>{O(),Ko(),qo=-1,Jo=class extends D{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Wo?e.code:t??qo}},Yo=class extends Jo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Xo=class e extends Jo{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(Xo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Zo=class e extends Jo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Zo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Qo=class e extends Jo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),$o=class e extends Jo{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($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),es=class e extends Jo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),ts=class e extends Jo{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(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),ns=class e extends Jo{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(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),rs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),is=class e extends Jo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),as=class e extends Jo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),os=class e extends Jo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ss=class e extends Jo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),cs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ls=class e extends Yo{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(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),us=class e extends Yo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ds=class e extends Yo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),fs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),ps=class e extends Yo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ms=class e extends Yo{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(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),hs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),gs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),_s=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),vs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),ys=class e extends Yo{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(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),bs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),xs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ss=class extends Jo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));gn(),O(),Vo(),Ko(),Cs();function ws(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Bo?e:e instanceof D?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Io(e instanceof Yt?new Ro({functionName:a,cause:e}):[3,es.code].includes(c)&&(l||u||d||f)||c===ts.code&&u===`execution reverted`&&l?new Lo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Wo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ji(),fi();function Ts(e){return Oi(`0x${di(`0x${e.substring(4)}`).substring(26)}`)}function Es(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 Ds(e,t,n){return e&t^~e&n}function Os(e,t,n){return e&t^e&n^t&n}var ks,As,js,Ms,Ns=o((()=>{Gr(),ks=class extends Wr{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Nr(this.buffer)}update(e){kr(this),e=Rr(e),Dr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Nr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){kr(this),Ar(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Mr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Es(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Nr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},As=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),js=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ms=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs=o((()=>{Ns(),Sr(),Gr(),Ps=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]),Fs=new Uint32Array(64),Is=class extends ks{constructor(e=32){super(64,e,8,!1),this.A=As[0]|0,this.B=As[1]|0,this.C=As[2]|0,this.D=As[3]|0,this.E=As[4]|0,this.F=As[5]|0,this.G=As[6]|0,this.H=As[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)Fs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Fs[e-15],n=Fs[e-2],r=Pr(t,7)^Pr(t,18)^t>>>3,i=Pr(n,17)^Pr(n,19)^n>>>10;Fs[e]=i+Fs[e-7]+r+Fs[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Pr(o,6)^Pr(o,11)^Pr(o,25),u=l+t+Ds(o,s,c)+Ps[e]+Fs[e]|0,d=(Pr(n,2)^Pr(n,13)^Pr(n,22))+Os(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Mr(Fs)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}},Ls=nr(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Rs=Ls[0],zs=Ls[1],Bs=new Uint32Array(80),Vs=new Uint32Array(80),Hs=class extends ks{constructor(e=64){super(128,e,16,!1),this.Ah=Ms[0]|0,this.Al=Ms[1]|0,this.Bh=Ms[2]|0,this.Bl=Ms[3]|0,this.Ch=Ms[4]|0,this.Cl=Ms[5]|0,this.Dh=Ms[6]|0,this.Dl=Ms[7]|0,this.Eh=Ms[8]|0,this.El=Ms[9]|0,this.Fh=Ms[10]|0,this.Fl=Ms[11]|0,this.Gh=Ms[12]|0,this.Gl=Ms[13]|0,this.Hh=Ms[14]|0,this.Hl=Ms[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)Bs[n]=e.getUint32(t),Vs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Bs[e-15]|0,n=Vs[e-15]|0,r=cr(t,n,1)^cr(t,n,8)^or(t,n,7),i=lr(t,n,1)^lr(t,n,8)^sr(t,n,7),a=Bs[e-2]|0,o=Vs[e-2]|0,s=cr(a,o,19)^ur(a,o,61)^or(a,o,6),c=lr(a,o,19)^dr(a,o,61)^sr(a,o,6),l=vr(i,c,Vs[e-7],Vs[e-16]),u=yr(l,r,s,Bs[e-7],Bs[e-16]);Bs[e]=u|0,Vs[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),v=lr(u,d,14)^lr(u,d,18)^dr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=br(_,v,b,zs[e],Vs[e]),S=xr(x,g,t,y,Rs[e],Bs[e]),C=x|0,w=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=lr(n,r,28)^dr(n,r,34)^dr(n,r,39),te=n&i^n&o^i&o,ne=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=rr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let re=gr(C,ee,ne);n=_r(re,S,w,te),r=re|0}({h:n,l:r}=rr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=rr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=rr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=rr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=rr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=rr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=rr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=rr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Mr(Bs,Vs)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Us=class extends Hs{constructor(){super(48),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}},Ws=Br(()=>new Is),Gs=Br(()=>new Hs),Ks=Br(()=>new Us)})),Js,Ys,Xs=o((()=>{Gr(),Js=class extends Wr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Or(e);let n=Rr(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),Mr(i)}update(e){return kr(this),this.iHash.update(e),this}digestInto(e){kr(this),Dr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ys=(e,t,n)=>new Js(e,t).update(n).digest(),Ys.create=(e,t)=>new Js(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Zs(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Qs(e){if(!Zs(e))throw Error(`Uint8Array expected`)}function $s(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function ec(e){let t=e.toString(16);return t.length&1?`0`+t:t}function tc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?yc:BigInt(`0x`+e)}function nc(e){if(Qs(e),xc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Sc[e[n]];return t}function rc(e){if(e>=Cc._0&&e<=Cc._9)return e-Cc._0;if(e>=Cc.A&&e<=Cc.F)return e-(Cc.A-10);if(e>=Cc.a&&e<=Cc.f)return e-(Cc.a-10)}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(xc)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=rc(e.charCodeAt(i)),a=rc(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 ac(e){return tc(nc(e))}function oc(e){return Qs(e),tc(nc(Uint8Array.from(e).reverse()))}function sc(e,t){return ic(e.toString(16).padStart(t*2,`0`))}function cc(e,t){return sc(e,t).reverse()}function lc(e,t,n){let r;if(typeof t==`string`)try{r=ic(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Zs(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 uc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Qs(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 dc(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 fc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function pc(e,t,n){return wc(e)&&wc(t)&&wc(n)&&t<=e&&e<n}function mc(e,t,n,r){if(!pc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function hc(e){let t;for(t=0;e>yc;e>>=bc,t+=1);return t}function gc(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=Ec(e),i=Ec(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ec(0))=>{i=s(Dc([0]),e),r=s(),e.length!==0&&(i=s(Dc([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 uc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function _c(e,t,n={}){let r=(t,n,r)=>{let i=Oc[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 vc(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 yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc=o((()=>{yc=BigInt(0),bc=BigInt(1),xc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Sc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Cc={_0:48,_9:57,A:65,F:70,a:97,f:102},wc=e=>typeof e==`bigint`&&yc<=e,Tc=e=>(bc<<BigInt(e))-bc,Ec=e=>new Uint8Array(e),Dc=e=>Uint8Array.from(e),Oc={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`||Zs(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 Ac(e,t){let n=e%t;return n>=Kc?n:t+n}function jc(e,t,n){let r=e;for(;t-->Kc;)r*=r,r%=n;return r}function Mc(e,t){if(e===Kc)throw Error(`invert: expected non-zero number`);if(t<=Kc)throw Error(`invert: expected positive modulus, got `+t);let n=Ac(e,t),r=t,i=Kc,a=qc,o=qc,s=Kc;for(;n!==Kc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==qc)throw Error(`invert: does not exist`);return Ac(i,t)}function Nc(e,t){let n=(e.ORDER+qc)/Xc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Pc(e,t){let n=(e.ORDER-Zc)/Qc,r=e.mul(t,Jc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Jc),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 Fc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-qc,n=0;for(;t%Jc===Kc;)t/=Jc,n++;let r=Jc,i=Hc(e);for(;Bc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Nc;let a=i.pow(r,t),o=(t+qc)/Jc;return function(e,r){if(e.is0(r))return r;if(Bc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=qc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function Ic(e){return e%Xc===Yc?Nc:e%Qc===Zc?Pc:Fc(e)}function Lc(e){return _c(e,$c.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Rc(e,t,n){if(n<Kc)throw Error(`invalid exponent, negatives unsupported`);if(n===Kc)return e.ONE;if(n===qc)return t;let r=e.ONE,i=t;for(;n>Kc;)n&qc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=qc;return r}function zc(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 Bc(e,t){let n=(e.ORDER-qc)/Jc,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 Vc(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 Hc(e,t,n=!1,r={}){if(e<=Kc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Vc(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:Tc(i),ZERO:Kc,ONE:qc,create:t=>Ac(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Kc<=t&&t<e},is0:e=>e===Kc,isOdd:e=>(e&qc)===qc,neg:t=>Ac(-t,e),eql:(e,t)=>e===t,sqr:t=>Ac(t*t,e),add:(t,n)=>Ac(t+n,e),sub:(t,n)=>Ac(t-n,e),mul:(t,n)=>Ac(t*n,e),pow:(e,t)=>Rc(s,e,t),div:(t,n)=>Ac(t*Mc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Mc(t,e),sqrt:r.sqrt||(t=>(o||=Ic(e),o(s,t))),toBytes:e=>n?cc(e,a):sc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?oc(e):ac(e)},invertBatch:e=>zc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Uc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Wc(e){let t=Uc(e);return t+Math.ceil(t/2)}function Gc(e,t,n=!1){let r=e.length,i=Uc(t),a=Wc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Ac(n?oc(e):ac(e),t-qc)+qc;return n?cc(o,i):sc(o,i)}var Kc,qc,Jc,Yc,Xc,Zc,Qc,$c,el=o((()=>{Gr(),kc(),Kc=BigInt(0),qc=BigInt(1),Jc=BigInt(2),Yc=BigInt(3),Xc=BigInt(4),Zc=BigInt(5),Qc=BigInt(8),$c=[`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 tl(e,t){let n=t.negate();return e?n:t}function nl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function rl(e,t){nl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Tc(e),maxNumber:i,shiftBy:BigInt(e)}}function il(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+=fl);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 al(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 ol(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 sl(e){return ml.get(e)||1}function cl(e,t){return{constTimeNegate:tl,hasPrecomputes(e){return sl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>dl;)n&fl&&(r=r.add(i)),i=i.double(),n>>=fl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=rl(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=rl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=il(i,e,s);i=t,c?o=o.add(tl(u,r[d])):a=a.add(tl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=rl(n,t);for(let e=0;e<o.windows&&i!==dl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=il(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=pl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&pl.set(t,n(r))),r},wNAFCached(e,t,n){let r=sl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=sl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){nl(n,t),ml.set(e,n),pl.delete(e)}}}function ll(e,t,n,r){al(n,e),ol(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=hc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Tc(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 ul(e){return Lc(e.Fp),_c(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Vc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var dl,fl,pl,ml,hl=o((()=>{el(),kc(),dl=BigInt(0),fl=BigInt(1),pl=new WeakMap,ml=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction gl(e){e.lowS!==void 0&&$s(`lowS`,e.lowS),e.prehash!==void 0&&$s(`prehash`,e.prehash)}function _l(e){let t=ul(e);_c(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 vl(e,t){return nc(sc(e,t))}function yl(e){let t=_l(e),{Fp:n}=t,r=Hc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return uc(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,kl),Al),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 pc(e,Dl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Zs(e)&&(e=nc(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:ac(lc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Ac(o,a)),mc(`private key`,o,Dl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=vc((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=vc(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=zc(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(lc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return ll(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,kl),{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,kl),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;mc(`scalar`,e,El,i);let a=h.ZERO;if(e===El)return a;if(this.is0()||e===Dl)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>El||l>El;)s&Dl&&(u=u.add(f)),l&Dl&&(d=d.add(f)),f=f.double(),s>>=Dl,l>>=Dl;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;mc(`scalar`,e,Dl,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===El||t===Dl||!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===Dl)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===Dl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return $s(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return $s(`isCompressed`,e),nc(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=cl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function bl(e){let t=ul(e);return _c(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function xl(e){let t=bl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Ac(e,r)}function l(e){return Mc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=yl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=uc;return $s(`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=ac(i);if(!pc(e,Dl,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&Dl)===Dl;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>>Dl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>ac(e.slice(t,n));class _{constructor(e,t,n){mc(`r`,e,Dl,r),mc(`s`,t,Dl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=lc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Tl.toSig(lc(`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(lc(`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+vl(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 ic(this.toDERHex())}toDERHex(){return Tl.hexFromSig(this)}toCompactRawBytes(){return ic(this.toCompactHex())}toCompactHex(){let e=i;return vl(this.r,e)+vl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Wc(t.n);return Gc(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=lc(`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=ac(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Tc(a);function ee(e){return mc(`num < 2^`+a,e,El,w),sc(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=lc(`msgHash`,e),gl(i),f&&(e=lc(`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(lc(`extraEntropy`,e))}let x=uc(...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===El)return;let a=c(n*c(w+i*y));if(a===El)return;let o=(r.x===i?0:2)|Number(r.y&Dl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:te}}let ne={lowS:t.lowS,prehash:!1},re={lowS:t.lowS,prehash:!1};function ie(e,n,r=ne){let{seed:i,k2sig:a}=te(e,n,r),o=t;return gc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ae(e,n,r,i=re){let a=e;n=lc(`msgHash`,n),r=lc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(gl(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`||Zs(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 Tl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ie,verify:ae,ProjectivePoint:u,Signature:_,utils:v}}function Sl(e,t){let n=e.ORDER,r=El;for(let e=n-Dl;e%Ol===El;e/=Ol)r+=Dl;let i=r,a=Ol<<i-Dl-Dl,o=a*Ol,s=(n-Dl)/o,c=(s-Dl)/Ol,l=o-Dl,u=a,d=e.pow(t,s),f=e.pow(t,(s+Dl)/Ol),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>Dl;t--){let n=t-Ol;n=Ol<<n-Dl;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%Al===kl){let n=(e.ORDER-kl)/Al,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 Cl(e,t){if(Lc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Sl(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=zc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var wl,Tl,El,Dl,Ol,kl,Al,jl=o((()=>{hl(),el(),kc(),wl=class extends Error{constructor(e=``){super(e)}},Tl={Err:wl,_tlv:{encode:(e,t)=>{let{Err:n}=Tl;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=ec(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?ec(i.length/2|128):``;return ec(e)+a+i+t},decode(e,t){let{Err:n}=Tl,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}=Tl;if(e<El)throw new t(`integer: negative integers are not allowed`);let n=ec(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}=Tl;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 ac(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Tl,i=lc(`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}=Tl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},El=BigInt(0),Dl=BigInt(1),Ol=BigInt(2),kl=BigInt(3),Al=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ml(e){return{hash:e,hmac:(t,...n)=>Ys(e,t,zr(...n)),randomBytes:Vr}}function Nl(e,t){let n=t=>xl({...e,...Ml(t)});return{...n(t),create:n}}var Pl=o((()=>{Xs(),Gr(),jl()}));function Fl(e,t){if(Ll(e),Ll(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 Il(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 Ll(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Rl(e,t,n,r){Qs(e),Qs(t),Ll(n),t.length>255&&(t=r(uc(fc(`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=uc(t,Fl(t.length,1)),c=Fl(0,a),l=Fl(n,2),u=Array(o),d=r(uc(c,e,l,Fl(0,1),s));u[0]=r(uc(d,Fl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(uc(Il(d,u[e-1]),Fl(e+1,1),s));return uc(...u).slice(0,n)}function zl(e,t,n,r,i){if(Qs(e),Qs(t),Ll(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(fc(`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(Fl(n,2)).update(t).update(Fl(t.length,1)).digest()}function Bl(e,t,n){_c(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;Qs(e),Ll(t);let l=typeof c==`string`?fc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Rl(e,l,f,o);else if(s===`xof`)p=zl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a),o=p.subarray(i,i+d);t[n]=Ac(Ul(o),r)}m[e]=t}return m}function Vl(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]=zc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Hl(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=Bl(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(Bl(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 Ul,Wl=o((()=>{el(),kc(),Ul=ac})),Gl=c({encodeToCurve:()=>xu,hashToCurve:()=>bu,schnorr:()=>gu,secp256k1:()=>su,secp256k1_hasher:()=>yu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Kl(e){let t=eu,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=jc(jc(jc(u,n,t)*u%t,n,t)*u%t,iu,t)*l%t,f=jc(d,i,t)*d%t,p=jc(f,a,t)*f%t,m=jc(p,s,t)*p%t,h=jc(jc(jc(jc(jc(jc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,iu,t);if(!ou.eql(ou.sqr(h),e))throw Error(`Cannot find square root`);return h}function ql(e,...t){let n=cu[e];if(n===void 0){let t=Ws(Uint8Array.from(e,e=>e.charCodeAt(0)));n=uc(t,t),cu[e]=n}return Ws(uc(n,...t))}function Jl(e){let t=su.utils.normPrivateKeyToScalar(e),n=pu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:fu(-t),bytes:lu(n)}}function Yl(e){mc(`x`,e,ru,eu);let t=du(e*e),n=Kl(du(t*e+BigInt(7)));n%iu!==nu&&(n=du(-n));let r=new pu(e,n,ru);return r.assertValidity(),r}function Xl(...e){return fu(hu(ql(`BIP0340/challenge`,...e)))}function Zl(e){return Jl(e).bytes}function Ql(e,t,n=Vr(32)){let r=lc(`message`,e),{bytes:i,scalar:a}=Jl(t),o=lc(`auxRand`,n,32),s=ql(`BIP0340/nonce`,uu(a^hu(ql(`BIP0340/aux`,o))),i,r),c=fu(hu(s));if(c===nu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Jl(c),d=Xl(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(uu(fu(u+d*a)),32),!$l(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function $l(e,t,n){let r=lc(`signature`,e,64),i=lc(`message`,t),a=lc(`publicKey`,n,32);try{let e=Yl(hu(a)),t=hu(r.subarray(0,32));if(!pc(t,ru,eu))return!1;let n=hu(r.subarray(32,64));if(!pc(n,ru,tu))return!1;let o=Xl(uu(t),lu(e),i),s=mu(e,n,fu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su=o((()=>{qs(),Gr(),Pl(),Wl(),el(),kc(),jl(),eu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),tu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),nu=BigInt(0),ru=BigInt(1),iu=BigInt(2),au=(e,t)=>(e+t/iu)/t,ou=Hc(eu,void 0,void 0,{sqrt:Kl}),su=Nl({a:nu,b:BigInt(7),Fp:ou,n:tu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=tu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ru*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=au(a*e,t),c=au(-r*e,t),l=Ac(e-s*n-c*i,t),u=Ac(-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}}}},Ws),cu={},lu=e=>e.toRawBytes(!0).slice(1),uu=e=>sc(e,32),du=e=>Ac(e,eu),fu=e=>Ac(e,tu),pu=su.ProjectivePoint,mu=(e,t,n)=>pu.BASE.multiplyAndAddUnsafe(e,t,n),hu=ac,gu={getPublicKey:Zl,sign:Ql,verify:$l,utils:{randomPrivateKey:su.utils.randomPrivateKey,lift_x:Yl,pointToBytes:lu,numberToBytesBE:sc,bytesToNumberBE:ac,taggedHash:ql,mod:Ac}},_u=Vl(ou,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),vu=Cl(ou,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:ou.create(BigInt(`-11`))}),yu=Hl(su.ProjectivePoint,e=>{let{x:t,y:n}=vu(ou.create(e[0]));return _u(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:ou.ORDER,m:1,k:128,expand:`xmd`,hash:Ws}),bu=yu.hashToCurve,xu=yu.encodeToCurve}));zt(),Vt(),zn(),j();async function Cu({hash:e,signature:t}){let n=E(e)?e:Bn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Su(),Gl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=wu(Number(a??i));return new r.Signature(k(e),k(n)).addRecoveryBit(o)}let e=E(t)?t:Bn(t);if(Bt(e)!==65)throw Error(`invalid signature length`);let n=wu(Rn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function wu(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 Tu({hash:e,signature:t}){return Ts(await Cu({hash:e,signature:t}))}O(),ja(),er(),j();function Eu(e,t=`hex`){let n=Du(e),r=ka(new Uint8Array(n.length));return n.encode(r),t===`hex`?Hn(r.bytes):r.bytes}function Du(e){return Array.isArray(e)?Ou(e.map(e=>Du(e))):ku(e)}function Ou(e){let t=e.reduce((e,t)=>e+t.length,0),n=Au(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 ku(e){let t=typeof e==`string`?Yn(e):e,n=Au(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 Au(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new D(`Length is too large.`)}zi(),er(),j(),fi();function ju(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=di(Ri([`0x05`,Eu([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Yn(a):a}async function Mu(e){let{authorization:t,signature:n}=e;return Tu({hash:ju(t),signature:n??t})}co(),uo(),O(),ko();var Nu=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=_o({from:t?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(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}},Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku=o((()=>{uo(),O(),Pu=class extends D{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Pu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Pu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Fu=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${lo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Fu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Iu=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${lo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Iu,\"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/}),Lu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Ru=class extends D{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),zu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Bu=class extends D{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Vu=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Hu=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Uu=class extends D{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Wu=class extends D{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${lo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${lo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Gu=class extends D{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function qu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof D?e.walk(e=>e?.code===Pu.code):e;return r instanceof D?new Pu({cause:e,message:r.details}):Pu.nodeMessage.test(n)?new Pu({cause:e,message:e.details}):Fu.nodeMessage.test(n)?new Fu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Iu.nodeMessage.test(n)?new Iu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Lu.nodeMessage.test(n)?new Lu({cause:e,nonce:t?.nonce}):Ru.nodeMessage.test(n)?new Ru({cause:e,nonce:t?.nonce}):zu.nodeMessage.test(n)?new zu({cause:e,nonce:t?.nonce}):Bu.nodeMessage.test(n)?new Bu({cause:e}):Vu.nodeMessage.test(n)?new Vu({cause:e,gas:t?.gas}):Hu.nodeMessage.test(n)?new Hu({cause:e,gas:t?.gas}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Gu({cause:e})}var Ju=o((()=>{O(),Ku()}));Ku(),Ju();function Yu(e,{docsPath:t,...n}){return new Nu((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}function Xu(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 Zu=o((()=>{}));function Qu(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 $u=o((()=>{}));function ed(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=td(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Hn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=A(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=A(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=A(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=A(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=A(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=A(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=nd[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function td(e){return e.map(e=>({address:e.address,r:e.r?A(BigInt(e.r)):e.r,s:e.s?A(BigInt(e.s)):e.s,chainId:A(e.chainId),nonce:A(e.nonce),...e.yParity===void 0?{}:{yParity:A(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:A(e.v)}:{}}))}var nd,rd,id=o((()=>{j(),$u(),nd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},rd=Qu(`transactionRequest`,ed)}));function ad(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new yn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new yn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function od(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=A(t)),n!==void 0&&(o.nonce=A(n)),r!==void 0&&(o.state=ad(r)),i!==void 0){if(o.state)throw new ho;o.stateDiff=ad(i)}return o}function sd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Mi(n,{strict:!1}))throw new wi({address:n});if(t[n])throw new mo({address:n});t[n]=od(r)}return t}var cd=o((()=>{Ti(),bn(),go(),Fi(),j()})),ld,ud=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)),ld=2n**256n-1n}));function dd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?M(t):void 0;if(a&&!Mi(a.address))throw new wi({address:a.address});if(i&&!Mi(i))throw new wi({address:i});if(n&&n>ld)throw new Fu({maxFeePerGas:n});if(r&&n&&r>n)throw new Wu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var fd=o((()=>{ha(),ud(),Ti(),Ku(),Fi()}));uo(),O();var pd=class extends D{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},md=class extends D{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},hd=class extends D{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${lo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};O();var gd=class extends D{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};zn(),$u();let _d={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function vd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Rn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?_d[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=bd(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 yd=Qu(`transaction`,vd);function bd(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 xd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:vd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}j();async function Sd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:A(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new gd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||xd)(s,`getBlock`)}async function Cd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}zn();async function wd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await T(e,Sd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?k(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):T(e,Sd,`getBlock`)({}),T(e,Cd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new md;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Td(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 pd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await T(e,Sd,`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 md;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await wd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await T(e,Cd,`getGasPrice`)({}))}}function Ed(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new D(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var Dd=o((()=>{O(),j()}));Dd(),zn();async function Od(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ed({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Rn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}er(),j();function kd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Hn(e))}er(),j();function Ad(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Yn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Hn(e))}qs();let jd=Ws;zt(),er(),j();function Md(e,t){let n=t||`hex`,r=jd(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}j();function Nd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Md(t,`bytes`);return i.set([n],0),r===`bytes`?i:Hn(i)}function Pd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Nd({commitment:e,to:r,version:n}));return i}O();var Fd=class extends D{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Id=class extends D{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Ld=class extends D{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Rd=class extends D{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ja(),Vt(),er(),j();function zd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Yn(e.data):e.data,r=Bt(n);if(!r)throw new Id;if(r>761855)throw new Fd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=ka(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Hn(e.bytes))}function Bd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??zd({data:t,to:r}),a=e.commitments??kd({blobs:i,kzg:n,to:r}),o=e.proofs??Ad({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 Vd(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 bo({transaction:e})}Ku(),ko(),Ju();function Hd(e,{docsPath:t,...n}){return new wo((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}zn();async function Ud(e){return Rn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ha(),Zu(),id(),fd();async function Wd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=M(n),r=a?a.id:await T(e,Ud,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();dd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||ed)({...Xu(y,{format:x}),account:n?M(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||vd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await T(e,Sd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new pd;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 Hd(n,{...t,chain:e.chain})}}ha(),Di(),fd();let Gd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Kd=new Map,qd=new Ei(128);async function Jd(e,t){let n=t;n.account??=e.account,n.parameters??=Gd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await T(e,Ud,`getChainId`)({}),c):n.chainId)}let u=r&&M(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}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||qd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await T(e,Wd,`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 qd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`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`)})&&qd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await T(e,Sd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await T(e,Od,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=kd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Pd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Bd({blobs:p,commitments:e,proofs:Ad({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=Vd(n)}catch{let t=Kd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Kd.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 Td(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new hd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new md;if(n.gasPrice===void 0){let{gasPrice:t}=await Td(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await T(e,Yd,`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`})),dd(n),delete n.parameters,n}ha(),O(),j(),Zu(),id(),cd(),fd();async function Yd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?M(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Mu({authorization:t.authorizationList[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Jd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,C=sd(b);dd(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||ed)({...Xu(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 Yu(n,{...t,account:i,chain:e.chain})}}ha(),ba();async function Xd(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=ya({abi:n,args:i,functionName:a});try{return await T(e,Yd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?M(s.account):void 0)?.address})}}function Zd(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});if(!Mi(t,{strict:!1}))throw new wi({address:t});return e.toLowerCase()===t.toLowerCase()}var Qd=o((()=>{Ti(),Fi()}));function $d(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}gn(),Oa(),Vt(),Ci(),Ya(),Rt();let ef=`/docs/contract/decodeEventLog`;function tf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new nn({docsPath:ef});let c=t.find(e=>e.type===`event`&&o===Si(Ft(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new rn(o,{docsPath:ef});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new dn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=nf({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=La(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof Jt||e instanceof Ea?new un({abiItem:c,data:n,params:g,size:Bt(n)}):e}else if(a)throw new un({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function nf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(La([e],t)||[])[0]}Qd(),er(),fi(),Ci();function rf(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:Si(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?$d(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=tf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=tf({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)||!af({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function af(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`?Zd(t,n):e.type===`string`||e.type===`bytes`?di(Kn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}function of(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:sf});a=e}if(a.type!==`function`)throw new an(void 0,{docsPath:sf});if(!a.outputs)throw new on(a.name,{docsPath:sf});let o=La(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var sf,cf=o((()=>{gn(),Ya(),ma(),sf=`/docs/contract/decodeFunctionResult`})),lf,uf=o((()=>{lf=`0.1.1`}));function df(){return lf}var ff=o((()=>{uf()}));function pf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?pf(e.cause,t):t?null:e}var N,mf=o((()=>{ff(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return pf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${df()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function hf(e,t){if(Uf(e)>t)throw new np({givenSize:Uf(e),maxSize:t})}function gf(e,t){if(typeof t==`number`&&t>0&&t>Uf(e)-1)throw new rp({offset:t,position:`start`,size:Uf(e)})}function _f(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Uf(e)!==n-t)throw new rp({offset:n,position:`end`,size:Uf(e)})}function vf(e){if(e>=xf.zero&&e<=xf.nine)return e-xf.zero;if(e>=xf.A&&e<=xf.F)return e-(xf.A-10);if(e>=xf.a&&e<=xf.f)return e-(xf.a-10)}function yf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new ip({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 bf(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 xf,Sf=o((()=>{ap(),xf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Cf(e,t){if(mp(e)>t)throw new Ep({givenSize:mp(e),maxSize:t})}function wf(e,t){if(typeof t==`number`&&t>0&&t>mp(e)-1)throw new Dp({offset:t,position:`start`,size:mp(e)})}function Tf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&mp(e)!==n-t)throw new Dp({offset:n,position:`end`,size:mp(e)})}function Ef(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 Op({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Df(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 Of=o((()=>{R()}));function kf(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=>kf(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)}:${kf(r)}`),t},[]).join(`,`)}}`}function Af(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Mf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function jf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Mf:n,n)}var Mf,Nf=o((()=>{Mf=`#__bigint`}));function Pf(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 tp(e)}function Ff(...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 If(e){return e instanceof Uint8Array?e:typeof e==`string`?Rf(e):Lf(e)}function Lf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Rf(e,t={}){let{size:n}=t,r=e;n&&(Cf(e,n),r=fp(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=vf(i.charCodeAt(t++)),r=vf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function zf(e,t={}){let{size:n}=t,r=$f.encode(e);return typeof n==`number`?(hf(r,n),Vf(r,n)):r}function Bf(e,t){return dc(e,t)}function Vf(e,t){return yf(e,{dir:`right`,size:t})}function Hf(e){return crypto.getRandomValues(new Uint8Array(e))}function Uf(e){return e.length}function Wf(e,t,n,r={}){let{strict:i}=r;gf(e,t);let a=e.slice(t,n);return i&&_f(a,t,n),a}function Gf(e,t={}){let{size:n}=t;return n!==void 0&&hf(e,n),L(lp(e,t),t)}function Kf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(hf(r,n),r=Yf(r)),r.length>1||r[0]>1)throw new ep(r);return!!r[0]}function qf(e,t={}){let{size:n}=t;return n!==void 0&&hf(e,n),_p(lp(e,t),t)}function Jf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(hf(r,n),r=Xf(r)),Qf.decode(r)}function Yf(e){return bf(e,{dir:`left`})}function Xf(e){return bf(e,{dir:`right`})}function Zf(e){try{return Pf(e),!0}catch{return!1}}var Qf,$f,ep,tp,np,rp,ip,ap=o((()=>{kc(),mf(),R(),Sf(),Of(),Nf(),Qf=new TextDecoder,$f=new TextEncoder,ep=class extends N{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},tp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?jf(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`})}},np=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},rp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},ip=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function op(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Cp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new wp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function sp(e){return e instanceof Uint8Array?lp(e):Array.isArray(e)?lp(new Uint8Array(e)):e}function cp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Cf(n,t.size),dp(n,t.size)):n}function lp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=xp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Cf(r,t.size),fp(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 Sp({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?dp(s,r):s}function up(e,t={}){return lp(bp.encode(e),t)}function dp(e,t){return Ef(e,{dir:`left`,size:t})}function fp(e,t){return Ef(e,{dir:`right`,size:t})}function pp(e){return lp(Hf(e))}function I(e,t,n,r={}){let{strict:i}=r;wf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Tf(a,t,n),a}function mp(e){return Math.ceil((e.length-2)/2)}function hp(e){return Df(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&Cf(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 gp(e,t={}){return Rf(e,t)}function _p(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function vp(e,t={}){let{size:n}=t,r=Rf(e);return n&&(hf(r,n),r=Xf(r)),new TextDecoder().decode(r)}function yp(e,t={}){let{strict:n=!1}=t;try{return op(e,{strict:n}),!0}catch{return!1}}var bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op,R=o((()=>{ap(),mf(),Sf(),Of(),Nf(),bp=new TextEncoder,xp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Sp=class extends N{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Cp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?jf(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`})}},wp=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Tp=class extends N{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Ep=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Dp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Op=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function kp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Ap=o((()=>{R()}));function jp(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(kp)}}}var Mp=o((()=>{R(),Ap()})),Np,Pp,Fp,Ip,Lp,Rp,zp=o((()=>{Np=[{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`}],Pp=[{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`}]}],Fp=[{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`}],[...Fp],[...Fp],Ip=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Lp=[{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`}],Rp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Bp=o((()=>{})),Vp,Hp,Up,Wp,Gp=o((()=>{Vp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Hp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Up=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Wp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Kp,qp,Jp,Yp,Xp,Zp=o((()=>{O(),Kp=class extends D{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},qp=class extends D{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},Jp=class extends D{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Yp=class extends D{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Xp=class extends D{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Qp(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Kt({docsPath:$p});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new qt({docsPath:$p});return Ri([r,Yi(i.inputs,n)])}var $p,em=o((()=>{gn(),zi(),ca(),$p=`/docs/contract/encodeDeployData`}));function tm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Kp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Kp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var nm=o((()=>{Zp()}));function rm(e,{docsPath:t,...n}){return new Fo((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}var im=o((()=>{Vo(),Ku(),Ju()}));function am(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var om=o((()=>{}));function sm({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=()=>cm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>cm.get(t)||[],l=e=>cm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=am();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 cm,lm=o((()=>{om(),cm=new Map})),um,dm,fm,pm=o((()=>{$a(),O(),Po(),um=class extends D{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${No(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},dm=class extends D{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${No(t)}`,`Response: ${Qa(e)}`],name:`OffchainLookupResponseMalformedError`})}},fm=class extends D{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function mm(e){let{abi:t,data:n}=e,r=Bi(n,0,4),i=t.find(e=>e.type===`function`&&r===la(Ft(e)));if(!i)throw new sn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?La(i.inputs,Bi(n,4)):void 0}}var hm=o((()=>{gn(),Gi(),ua(),Ya(),Rt()}));function gm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=da({abi:t,args:r,name:n});if(!e)throw new en(n,{docsPath:_m});i=e}if(i.type!==`error`)throw new en(void 0,{docsPath:_m});let a=la(Ft(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new $t(i.name,{docsPath:_m});o=Yi(i.inputs,r)}return Ri([a,o])}var _m,vm=o((()=>{gn(),zi(),ua(),ca(),Rt(),ma(),_m=`/docs/contract/encodeErrorResult`}));function ym(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=da({abi:t,name:n});if(!e)throw new an(n,{docsPath:bm});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:bm});if(!i.outputs)throw new on(i.name,{docsPath:bm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new mn(r)})();return Yi(i.outputs,a)}var bm,xm=o((()=>{gn(),ca(),ma(),bm=`/docs/contract/encodeFunctionResult`}));async function Sm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=mm({abi:Pp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Sm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Cm(e)}})),ym({abi:Pp,functionName:`query`,result:[i,a]})}function Cm(e){return e.name===`HttpRequestError`&&e.status?gm({abi:Pp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):gm({abi:[Sa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var wm=o((()=>{zp(),wa(),hm(),vm(),xm()})),Tm=c({ccipRequest:()=>Dm,offchainLookup:()=>Em,offchainLookupAbiItem:()=>km,offchainLookupSignature:()=>Om});async function Em(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Xa({data:r,abi:[km]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Dm;try{if(!Zd(a,s))throw new fm({sender:s,to:a});let{data:r}=await jm(e,{blockNumber:t,blockTag:n,data:Ii([u,Yi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Sm({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 um({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Dm({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?Qa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!E(a)){i=new dm({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 Om,km,Am=o((()=>{Hm(),pm(),Ko(),Po(),Za(),ca(),Qd(),zi(),zt(),wm(),$a(),Om=`0x556f1830`,km={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 jm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:ee,...te}=t,ne=n?M(n):void 0;if(f&&(m||h))throw new D(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new D(\"Cannot provide both `code` & `to` as parameters.\");let re=f&&p,ie=m&&h&&C&&p,ae=re||ie,oe=re?Lm({code:f,data:p}):ie?Rm({data:p,factory:m,factoryData:h,to:C}):p;try{dd(t);let n=Ed({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?jp(d):void 0,p=sd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||ed)({...Xu(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:oe,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ae?void 0:C,value:w},`call`);if(i&&Mm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Fm(e,{blockNumber:o,deployless:t});if(!n||!Im(p,n))return await Pm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Yp)&&!(e instanceof Kp))throw e}let re=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ie=await e.request({method:`eth_call`,params:re},S);return ie===`0x`?{data:void 0}:{data:ie}}catch(n){if(S?.signal?.aborted)throw Ao(S.signal);if(jo(n))throw n;let r=zm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Am(),Tm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ae&&r?.slice(0,10)===`0x101bb98d`?new zo({factory:m}):rm(n,{...t,account:ne,chain:e.chain})}}function Mm({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 Nm(e){if(!e)return`default`;let t=Vm.get(e);if(t!==void 0)return t;let n=Bm++;return Vm.set(e,n),n}async function Pm(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?Fm(e,{blockNumber:o,deployless:r}):u,h=Ed({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=sm({id:`${e.uid}.${g}.${Nm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=ya({abi:Np,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Lm({code:Wp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return of({abi:Np,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 Fm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return tm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Yp}function Im(e,t){return e?Object.keys(e).some(e=>Zd(e,t)):!1}function Lm(e){let{code:t,data:n}=e;return Qp({abi:Mt([`constructor(bytes, bytes)`]),bytecode:Vp,args:[t,n]})}function Rm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Qp({abi:Mt([`constructor(address, bytes, address, bytes)`]),bytecode:Hp,args:[i,t,n,r]})}function zm(e){if(!(e instanceof D))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Bm,Vm,Hm=o((()=>{Pt(),Mp(),ha(),zp(),Bp(),Gp(),O(),Zp(),Vo(),Po(),cf(),em(),ba(),Qd(),Dd(),nm(),im(),Zu(),id(),lm(),cd(),fd(),Bm=0,Vm=new WeakMap}));cf(),ba(),Hm();async function Um(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=ya({abi:n,args:i,functionName:a});try{let{data:t}=await T(e,jm,`call`)({...o,data:s,to:r});return of({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ha(),cf(),ba(),Hm();async function Wm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?M(s.account):e.account,l=ya({abi:n,args:i,functionName:a});try{let{data:u}=await T(e,jm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:of({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Gm=new Map,Km=new Map,qm=0;function Jm(e,t,n){let r=++qm,i=()=>Gm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Gm.delete(e),Km.delete(e);return}Gm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Km.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Gm.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`&&Km.set(e,l),o}Po();async function Ym(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 Xm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Ym(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Ym(r),s())};s()})(),a}let Zm=new Map,Qm=new Map;function $m(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,Zm),r=t(e,Qm);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function eh(e,{cacheKey:t,cacheTime:n=1/0}){let r=$m(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 th=e=>`blockNumber.${e}`;async function nh(e,{cacheTime:t=e.cacheTime}={}){let n=await eh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:th(e.uid),cacheTime:t});return BigInt(n)}O();var rh=class extends D{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},ih=class extends D{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Zp();function ah({chain:e,currentChainId:t}){if(!e)throw new Jp;if(t!==e.id)throw new qp({chain:e,currentChainId:t})}async function oh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ha(),O(),zi(),Zu(),id(),Di(),fd();let sh=new Ei(128);async function ch(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 rh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?M(n):null,b;try{dd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Mu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await T(e,Ud,`getChainId`)({}),r&&ah({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||ed)({...Xu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=sh.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=>(sh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(sh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,Ud,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await T(e,Jd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Gd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await T(e,oh,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new ih({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ih({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof ih?e:(b&&y?.nonceManager?.reset(b),Hd(e,{...t,account:y,chain:t.chain||void 0}))}}ha(),ba();async function z(e,t){return z.internal(e,ch,`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 rh({docsPath:`/docs/contract/writeContract`});let u=a?M(a):null,d=ya({abi:i,args:s,functionName:c});try{return await T(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw ws(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),O();var lh=class extends D{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Po();function uh(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 Ym(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()})}zn(),$u();let dh={\"0x0\":`reverted`,\"0x1\":`success`};function fh(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=>$d(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Rn(e.transactionIndex):null,status:e.status?dh[e.status]:null,type:e.type?_d[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let ph=Qu(`transactionReceipt`,fh);ha(),O(),Cs(),ba(),zi(),zn(),j();let mh=A(0,{size:32});async function hh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?M(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?ya({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Ii([n,t.dataSuffix]):n,to:t.to,value:t.value?A(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:A(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new ms(new D(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new bs(new D(e,{details:e}))}let t=[];for(let n of d){try{let i=await ch(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?k(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Ii([...t.map(e=>e.status===`fulfilled`?e.value:mh),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Hd(n,{...t,account:l,chain:t.chain})}}Gi(),Fn(),zn();async function gh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Pn(Wi(t,-64,-32)),r=Wi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>mh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Rn(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Rn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:k(e.blockNumber),gasUsed:k(e.gasUsed),status:dh[e.status]}))??[],statusCode:l,status:c,version:o}}O(),om(),$a();async function _h(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Qa([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=am(),p,m=Jm(l,{resolve:d,reject:f},t=>{let s=Xm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await uh(async()=>{let t=await T(e,gh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new lh(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 vh({id:n}))},s):void 0,await u}var vh=class extends D{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let yh=256,bh;function xh(e=11){if(!bh||yh+e>256*2){bh=``,yh=0;for(let e=0;e<256;e++)bh+=(256+Math.random()*256|0).toString(16).substring(1)}return bh.substring(yh,yh+++e)}ha();function Sh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?M(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:xh(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Ch(i)&&Ch(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Ch(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function wh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length>=2?i(e,t):i.length===0?i():i(t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Dd();async function Th(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ed({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}ud(),Ti(),O(),Zp(),Ku(),Fi(),Vt(),Gi(),zn();function Eh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Mi(n))throw new wi({address:n});if(t<0)throw new Xp({chainId:t})}Oh(e)}function Dh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Id;for(let e of t){let t=Bt(e),n=Rn(Bi(e,0,1));if(t!==32)throw new Ld({hash:e,size:t});if(n!==1)throw new Rd({hash:e,version:n})}}Oh(e)}function Oh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Xp({chainId:t});if(i&&!Mi(i))throw new wi({address:i});if(r&&r>ld)throw new Fu({maxFeePerGas:r});if(n&&r&&n>r)throw new Wu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function kh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Xp({chainId:t});if(a&&!Mi(a))throw new wi({address:a});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>ld)throw new Fu({maxFeePerGas:r})}function Ah(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Mi(a))throw new wi({address:a});if(t!==void 0&&t<=0)throw new Xp({chainId:t});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>ld)throw new Fu({maxFeePerGas:r})}Ti(),ko(),Fi();function jh(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 Co({storageKey:i[e]});if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push([r,i])}return t}ko(),zi(),Fn(),j();function Mh(e,t){let n=Vd(e);return n===`eip1559`?Fh(e,t):n===`eip2930`?Ih(e,t):n===`eip4844`?Ph(e,t):n===`eip7702`?Nh(e,t):Lh(e,t)}function Nh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Eh(e);let f=jh(u),p=zh(n);return Ri([`0x04`,Eu([A(r),a?A(a):`0x`,l?A(l):`0x`,c?A(c):`0x`,i?A(i):`0x`,o??`0x`,s?A(s):`0x`,d??`0x`,f,p,...Rh(e,t)])])}function Ph(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Dh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Hn(e)),n=e.kzg,r=kd({blobs:t,kzg:n});f===void 0&&(f=Pd({commitments:r})),p===void 0&&(p=Bd({blobs:t,commitments:r,proofs:Ad({blobs:t,commitments:r,kzg:n})}))}let m=jh(u),h=[A(n),i?A(i):`0x`,l?A(l):`0x`,c?A(c):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,d??`0x`,m,s?A(s):`0x`,f??[],...Rh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ri([`0x03`,Eu(p?[h,g,_,v]:h)])}function Fh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Oh(e);let d=jh(l);return Ri([`0x02`,Eu([A(n),i?A(i):`0x`,c?A(c):`0x`,s?A(s):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,u??`0x`,d,...Rh(e,t)])])}function Ih(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;kh(e);let u=jh(c);return Ri([`0x01`,Eu([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`,u,...Rh(e,t)])])}function Lh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Ah(e);let l=[a?A(a):`0x`,c?A(c):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new vo({v:t.v});return e})(),r=Pn(t.r),i=Pn(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Eu(l)}function Rh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Pn(n.r),o=Pn(n.s);return[typeof i==`number`?i?A(1):`0x`:r===0n?`0x`:r===1n?A(1):r===27n?`0x`:A(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}j();function zh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?Bn(e):`0x`,a,r?Bn(r):`0x`,...Rh({},i)])}return t}ji(),Qd();async function Bh({address:e,authorization:t,signature:n}){return Zd(ki(e),await Mu({authorization:t,signature:n}))}Di();let Vh=new Ei(8192);function Hh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Vh.get(n))return Vh.get(n);let r=e().finally(()=>Vh.delete(n));return Vh.set(n,r),r}O(),Ko(),Cs(),Po(),$a();function Uh(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 as(Error(`method not supported`),{method:u});if(c?.aborted)throw Ao(c);return Hh(()=>uh(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 Xo.code:throw new Xo(t);case Zo.code:throw new Zo(t);case Qo.code:throw new Qo(t,{method:n.method});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);case as.code:throw new as(t,{method:n.method});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 bs.code:throw new bs(t);case 5e3:throw new cs(t);case xs.code:throw new xs(t);default:throw e instanceof D?e:new Ss(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})=>Wh(e)}),{enabled:i,id:i?Gh(`${l}.${Qa(n)}`):void 0})}}function Wh(e){return jo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===os.code||e.code===es.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 Gh(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 Kh(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 qh(){return{}}O(),Nn(),ja(),er(),j();let Jh=1024;function Yh(e,t=`hex`){let n=ka((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new On(e);return Yn(e)}return e})(),{recursiveReadLimit:1/0}),r=Xh(n,t);if(n.position<n.bytes.length)throw new jn({count:n.bytes.length-n.position});return r}function Xh(e,t=`hex`,n=0){if(n>=Jh)throw new kn({limit:Jh});if(e.bytes.length===0)return t===`hex`?Hn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=Zh(e,r,128),i=e.readBytes(n);return t===`hex`?Hn(i):i}return Qh(e,Zh(e,r,192),t,n+1)}function Zh(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new D(`Invalid RLP prefix`)}function Qh(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(Xh(e,n,r));if(e.position-i!==t)throw new An({consumed:e.position-i,declared:t});return a}zt(),Vt();function $h(e){return E(e)&&Bt(e)===32}Po();function eg(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 tg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let ng=tg();Ko(),Po(),$a();function rg(e,t={}){let{url:n,headers:r}=ag(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await eg(async({signal:e})=>{let t={...u,body:Qa(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??ng.take(),...e})):{jsonrpc:`2.0`,id:i.id??ng.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Go({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await ig(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Ho({body:i,details:Qa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Ao(p):jo(e)||e instanceof Ho||e instanceof Uo||e instanceof Go?e:new Ho({body:i,cause:e,url:n})}}}}async function ig(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Uo({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Uo({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Uo({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function ag(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}zi(),Vt(),j();function og(e){let t=typeof e==`string`?Un(e):typeof e.raw==`string`?e.raw:Hn(e.raw);return Ii([Un(`\u0019Ethereum Signed Message:\n${Bt(t)}`),t])}fi();function sg(e,t){return di(og(e),t)}$a(),O();var cg=class extends D{constructor({domain:e}){super(`Invalid domain \"${Qa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},lg=class extends D{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},ug=class extends D{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};gn(),Ti(),Fi(),Vt(),j(),Ji(),$a();function dg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return Qa({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function fg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(qi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Mi(o))throw new wi({address:o});let c=r.match(Ki);if(c){let[e,t]=c;if(t&&Bt(o)!==Number.parseInt(t,10))throw new ln({expectedSize:Number.parseInt(t,10),givenSize:Bt(o)})}let l=i[r];l&&(mg(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new cg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new lg({primaryType:r,types:i})}function pg({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 mg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new ug({type:e})}ca(),zi(),j(),fi();function hg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:pg({domain:t}),...e.types};fg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(gg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(_g({data:n,primaryType:r,types:i})),di(Ii(a))}function gg({domain:e,types:t}){return _g({data:e,primaryType:`EIP712Domain`,types:t})}function _g({data:e,primaryType:t,types:n}){return di(vg({data:e,primaryType:t,types:n}))}function vg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[yg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Sg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Yi(r,i)}function yg({primaryType:e,types:t}){return di(Bn(bg({primaryType:e,types:t})))}function bg({primaryType:e,types:t}){let n=``,r=xg({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 xg({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])xg({primaryType:e.type,types:t},n);return n}function Sg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},di(vg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},di(r)];if(n===`string`)return[{type:`bytes32`},di(Bn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Sg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},di(Yi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Cg=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 wg(e,t){return e.exec(t)?.groups}let Tg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Eg=/^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)?$/,Dg=/^\\(.+?\\).*?$/,Og=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function kg(e){let t=e.type;if(Og.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+=kg(i),r<n-1&&(t+=`, `)}let r=wg(Og,e.type);return t+=`)${r?.array||``}`,kg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Ag(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=kg(i),r!==n-1&&(t+=`, `)}return t}function jg(e){return e.type===`function`?`function ${e.name}(${Ag(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Ag(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Ag(e.inputs)})`:e.type===`error`?`error ${e.name}(${Ag(e.inputs)})`:e.type===`constructor`?`constructor(${Ag(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Mg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Ng(e){return Mg.test(e)}function Pg(e){return wg(Mg,e)}let Fg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Ig=new Set([`calldata`,`memory`,`storage`]);var Lg=class extends Cg{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`})}},Rg=class extends Cg{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`})}},zg=class extends Cg{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`})}},Bg=class extends Cg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Vg=class extends Cg{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`})}},Hg=class extends Cg{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`})}},Ug=class extends Cg{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`})}},Wg=class extends Cg{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`})}},Gg=class extends Cg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Kg=class extends Cg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},qg=class extends Cg{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`})}},Jg=class extends Cg{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 Yg(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 Xg=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}]]),Zg=/^(?<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$_]*))?$/,Qg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,$g=/^u?int$/;function e_(e,t){let n=Yg(e,t?.type,t?.structs);if(Xg.has(n))return Xg.get(n);let r=Dg.test(e),i=wg(r?Qg:Zg,e);if(!i)throw new Bg({param:e});if(i.name&&i_(i.name))throw new Vg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=t_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(e_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if($g.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!n_(c))throw new Rg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Hg({param:e,type:t?.type,modifier:i.modifier});if(Ig.has(i.modifier)&&!a_(c,!!i.array))throw new Ug({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Xg.set(n,u),u}function t_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?t_(o,[...t,n.trim()]):t_(o,t,`${n}${i}`,r);case`(`:return t_(o,t,`${n}${i}`,r+1);case`)`:return t_(o,t,`${n}${i}`,r-1);default:return t_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Jg({current:n,depth:r});return t.push(n.trim()),t}function n_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Tg.test(e)||Eg.test(e)}let r_=/^(?: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 i_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Tg.test(e)||Eg.test(e)||r_.test(e)}function a_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function o_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Ng(n))continue;let i=Pg(n);if(!i)throw new Gg({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=e_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Kg({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]=c_(a,t)}return r}let s_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function c_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Dg.test(i.type))r.push(i);else{let e=wg(s_,i.type);if(!e?.type)throw new Wg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new qg({type:o});r.push({...i,type:`tuple${a??``}`,components:c_(t[o],t,new Set([...n,o]))})}else if(n_(o))r.push(i);else throw new Lg({type:o})}}return r}function l_(e){let t=[];if(typeof e==`string`){let n=t_(e),r=n.length;for(let e=0;e<r;e++)t.push(e_(n[e],{modifiers:Fg}))}else{let n=o_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Ng(r))continue;let a=t_(r),o=a.length;for(let e=0;e<o;e++)t.push(e_(a[e],{modifiers:Fg,structs:n}))}}if(t.length===0)throw new zg({params:e});return t}let u_={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;Xs(),ui(),ap(),R();function d_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=li(If(e));return n===`Bytes`?r:lp(r)}function f_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Ys(jd,If(e),If(t));return r===`Bytes`?i:lp(i)}function p_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=jd(If(e));return n===`Bytes`?r:lp(r)}function m_(e){return yp(e)&&mp(e)===32}ap(),mf(),R(),Nf();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 S_({prefix:r,cause:new w_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new S_({prefix:r,cause:new C_});return}throw new x_({publicKey:e})}function g_(e){let t=(()=>{if(yp(e))return v_(e);if(Zf(e))return __(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 __(e){return v_(lp(e))}function v_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new T_({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 y_(e,t={}){return Rf(b_(e,t))}function b_(e,t={}){h_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?F(n,{size:1}):`0x`,F(r,{size:32}),typeof i==`bigint`?F(i,{size:32}):`0x`)}var x_=class extends N{constructor({publicKey:e}){super(`Value \\`${jf(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`})}},S_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},C_=class extends N{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},w_=class extends N{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},T_=class extends N{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${mp(sp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};ap(),mf();let E_=/^0x[a-fA-F0-9]{40}$/;function D_(e,t={}){let{strict:n=!0}=t;if(!E_.test(e))throw new N_({address:e,cause:new P_});if(n){if(e.toLowerCase()===e)return;if(O_(e)!==e)throw new N_({address:e,cause:new F_})}}function O_(e){if(u_.has(e))return u_.get(e);D_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=d_(zf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return u_.set(e,i),i}function k_(e,t={}){let{checksum:n=!1}=t;return D_(e),n?O_(e):e}function A_(e,t={}){return k_(`0x${d_(`0x${b_(e).slice(4)}`).substring(26)}`,t)}function j_(e,t){return D_(e,{strict:!1}),D_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function M_(e,t={}){let{strict:n=!0}=t??{};try{return D_(e,{strict:n}),!0}catch{return!1}}var N_=class extends N{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},P_=class extends N{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},F_=class extends N{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let I_=/^(.*)\\[([0-9]*)\\]$/,L_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,R_=/^(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 z_=2n**256n-1n;ap(),mf(),R();function B_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=iv(t.type);if(a){let[n,o]=a;return H_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return K_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return V_(e,{checksum:r});if(t.type===`bool`)return U_(e);if(t.type.startsWith(`bytes`))return W_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return G_(e,t);if(t.type===`string`)return q_(e,{staticPosition:i});throw new xv(t.type)}function V_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?O_(e):e)(lp(Wf(e.readBytes(32),-20))),32]}function H_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+qf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=qf(e.readBytes(32)),s=av(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=B_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(av(t)){let n=a+qf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=B_(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]=B_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function U_(e){return[Kf(e.readBytes(32),{size:32}),32]}function W_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=qf(e.readBytes(32));e.setPosition(n+t);let r=qf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[lp(i),32]}return[lp(e.readBytes(Number.parseInt(i,10),32)),32]}function G_(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?Gf(i,{signed:n}):qf(i,{signed:n}),32]}function K_(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(av(t)){let n=i+qf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=B_(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]=B_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function q_(e,{staticPosition:t}){let n=t+qf(e.readBytes(32));e.setPosition(n);let r=qf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Jf(Yf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function J_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Y_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Y_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=iv(r.type);if(i){let[t,a]=i;return Q_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return rv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return Z_(n,{checksum:e});if(r.type===`bool`)return ev(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=R_.exec(r.type)??[];return tv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return $_(n,{type:r.type});if(r.type===`string`)return nv(n);throw new xv(r.type)}function X_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=mp(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+=mp(s)):n.push(s)}return P(...n,...r)}function Z_(e,t){let{checksum:n=!1}=t;return D_(e,{strict:n}),{dynamic:!1,encoded:dp(e.toLowerCase())}}function Q_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new bv(e);if(!a&&e.length!==r)throw new _v({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=Y_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=X_(s);if(a){let t=F(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?P(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:P(...s.map(({encoded:e})=>e))}}function $_(e,{type:t}){let[,n]=t.split(`bytes`),r=mp(e);if(!n){let t=e;return r%32!=0&&(t=fp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(dp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new vv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:fp(e)}}function ev(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:dp(cp(e))}}function tv(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 Sp({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 nv(e){let t=up(e),n=Math.ceil(mp(t)/32),r=[];for(let e=0;e<n;e++)r.push(fp(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(fp(F(mp(t),{size:32})),...r)}}function rv(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=Y_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?X_(a):P(...a.map(({encoded:e})=>e))}}function iv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function av(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(av);let n=iv(e.type);return!!(n&&av({...e,type:n[1]}))}mf();let ov={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 uv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new lv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new cv({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 cv({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 sv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ov);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var cv=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},lv=class extends N{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},uv=class extends N{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};ap(),mf(),R();function dv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Rf(t):t,o=sv(a);if(Uf(a)===0&&e.length>0)throw new gv;if(Uf(a)&&Uf(a)<32)throw new hv({data:typeof t==`string`?t:lp(t),parameters:e,size:Uf(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]=B_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function fv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new yv({expectedLength:e.length,givenLength:t.length});let i=X_(J_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function pv(e,t){if(e.length!==t.length)throw new yv({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(pv.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return D_(e),dp(e.toLowerCase(),r?32:0)}if(e===`string`)return up(n);if(e===`bytes`)return n;if(e===`bool`)return dp(cp(n),r?32:1);let i=e.match(R_);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(L_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new vv({expectedSize:Number.parseInt(t,10),value:n});return fp(n,r?32:0)}let o=e.match(I_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new xv(e)}e.encode=t})(pv||={});function mv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?l_(e):e}var hv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ag(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},gv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},_v=class extends N{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},vv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${mp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},yv=class extends N{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},bv=class extends N{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},xv=class extends N{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};ap(),mf(),R();function Sv(e){return Cv(e,`Hex`)}function Cv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return wv(sv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Tp(e);return Rf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function wv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?lp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Tv(e,n,128),i=e.readBytes(r);return t===`Hex`?lp(i):i}return Ev(e,Tv(e,n,192),t)}function Tv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N(`Invalid RLP prefix`)}function Ev(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(wv(e,n));return i}function Dv(e,t){let{as:n}=t,r=kv(e),i=sv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?lp(i.bytes):i.bytes}function Ov(e,t={}){let{as:n=`Hex`}=t;return Dv(e,{as:n})}function kv(e){return Array.isArray(e)?Av(e.map(e=>kv(e))):jv(e)}function Av(e){let t=e.reduce((e,t)=>e+t.length,0),n=Mv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function jv(e){let t=typeof e==`string`?Rf(e):e,n=Mv(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 Mv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new N(`Length is too large.`)}mf(),R(),Nf();function Nv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new qv({signature:e});if(e.r<0n||e.r>z_)throw new Jv({value:e.r});if(e.s<0n||e.s>z_)throw new Yv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Xv({value:e.yParity})}function Pv(e){return Fv(lp(e))}function Fv(e){if(e.length!==130&&e.length!==132)throw new Kv({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 Wv(t)}catch{throw new Xv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Iv(e){if(e.r!==void 0&&e.s!==void 0)return Lv(e)}function Lv(e){let t=typeof e==`string`?Fv(e):e instanceof Uint8Array?Pv(e):typeof e.r==`string`?zv(e):e.v?Rv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Nv(t),t}function Rv(e){return{r:e.r,s:e.s,yParity:Wv(e.v)}}function zv(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=Wv(t)),typeof n!=`number`)throw new Xv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Bv(e){let[t,n,r]=e;return Lv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Vv(e){Nv(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(Gv(e.yParity),{size:1}):`0x`)}function Hv(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 Uv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:hp(F(t)),n===0n?`0x`:hp(F(n))]}function Wv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Zv({value:e})}function Gv(e){if(e===0)return 27;if(e===1)return 28;throw new Xv({value:e})}var Kv=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${mp(sp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},qv=class extends N{constructor({signature:e}){super(`Signature \\`${jf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Jv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Yv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},Xv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},Zv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};R();function Qv(e,t={}){return typeof e.chainId==`string`?$v(e):{...e,...t.signature}}function $v(e){let{address:t,chainId:n,nonce:r}=e,i=Iv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ey(e){return e.map($v)}function ty(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Hv(i)}}function ny(e){return e.map(ty)}Su(),ap(),R();function ry(e){let{privateKey:t}=e;return g_(su.ProjectivePoint.fromPrivateKey(sp(t).slice(2)))}function iy(e){return A_(ay(e))}function ay(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return g_(new su.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(sp(t).substring(2)))}function oy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=su.sign(If(r),If(i),{extraEntropy:typeof t==`boolean`?t:sp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function sy(e){let{hash:t,payload:n}=e;return e.address?j_(e.address,iy({payload:n,signature:e.signature})):su.verify(e.signature,If(n),y_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}mf(),R();let cy=mv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function ly(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new fy(e)}else Nv(e.authorization)}function uy(e){ly(e);let t=_p(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=dv(cy,n);return{authorization:Qv({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 dy(e){try{return ly(e),!0}catch{return!1}}var fy=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};ko(),Gi(),zn();function py(e){let t=Wi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Rn(t)>=192)return`legacy`;throw new xo({serializedType:t})}Ti(),ko(),Fi(),zt(),wn(),Fn(),zn();function my(e){let t=py(e);return t===`eip1559`?_y(e):t===`eip2930`?vy(e):t===`eip4844`?gy(e):t===`eip7702`?hy(e):yy(e)}function hy(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new So({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Rn(n),type:`eip7702`};return E(s)&&s!==`0x`&&(h.to=s),E(o)&&o!==`0x`&&(h.gas=k(o)),E(l)&&l!==`0x`&&(h.data=l),E(r)&&(h.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(h.value=k(c)),E(a)&&a!==`0x`&&(h.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(h.accessList=xy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Sy(d)),Eh(h),{...t.length===13?Cy(t):void 0,...h}}function gy(e){let t=by(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new So({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Rn(a),to:u,type:`eip4844`};return E(l)&&l!==`0x`&&(S.gas=k(l)),E(f)&&f!==`0x`&&(S.data=f),E(o)&&(S.nonce=o===`0x`?0:Rn(o)),E(d)&&d!==`0x`&&(S.value=k(d)),E(m)&&m!==`0x`&&(S.maxFeePerBlobGas=k(m)),E(c)&&c!==`0x`&&(S.maxFeePerGas=k(c)),E(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=k(s)),p.length!==0&&p!==`0x`&&(S.accessList=xy(p)),y&&b&&x&&(S.sidecars=Bd({blobs:y,commitments:b,proofs:x})),Dh(S),{...r.length===14?Cy(r):void 0,...S}}function _y(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new So({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Rn(n),type:`eip1559`};return E(s)&&s!==`0x`&&(m.to=s),E(o)&&o!==`0x`&&(m.gas=k(o)),E(l)&&l!==`0x`&&(m.data=l),E(r)&&(m.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(m.value=k(c)),E(a)&&a!==`0x`&&(m.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(m.accessList=xy(u)),Oh(m),{...t.length===12?Cy(t):void 0,...m}}function vy(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new So({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Rn(n),type:`eip2930`};return E(o)&&o!==`0x`&&(p.to=o),E(a)&&a!==`0x`&&(p.gas=k(a)),E(c)&&c!==`0x`&&(p.data=c),E(r)&&(p.nonce=r===`0x`?0:Rn(r)),E(s)&&s!==`0x`&&(p.value=k(s)),E(i)&&i!==`0x`&&(p.gasPrice=k(i)),l.length!==0&&l!==`0x`&&(p.accessList=xy(l)),kh(p),{...t.length===11?Cy(t):void 0,...p}}function yy(e){let t=Yh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new So({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(E(a)&&a!==`0x`&&(d.to=a),E(i)&&i!==`0x`&&(d.gas=k(i)),E(s)&&s!==`0x`&&(d.data=s),E(n)&&(d.nonce=n===`0x`?0:Rn(n)),E(o)&&o!==`0x`&&(d.value=k(o)),E(r)&&r!==`0x`&&(d.gasPrice=k(r)),Ah(d),t.length===6)return d;let f=E(c)&&c!==`0x`?k(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new vo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function by(e){return Yh(`0x${e.slice(4)}`,`hex`)}function xy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push({address:r,storageKeys:i.map(e=>$h(e)?e:Pn(e))})}return t}function Sy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Rn(r),nonce:a===`0x`?0:Rn(a),...Cy([o,s,c])})}return t}function Cy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:k(t[0]);if(n!==0n&&n!==1n)throw new yo({yParity:n});let r=n===0n?27n:28n;return{r:Sn(t[1],{size:32}),s:Sn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}O();var wy=class extends D{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function Ty(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new wy({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}`)}ko(),j();async function Ey(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:A(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,A(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,A(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,A(s)]},{dedupe:!0})),!u)throw new To({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||vd)(u,`getTransaction`)}ko();async function Dy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Eo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||fh)(n,`getTransactionReceipt`)}zp(),Gp(),gn(),O(),Vo(),cf(),ba(),nm();async function Oy(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 tm({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=ya({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=ws(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=>T(e,Um,`readContract`)({...m===null?{code:Wp}:{address:m},abi:Np,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 Yt;if(!a)throw new Bo({data:r});let e=of({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=ws(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 D(`multicall results mismatch`);return y}mf();function ky(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new N(`Unable to normalize signature.`);return i}function Ay(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return M_(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)=>Ay(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=>Ay(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function jy(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 jy(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`))&&M_(n[r],{strict:!1}))return o}}mf(),R();function My(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=yp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ny(e)===I(t,0,4):e.type===`event`?Fy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new Ly({name:t});if(o.length===1)return{...o[0],...i?{hash:Fy(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:Fy(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?Ay(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=jy(e.inputs,s.inputs,r);if(t)throw new Iy({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 Ly({name:t});return{...c,...i?{hash:Fy(c)}:{}}}function Ny(...e){return I(Fy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})()),0,4)}function Py(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})();return ky(typeof t==`string`?t:jg(t))}function Fy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:d_(up(Py(t)))}var Iy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${ky(jg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${ky(jg(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`})}},Ly=class extends N{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Ry(e){return Ny(e)}mf(),R();function zy(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Hy(e)}function By(e){let{data:t,signature:n,to:r}=e;return P(fv(mv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Vy(e){try{return zy(e),!0}catch{return!1}}var Hy=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Su(),zn(),er();function Uy({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 su.Signature(k(e),k(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Yn(o)}zp(),Gp(),Vo(),em(),ba(),ji(),Qd(),zi(),zt(),zn(),j(),Hm();async function Wy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return E(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Uy(e):Hn(e)})();try{if(s===`eoa`)try{if(Zd(ki(n),await Tu({hash:i,signature:c})))return!0}catch{}return dy(c)?await Gy(e,{...t,multicallAddress:o,signature:c}):await Ky(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Zd(ki(n),await Tu({hash:i,signature:c})))return!0}catch{}if(e instanceof Jy)return!1;throw e}}async function Gy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=uy(t.signature);if(await Th(e,{address:n,blockNumber:r,blockTag:i})===Ri([`0xef0100`,s.address]))return await qy(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:A(s.r,{size:32}),s:A(s.s,{size:32}),yParity:s.yParity};if(!await Bh({address:n,authorization:d}))throw new Jy;let f=await T(e,Um,`readContract`)({...o?{address:o}:{code:Wp},authorizationList:[d],abi:Np,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:ya({abi:Ip,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Jy}async function Ky(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Vy(o)?o:By({data:i,signature:o,to:r}))(),u=s?{to:s,data:ya({abi:Lp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Qp({abi:Lp,args:[n,a,l],bytecode:Up}),...c},{data:d}=await T(e,jm,`call`)(u).catch(e=>{throw e instanceof Fo?new Jy:e});if(Ln(d??`0x0`))return!0;throw new Jy}async function qy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await T(e,Um,`readContract`)({address:n,abi:Ip,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Io?new Jy:e})).startsWith(`0x1626ba7e`))return!0;throw new Jy}var Jy=class extends Error{};zn(),$a();function Yy(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?Jm(Qa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>Xm(async()=>{try{let t=await T(e,nh,`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})):Jm(Qa([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=k(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}ko(),om(),$a();async function Xy(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=Qa([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=am(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Oo({hash:i}))},c):void 0;return h=Jm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await T(e,Dy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=T(e,Yy,`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 uh(async()=>{d=await T(e,Ey,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await T(e,Dy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof To||n instanceof Eo){if(!d){m=!1;return}try{f=d,m=!0;let n=await uh(()=>T(e,Sd,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof gd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await T(e,Dy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}function Zy(e){let{scheme:t,statement:n,...r}=e.match(Qy)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match($y)?.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 Qy=/^(?:(?<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)?/,$y=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.+))?/;Fi(),Qd(),ba(),oo();function eb(e,t){return{amount:e,decimals:t,formatted:ao(e,t)}}function tb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ty(e.formatted,nb(n))}function nb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function rb(e,t){return typeof e==`bigint`?t:e.decimals??t}function ib(e,t){let{decimals:n,token:r}=t,i=ab(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Mi(r,{strict:!1}))return{address:r,decimals:n??cb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function ab(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=sb(n,t);if(i)return ob(i,r);if(Mi(t,{strict:!1}))for(let e of n){let n=ob(e,r);if(n&&Zd(n.address,t))return n}}function ob(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function sb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function cb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=ob(e,r);if(n&&Zd(n.address,t))return n.decimals}}function lb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function ub(e){return{...e,data:ya(e),to:e.address}}zp();async function db(e,t){return db.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return ub(fb(e,t))}e.call=n;async function r(t,n){return Xd(t,{...lb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...lb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:Rp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(db||={});function fb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=ib(e,{token:i});return{abi:Rp,address:a,args:[r,tb(n,o)],functionName:`approve`}}ko();async function pb(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||fh)(i);if(a.status===`reverted`&&n)throw new Do({receipt:a});return a}ha(),O(),ko(),zi(),Zu(),id(),Di(),fd();let mb=new Ei(128);async function hb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new rh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?M(n):null,C;try{dd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Mu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await T(e,Ud,`getChainId`)({}),r&&ah({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||ed)({...Xu(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),ee=mb.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=>(mb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(mb.set(e.uid,!1),n):r});throw n}})(),re=await T(e,Xy,`waitForTransactionReceipt`)({checkReplacement:!1,hash:ne,pollingInterval:g,timeout:x});if(_&&re.status===`reverted`)throw new Do({receipt:re});return re}if(S?.type===`local`){if(S.nonceManager&&h===void 0){let t=b.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,Ud,`getChainId`)({}))();C={address:S.address,chainId:n}}let r=await T(e,Jd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:S.nonceManager,parameters:[...Gd,`sidecars`],type:v,value:y,...b,to:n}),g=i?.serializers?.transaction,x=await S.signTransaction(r,{serializer:g});return await T(e,pb,`sendRawTransactionSync`)({serializedTransaction:x,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new ih({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ih({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof ih?e:(C&&!(e instanceof Do)&&S?.nonceManager?.reset(C),Hd(e,{...t,account:S,chain:t.chain||void 0}))}}async function gb(e,t){return z.internal(e,hb,`sendTransactionSync`,t)}oo();async function _b(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ib(e,{token:r}),o=rb(n,a),s=await db.inner(gb,e,{...t,throwOnReceiptRevert:i}),{args:c}=db.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ao(c.value,o)},receipt:s}}zp();async function vb(e,t){return vb.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return ub(yb(e,t))}e.call=n;async function r(t,n){return Xd(t,{...lb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...lb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:Rp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(vb||={});function yb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=ib(e,{token:a}),c=tb(n,s);return r?{abi:Rp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Rp,address:o,args:[i,c],functionName:`transfer`}}oo();async function bb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ib(e,{token:r}),o=rb(n,a),s=await vb.inner(gb,e,{...t,throwOnReceiptRevert:i}),{args:c}=vb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ao(c.value,o)},receipt:s}}j();async function xb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:A(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}em();function Sb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=Qp({abi:n,args:r,bytecode:i});return ch(e,{...a,...a.authorizationList?{to:null}:{},data:o})}ji();async function Cb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Oi(e))}ha(),j();async function wb(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?M(n):void 0,a=r?[i?.address,[A(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Tb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ha(),Qd();async function Eb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new rh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=M(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:M(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await T(e,Ud,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await T(e,Od,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&Zd(o.address,a.address))&&(s.nonce+=1)),s}ji();async function Db(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>ki(e))}async function Ob(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function kb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await T(e,hh,`sendCalls`)(t);return await T(e,_h,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Ab(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ha();async function jb(e,t){let{account:n=e.account}=t;if(!n)throw new rh({docsPath:`/docs/eip7702/signAuthorization`});let r=M(n);if(!r.signAuthorization)throw new ih({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Eb(e,t);return r.signAuthorization(i)}ha(),j();async function Mb(e,{account:t=e.account,message:n}){if(!t)throw new rh({docsPath:`/docs/actions/wallet/signMessage`});let r=M(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Un(n):n.raw instanceof Uint8Array?Bn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ha(),j(),id(),fd();async function Nb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new rh({docsPath:`/docs/actions/wallet/signTransaction`});let a=M(n);dd({account:a,...t});let o=await T(e,Ud,`getChainId`)({});r!==null&&ah({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||ed;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}ha();async function Pb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new rh({docsPath:`/docs/actions/wallet/signTypedData`});let o=M(n),s={EIP712Domain:pg({domain:r}),...t.types};if(fg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=dg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}j();async function Fb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:A(t)}]},{retryCount:0})}async function Ib(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Lb(e){return{addChain:t=>xb(e,t),deployContract:t=>Sb(e,t),fillTransaction:t=>Wd(e,t),getAddresses:()=>Cb(e),getCallsStatus:t=>gh(e,t),getCapabilities:t=>wb(e,t),getChainId:()=>Ud(e),getPermissions:()=>Tb(e),prepareAuthorization:t=>Eb(e,t),prepareTransactionRequest:t=>Jd(e,t),requestAddresses:()=>Db(e),requestPermissions:t=>Ob(e,t),sendCalls:t=>hh(e,t),sendCallsSync:t=>kb(e,t),sendRawTransaction:t=>oh(e,t),sendRawTransactionSync:t=>pb(e,t),sendTransaction:t=>ch(e,t),sendTransactionSync:t=>hb(e,t),showCallsStatus:t=>Ab(e,t),signAuthorization:t=>jb(e,t),signMessage:t=>Mb(e,t),signTransaction:t=>Nb(e,t),signTypedData:t=>Pb(e,t),switchChain:t=>Fb(e,t),waitForCallsStatus:t=>_h(e,t),watchAsset:t=>Ib(e,t),writeContract:t=>z(e,t),writeContractSync:t=>gb(e,t),token:{approve:wh(e,db),approveSync:wh(e,_b),transfer:wh(e,vb),transferSync:wh(e,bb)}}}function Rb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Sh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Lb)}function zb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=xh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Uh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Bb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>zb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}O();var Vb=class extends D{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Ko(),lm();let Hb=0,Ub=new WeakMap;function Wb(e){if(!e)return`default`;let t=Ub.get(e);if(t!==void 0)return t;let n=Hb++;return Ub.set(e,n),n}function Gb(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Vb;let x=rg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return zb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=sm({id:`${b}.${Wb(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new Wo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}mf(),R();function Kb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&D_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>m_(e)?e:hp(e))})}return t}function qb(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(mp(r[e])!==32)throw new Jb({storageKey:r[e]});n&&D_(n,{strict:!1}),t.push([n,r])}return t}var Jb=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${mp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};ap();let Yb=new TextEncoder,Xb=new TextDecoder,Zb=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Qb={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function $b(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]=Zb[r>>18],i[t+1]=Zb[r>>12&63],i[t+2]=Zb[r>>6&63],i[t+3]=Zb[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=Xb.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ex(e,t={}){return $b(Rf(e),t)}function tx(e,t={}){return $b(zf(e),t)}function nx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Yb.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Qb[r[e]]<<18)+(Qb[r[e+1]]<<12)+(Qb[r[e+2]]<<6)+Qb[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 rx(e){return Jf(nx(e))}let ix={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ax={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ox(e,t={}){if(!e)return null;let n=Iv(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=ey(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=ax[e.type]??e.type),n&&(r.v=Gv(n.yParity)),r}ap(),mf(),R();function sx(e,t={}){let{as:n=`Hex`}=t,r=xx(e),i=sv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?lp(i.bytes):i.bytes}var cx=class extends N{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},lx=class extends N{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},ux=class extends N{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},dx=class extends N{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},fx=class extends N{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},px=class extends N{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},mx=class extends N{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},hx=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},gx=class extends N{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},_x=class extends N{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},vx=class extends N{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},yx=class extends N{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},bx=class extends N{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function xx(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 xx.number(e);if(typeof e==`bigint`)throw new mx;if(typeof e==`string`)return xx.string(e);if(Array.isArray(e))return xx.array(e);if(e instanceof Uint8Array)return xx.byteString(e);if(e instanceof ArrayBuffer)return xx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return xx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return xx.map(e);if(typeof e==`object`)return xx.object(e);throw new hx({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 gx({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 gx({number:e.toString(10)})}e.number=t;function n(e){let t=zf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new _x({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 vx({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 bx({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 yx({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 yx({size:i})}e.map=o})(xx||={});function Sx(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Sx.readUnsignedInteger(e,r);case 1:return Sx.readNegativeInteger(e,r);case 2:return Sx.readByteString(e,r);case 3:return Sx.readTextString(e,r);case 4:return Sx.readArray(e,r);case 5:return Sx.readMap(e,r);case 6:throw new dx({tag:r});case 7:return Sx.readSimpleOrFloat(e,r);default:throw new cx({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 ux:new lx({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 fx({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 fx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Jf(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 px({value:t});return}throw new lx({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}})(Sx||={}),mf();function Cx(e){let t=y_(e),n=t.slice(1,33),r=t.slice(33,65);return sx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}qs(),Pl(),el();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet wx=Hc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Tx=Nl({a:wx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:wx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Ws),Ex=Hc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Nl({a:Ex.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Ex,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ks);let Dx=Hc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Nl({a:Dx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Dx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Gs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ox=Tx,kx=Tx;ap(),R();function Ax(e){let{privateKey:t}=e;return g_(kx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):lp(t).slice(2)))}function jx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=kx.sign(r instanceof Uint8Array?r:Rf(r),i instanceof Uint8Array?i:Rf(i),{extraEntropy:typeof t==`boolean`?t:sp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Mx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return kx.verify(i,n instanceof Uint8Array?n:Rf(n),b_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Nx=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 Px(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Fx(r.error);return r.result}function Fx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new qx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===qx.code?new qx(t):n===Lx.code?new Lx(t):n===Kx.code?new Kx(t):n===Wx.code?new Wx(t):n===Hx.code?new Hx(t):n===Gx.code?new Gx(t):n===Vx.code?new Vx(t):n===Jx.code?new Jx(t):n===Rx.code?new Rx(t):n===zx.code?new zx(t):n===Bx.code?new Bx(t):n===Ux.code?new Ux(t):new qx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Ix=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??``}},Lx=class e extends Ix{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(Lx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Rx=class e extends Ix{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(Rx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var zx=class e extends Ix{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(zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Bx=class e extends Ix{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(Bx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Vx=class e extends Ix{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(Vx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Hx=class e extends Ix{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(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Ux=class e extends Ix{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Wx=class e extends Ix{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Gx=class e extends Ix{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Kx=class e extends Ix{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var qx=class e extends Ix{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Jx=class e extends Ix{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),mf();var Yx=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}},Xx=class extends Yx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Zx=class extends Yx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Qx=class extends Yx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var $x=class extends Yx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var eS=class extends Yx{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var tS=class extends Yx{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(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var nS=class extends Yx{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var rS=class extends Yx{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var iS=class extends Yx{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var aS=class extends Yx{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var oS=class extends Yx{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var sS=class extends Yx{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var cS=class extends Yx{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function lS(){let e=new Nx.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 uS(e,t={}){if(!e)throw new fS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Px(n):n}catch(e){throw dS(e)}}}}function dS(e){let t=Fx(e);if(t instanceof qx){if(!t.data)return t;let{code:e}=t.data;if(e===$x.code)return new $x(t);if(e===eS.code)return new eS(t);if(e===Xx.code)return new Xx(t);if(e===Zx.code)return new Zx(t);if(e===Qx.code)return new Qx(t);if(e===tS.code)return new tS(t);if(e===sS.code)return new sS(t);if(e===cS.code)return new cS(t);if(e===oS.code)return new oS(t);if(e===aS.code)return new aS(t);if(e===iS.code)return new iS(t);if(e===rS.code)return new rS(t);if(e===nS.code)return new nS(t)}return t}var fS=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function pS(e={}){let t=e.id??0;return{prepare(e){return mS({id:t++,...e})},get id(){return t}}}function mS(e){return{...e,jsonrpc:`2.0`}}function hS(){return null}R();function gS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=ny(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=ix[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}mf();let _S={wei:0,gwei:9,szabo:12,finney:15,ether:18};function vS(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 yS(e,t=`wei`){return vS(e,_S.gwei-_S[t])}mf();var bS=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${yS(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`})}},xS=class extends N{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},SS=class extends N{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},CS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${yS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${yS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function wS(e){let t=Ox.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function TS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(p_(up(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=lp(new Uint8Array(16)),s=lp(t.id);return P(a,o,F(t.id.length,{size:2}),s,Cx(t.publicKey))}function ES(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:ex(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}ap(),mf(),R();function DS(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:nx(e),type:`public-key`})):[{id:nx(t),type:`public-key`}]}:{},challenge:Rf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function OS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=TS({flag:i,rpId:o,signCount:s}),u=ES({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=p_(up(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function kS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:DS(n);try{let e=await t(r);if(!e)throw new AS;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=wS(o);return{id:s,metadata:{authenticatorData:lp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new AS({cause:e})}}var AS=class extends N{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function jS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Rf(s);if(u.length<37||a!==void 0&&!Bf(u.slice(0,32),p_(up(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||lp(nx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Mx({hash:!0,payload:Ff(u,p_(zf(c),{as:`Bytes`})),publicKey:i,signature:o})}let MS=OS;async function NS(e){return kS(e)}function PS(e){return jS(e)}ap();async function FS(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=g_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function IS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,If(t)),i=Lf(new Uint8Array(r)),a=Gf(Wf(i,0,32)),o=Gf(Wf(i,32,64));return o>Ox.CURVE.n/2n&&(o=Ox.CURVE.n-o),{r:a,s:o}}mf(),R();let LS=`0x${`00`.repeat(32)}`;function RS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&mp(t)!==32)throw new GS({reason:`salt must be 32 bytes`});if(r.length===0)throw new GS({reason:`owners cannot be empty`});if(r.length>10)throw new GS({reason:`too many owners`});if(Number(n)<1)throw new GS({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!M_(e.owner)||L(e.owner)===0n)throw new GS({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new GS({reason:`owner weight cannot be zero`});let t=L(e.owner);if(a!==void 0&&a>=t)throw new GS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new GS({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new GS({reason:`threshold exceeds total owner weight`})}function zS(e){let t=[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),n={salt:e.salt?dp(e.salt,32):LS,threshold:e.threshold,owners:t};return RS(n),n}function BS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?dp(t,32):LS,threshold:n===`0x`?0:_p(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:_p(n)}})}}function VS(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:US(e);return k_(I(d_(P(up(`tempo:multisig:account`),t)),12,32))}function HS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:VS(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:US(e.genesisConfig);return d_(P(up(`tempo:multisig:signature`),sp(t),n,r))}function US(e){RS(e);let t=d_(P(up(`tempo:multisig:config`),dp(e.salt??LS,32),F(e.threshold,{size:4}),F(e.owners.length,{size:4}),...e.owners.flatMap(e=>[e.owner,F(e.weight,{size:4})])));if(L(t)===0n)throw new GS({reason:`config ID cannot be zero`});return t}function WS(e){RS(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]);return[e.salt?dp(e.salt,32):LS,F(e.threshold),t]}var GS=class extends N{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};mf(),R(),Nf();let KS=`0x01`,qS=`0x02`,JS=`0x03`,YS=`0x04`,XS=`0x05`,ZS=`0x7777777777777777777777777777777777777777777777777777777777777777`;function QS(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:QS({...e,signature:t.inner}):t.type===`multisig`?t.account:A_($S(e))}function $S(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return ay({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return $S({payload:t,signature:n.inner});case`multisig`:throw new cC({envelope:n})}}function eC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-mp(ZS)):e;if(mp(t)===65){let e=Fv(t);return Nv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=mp(r);if(n===KS){if(i!==129)throw new lC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,64,96)),y:L(I(r,96,128))},prehash:_p(I(r,128,129))!==0,signature:{r:L(I(r,0,32)),s:L(I(r,32,64))},type:`p256`}}if(n===qS){if(i<128)throw new lC({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=vp(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 lC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,e+64,e+96)),y:L(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:L(I(r,e,e+32)),s:L(I(r,e+32,e+64))},type:`webAuthn`}}if(n===JS||n===YS)return{userAddress:I(r,0,20),inner:eC(I(r,20)),type:`keychain`,version:n===YS?`v2`:`v1`};if(n===XS){let[e,t,n,i]=Sv(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>eC(e)),...i&&i!==`0x`?{init:BS(i)}:{}}}throw new lC({reason:`Unknown signature type identifier: ${n}. Expected ${KS} (P256), ${qS} (WebAuthn), ${JS} (Keychain V1), ${YS} (Keychain V2), or ${XS} (Multisig)`,serialized:t})}function tC(e,t){if(typeof e==`string`)return eC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=rC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?VS(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?US(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>tC(e)),...s?{init:zS(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:A_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:A_(ay({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function nC(e){if(e.type===`secp256k1`)return{signature:zv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=mp(t),r,i;for(let e=37;e<n;e++){let n=vp(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 lC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:nC(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=>eC(e)),...t.init?{init:zS(t.init)}:{}}}throw new cC({envelope:e})}function rC(e){if(typeof e!=`object`||!e)throw new cC({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 cC({envelope:e})}function iC(e,t={}){let n=rC(e);if(n===`secp256k1`)return P(Vv(e.signature),t.magic?ZS:`0x`);if(n===`p256`){let n=e;return P(KS,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?ZS:`0x`)}if(n===`webAuthn`){let n=e,r=P(n.metadata.authenticatorData,up(n.metadata.clientDataJSON));return P(qS,r,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?ZS:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?JS:YS,n.userAddress,iC(n.inner),t.magic?ZS:`0x`)}if(n===`multisig`){let n=e;return P(XS,Ov([n.account,n.genesisConfigId,n.signatures.map(e=>iC(e)),n.init?WS(n.init):`0x`]),t.magic?ZS:`0x`)}throw new cC({envelope:e})}function aC(e){let{payload:t,signatures:n}=e,r=HS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:L(QS({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function oC(e){let t=rC(e);if(t===`secp256k1`)return{...Hv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,up(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:oC(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=>iC(e)),...t.init?{init:t.init}:{}}}throw new cC({envelope:e})}function sC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return A_(t.publicKey)})();if(!r)return!1;let i=tC(e);if(i.type===`secp256k1`)return r?sy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return j_(A_(i.publicKey),r)?Mx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return j_(A_(i.publicKey),r)?PS({challenge:sp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new uC(`Unable to verify signature envelope of type \"${i.type}\".`)}var cC=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${jf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},lC=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},uC=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};mf(),R();function dC(e){return e.startsWith(`tempo`)?fC(e).address:e}function fC(e){if(!e.startsWith(`tempox`))throw new pC({address:e});let t=e.slice(6);return op(t,{strict:!0}),{address:O_(t)}}var pC=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function mC(e,t={}){if(typeof e.chainId==`string`)return hC(e);let n={...e,address:dC(e.address)};return t.signature?{...n,signature:t.signature}:n}function hC(e){let{address:t,chainId:n,nonce:r}=e,i=nC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function gC(e){return e.map(e=>hC(e))}function _C(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=eC(i)),mC(a)}function vC(e){let t=[];for(let n of e)t.push(_C(n));return t}function yC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:oC(i)}}function bC(e){return e.map(e=>yC(e))}function xC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?iC(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function SC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(xC(n));return t}R();let CC=`0x20c0`;function wC(e){let t=dC(e);if(!t.toLowerCase().startsWith(CC))throw Error(`invalid tip20 address.`);return L(I(t,6))}function TC(e){if(typeof e==`string`){let t=dC(e);return D_(t),t}let t=F(e,{size:18});return P(CC,t)}R();let EC=mv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),DC=mv(`bytes32, bytes32, bytes32, uint256, address`),OC=mv(`bytes32, bytes32, uint96`),kC=d_(up(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),AC=d_(up(`TIP20 Channel Reserve`)),jC=d_(up(`1`)),MC=`0x0000000000000000000000000000000000000000`,NC=`0x4d50500000000000000000000000000000000000`,PC=d_(up(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function FC(e){let{authorizedSigner:t=MC,expiringNonceHash:n,operator:r=MC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:zC(t),expiringNonceHash:n,operator:zC(r),payee:zC(i),payer:zC(a),salt:o,token:typeof s==`string`?zC(s):TC(s)}}function IC(e,t){let n=FC(e);return d_(fv(EC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,NC,BigInt(t.chainId)]))}function LC(e){return d_(fv(DC,[kC,AC,jC,BigInt(e.chainId),NC]))}function RC(e){let t=d_(fv(OC,[PC,e.channelId,e.cumulativeAmount]));return d_(P(`0x1901`,LC({chainId:e.chainId}),t))}function zC(e){return k_(e)}R();function BC(e,t={}){if(`keyId`in e)return VC(e);let n=e;n.witness!==void 0&&tw(n.witness);let r={...n,address:dC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:dC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:dC(e.address),selector:ew(e.selector),...e.recipients?{recipients:e.recipients.map(e=>dC(e))}:{}}))}:{}};return t.signature?{...r,signature:tC(t.signature)}:r}function VC(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=nC(e.signature);s!==void 0&&tw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:$C(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:L(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&QC(e.period)>0?{period:QC(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function HC(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=nw(c)?void 0:QC(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:ZC(n),...r===void 0?{}:{period:QC(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,_=nw(d)?void 0:d;_!==void 0&&tw(_);let v=(()=>{if(!nw(f)){if(f!==`0x01`)throw new iw(f);return!0}})(),y=nw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:L(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};return n&&(x.signature=eC(n)),BC(x)}function UC(e){return GC(e)}function WC(e){return HC(Sv(e))}function GC(e){let[t]=JC(e);return d_(Ov(t))}function KC(e){return Ov(JC(e))}function qC(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;c!==void 0&&tw(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:ew(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:dC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:XC(n)}:{}})),signature:oC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function JC(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&tw(o);let l=e.signature?iC(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,YC(e.limit)];return e.period&&e.period>0&&t.push(XC(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([ew(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?XC(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[[YC(n),u,t,...g],...l?[l]:[]]}function YC(e){return e===0n?`0x`:F(e)}function XC(e){return e===0?`0x`:F(e)}function ZC(e){return e===`0x`?0n:BigInt(e)}function QC(e){return e===`0x`?0:_p(e)}function $C(e){return typeof e==`string`?e:Array.isArray(e)?lp(new Uint8Array(e)):e}function ew(e){if(e)return e.startsWith(`0x`)?e:Ny(e)}function tw(e){if(mp(e)!==32)throw new rw(e)}function nw(e){return e===void 0||e===`0x`}var rw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${mp(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},iw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}};R();let aw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function ow(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:d_(up(aw[e]??e))}let sw={...ix,tempo:`0x76`},cw={...ax,\"0x76\":`tempo`};function lw(e,t={}){if(!e)return null;let n=ox(e);return n.type=cw[e.type],e.aaAuthorizationList&&(n.authorizationList=gC(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=nC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=VC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=zv(e.feePayerSignature),n.feePayerSignature.v=Gv(n.feePayerSignature.yParity)),n}R();function uw(e){let t=gS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=bC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?dC(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?dC(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=TC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=qC(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=F(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=F(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return pp(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=sw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}mf(),R();let dw=`tempo`;function fw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new bw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new xw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&D_(e.to,{strict:!1});if(n<=0)throw new xS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new bS({feeCap:r});if(i&&r&&i>r)throw new CS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function pw(e){let t=Sv(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 SS({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:dw});let y={chainId:Number(n),type:dw};yp(a)&&a!==`0x`&&(y.gas=BigInt(a)),yp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),yp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),yp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),yp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),yp(u)&&u!==`0x`&&(y.validBefore=Number(u)),yp(d)&&d!==`0x`&&(y.validAfter=Number(d)),yp(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=Kb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=vC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||M_(p)?(y.feePayerSignature=null,M_(p)&&(y.from=p)):y.feePayerSignature=Bv(p)),_&&(y.keyAuthorization=HC(_));let b=v?eC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=QS({payload:_w(mw(y)),signature:b,root:!0})}catch{}return fw(y),y}function mw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?pw(e):e;return i.from&&=dC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:dC(e.to)}:{}})),fw(i),{...i,...r?{signature:tC(r)}:{},...n?{feePayerSignature:Lv(n)}:{},type:`tempo`}}function hw(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;fw(e);let h=qb(n),g=t.signature||e.signature,_=SC(r),v=i.map(e=>[e.to?dC(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=tC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return A_(t.publicKey);if(t.type===`secp256k1`)return iy({payload:_w(mw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Uv(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`)?TC(o):`0x`,b,_,...c?[JC(c)]:[],...g?[iC(tC(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,Ov(x))}function gw(e){return hw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function _w(e,t={}){let n=vw(e,{presign:!0});return t.from?d_(P(`0x04`,n,dC(t.from))):n}function vw(e,t={}){return d_(t.presign?gw(e):hw(e))}function yw(e,t){let n=dC(t.sender);return d_(hw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var bw=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},xw=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Sw=[{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`}]}],Cw=[{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:[]}],ww=[{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:[]}],Tw=[{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:[]}],Ew=[{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:[]}],Dw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],Ow=[{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:[]}],kw=[{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`}]}],Aw=[{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:[]}],jw=[{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:[]}],Mw=[{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:[]}],Nw=[{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`}]}],Pw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],Fw=[{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:[]}],Iw=[...Sw,...Cw,...ww,...Tw,...Ew,...Dw,...Pw,...B,...Ow,...kw,...Aw,...jw,...Mw,...Nw,...Fw];R();function Lw(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:Vd(e)}function Rw(e){try{return Lw(e)===`tempo`}catch{return!1}}function zw(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?Vw(e):my(e)}async function Bw(e,t){if(!Rw(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 Mh(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return Mh(e,t)}if(Lw(e)===`tempo`)return Hw(e,t);throw Error(`Unsupported transaction type`)}function Vw(e){let{feePayerSignature:t,nonce:n,...r}=pw(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 Hw(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return tC({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=aC({payload:_w(mw(u)),signatures:e.signatures.map(e=>tC(e)),genesisConfig:e.multisig});return hw(u,{feePayerSignature:void 0,signature:tC({genesisConfig:e.multisig,signatures:t,...a?{}:{init:!0}})})}if(n&&typeof e.feePayer==`object`){let t=mw(u,{signature:n}),r=yw(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return iy({payload:_w(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return hw(t,{feePayerSignature:Lv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?hw(u,{signature:n}):n?hw(u,{format:`feePayer`,sender:e.from,signature:n}):hw(u,{feePayerSignature:null}):hw({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),ha(),fi();function Uw(e){let{access:t}=e;return t?tT(e):eT(e)}function Ww(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ax({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=MS({...t,challenge:n,rpId:i,origin:a});return iC({metadata:r,signature:jx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function Gw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ax({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return iC({signature:jx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function Kw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=ry({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Vv(oy({payload:n,privateKey:e}))}})}function qw(e,t={}){let{id:n}=e,r=v_(e.publicKey);return Uw({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await NS({...t,challenge:e,credentialId:n});return iC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function Jw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return iC({signature:await IS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function Yw(e,t){let n=Xw(t);return Zw(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function Xw(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return RC({chainId:t,channelId:typeof n==`string`?n:IC(n,{chainId:t}),cumulativeAmount:r})}function Zw(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function Qw(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=nT(r),d=Zw(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=UC({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return BC({address:l,chainId:n,signature:tC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function $w(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??A_(e.publicKey),o=b_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?di(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?iC(tC({userAddress:n,inner:tC(o),type:`keychain`,version:i})):o}return{address:O_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=tC(await s({hash:ju({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:sg(t)})},async signTransaction(e,t){let{serializer:n=Bw}=t??{},r=di(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:HS({payload:r,genesisConfig:i}),raw:!0}):await n(e,tC(await s({hash:r})))},async signTypedData(e){return await s({hash:hg(e)})},async signVoucher(e){let t=Xw(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function eT(e){let t=$w(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}=nT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return BC({address:l,chainId:r,signature:tC(await t.sign({hash:UC({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function tT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=M(t);return{...$w({...e,parentAddress:r}),accessKeyAddress:A_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function nT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:A_(v_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let rT=`0xaAAAaaAA00000000000000000000000000000000`,iT=`0xdec0000000000000000000000000000000000000`,aT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function oT(e,t){return aT.indexOf(e)<aT.indexOf(t)}Qd(),ba();function sT(e,t){let{decimals:n,token:r}=t;if(typeof r==`string`){let t=lT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=TC(r);return{address:i,decimals:n??dT(e,i)}}function cT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=lT(e,t);if(n)return n}let i=TC(t);for(let e of n){let t=uT(e,r);if(t&&Zd(t.address,i))return t}}function lT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return uT(e,r)}function uT(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function dT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=uT(e,r);if(n&&Zd(n.address,t))return n.decimals}}async function fT(e,t){let{address:n,decimals:r}=sT(e,t);return r===void 0?{address:n,decimals:await Um(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function pT(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function V(e){return{...e,data:ya(e),to:e.address}}ha();let mT={0:`secp256k1`,1:`p256`,2:`webAuthn`},hT={true:`limited`,false:`unlimited`};async function gT(e,t){return gT.inner(ch,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await Qw(M(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(gT||={});async function _T(e,t){return _T.inner(z,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return V({address:rT,abi:Sw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(_T||={});async function vT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n),o=await Um(e,{...i,account:null,...vT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:mT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:hT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:rT,abi:Sw,functionName:`getKey`,args:[t,TT(n)]})}e.call=t})(vT||={});async function yT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=M(n),s=e.chain?.hardfork;if(s&&oT(s,`t3`))return{remaining:await Um(e,{...a,...yT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Um(e,{...a,...yT.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:rT,abi:Sw,functionName:`getRemainingLimit`,args:[t,TT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:rT,abi:Sw,functionName:`getRemainingLimitWithPeriod`,args:[t,TT(n),r]})}e.callWithPeriod=n})(yT||={});async function bT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Um(e,{...i,account:null,...bT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:rT,abi:Sw,functionName:`isAdminKey`,args:[t,TT(n)]})}e.call=t})(bT||={});async function xT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Um(e,{...i,account:null,...xT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:rT,abi:Sw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(xT||={});async function ST(e,t){return ST.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:rT,abi:Sw,functionName:`revokeKey`,args:[TT(t)]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(ST||={});async function CT(e,t){return CT.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:rT,abi:Sw,functionName:`updateSpendingLimit`,args:[TT(t),n,r]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(CT||={});async function wT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Um(e,{...o,...wT.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:Ew,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(wT||={});function TT(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ha();async function ET(e,t){return ET.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:iT,abi:Dw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(ET||={});async function DT(e,t){return DT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:iT,abi:Dw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(DT||={});async function OT(e,t){return OT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:iT,abi:Dw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(OT||={});async function kT(e,t){return kT.inner(z,e,t)}(function(e){async function t(t,n,r){let{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:iT,abi:Dw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(kT||={});async function AT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?M(n).address:void 0;if(!a)throw Error(`account is required.`);return Um(e,{...i,...AT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:iT,abi:Dw,args:[t,n],functionName:`balanceOf`})}e.call=t})(AT||={});async function jT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Um(e,{...a,...jT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:iT,abi:Dw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(jT||={});async function MT(e,t){let{orderId:n,...r}=t;return Um(e,{...r,...MT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:iT,abi:Dw,args:[t],functionName:`getOrder`})}e.call=t})(MT||={});async function NT(e,t){let{base:n,quote:r,...i}=t;return Um(e,{...i,...NT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=BT(t,n);return V({address:iT,abi:Dw,args:[r],functionName:`books`})}e.call=t})(NT||={});async function PT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Um(e,{...a,...PT.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:iT,abi:Dw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(PT||={});async function FT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Um(e,{...a,...FT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:iT,abi:Dw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(FT||={});async function IT(e,t){return IT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:iT,abi:Dw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(IT||={});async function LT(e,t){return LT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return V({address:iT,abi:Dw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=rf({abi:Dw,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})(LT||={});async function RT(e,t){return RT.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:iT,abi:Dw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(RT||={});async function zT(e,t){return zT.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:iT,abi:Dw,functionName:`withdraw`,args:[t,n]})}e.call=n})(zT||={});function BT(e,t){return d_(P(e,t))}R(),ha(),ba();async function VT(e,t){return VT.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i});return V({address:a,abi:B,functionName:`approve`,args:[r,tb(n,o)]})}e.call=n;async function r(t,n){return Xd(t,{...pT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...pT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(VT||={});async function HT(e,t){return HT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{from:n,amount:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i});return V({address:a,abi:B,functionName:`burnBlocked`,args:[n,tb(r,o)]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){return UT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{amount:n,memo:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i}),s=tb(n,o),c=r?{functionName:`burnWithMemo`,args:[s,dp(r,32)]}:{functionName:`burn`,args:[s]};return V({address:a,abi:B,...c})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(UT||={});async function WT(e,t){return WT.inner(z,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,policyId:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`changeTransferPolicyId`,args:[r]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(WT||={});async function GT(e,t){return GT.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?M(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e,t){let{name:n,symbol:r,currency:i,logoURI:a,quoteToken:o=`0x20c0000000000000000000000000000000000000`,admin:s,salt:c=pp(32)}=t;return V({address:`0x20fc000000000000000000000000000000000000`,abi:kw,args:typeof a==`string`?[n,r,i,sT(e,{token:o}).address,s,c,a]:[n,r,i,sT(e,{token:o}).address,s,c],functionName:`createToken`})}e.call=n;function r(e){let[t]=rf({abi:kw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(GT||={});async function KT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Um(e,{...o,...KT.call(e,{account:n,spender:i,token:a})}),fT(e,{decimals:r,token:a})]);return eb(s,c)}(function(e){function t(e,t){return V({address:sT(e,t).address,abi:B,functionName:`allowance`,args:[t.account,t.spender]})}e.call=t})(KT||={});async function qT(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new rh;let o=M(n).address,[s,{decimals:c}]=await Promise.all([Um(e,{...a,...qT.call(e,{account:o,token:i})}),fT(e,{decimals:r,token:i})]);return eb(s,c)}(function(e){function t(e,t){let n=t.account??e.account;if(!n)throw new rh;let r=M(n).address;return V({address:sT(e,t).address,abi:B,functionName:`balanceOf`,args:[r]})}e.call=t})(qT||={});async function JT(e,t){let{token:n,...r}=t,{address:i}=sT(e,{token:n}),a=B,o=cT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return wC(i)===wC(`0x20c0000000000000000000000000000000000000`)?Oy(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:YT(r),symbol:YT(i),currency:YT(e),decimals:YT(t),logoURI:YT(n,``),totalSupply:YT(a),...s})):Oy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:YT(i),symbol:YT(c),currency:YT(e),decimals:YT(t),logoURI:YT(n,``),quoteToken:YT(r),totalSupply:YT(l),paused:YT(a),supplyCap:YT(o),transferPolicyId:YT(u),...s}))}function YT(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function XT(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Um(e,{...i,...XT.call(e,{token:r})}),fT(e,{decimals:n,token:r})]);return eb(a,o)}(function(e){function t(e,t){return V({address:sT(e,t).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(XT||={});async function ZT(e,t){return Um(e,{...t,...ZT.call(e,t)})}(function(e){function t(e,t){let{role:n,token:r}=t;return V({address:sT(e,{token:r}).address,abi:B,functionName:`getRoleAdmin`,args:[ow(n)]})}e.call=t})(ZT||={});async function QT(e,t){let{account:n=e.account}=t,r=n?M(n).address:void 0;if(!r)throw Error(`account is required.`);return Um(e,{...t,...QT.call(e,{...t,account:r})})}(function(e){function t(e,t){let{account:n,role:r,token:i}=t;return V({address:sT(e,{token:i}).address,abi:B,functionName:`hasRole`,args:[n,ow(r)]})}e.call=t})(QT||={});async function $T(e,t){return $T.inner(ch,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,to:r,role:i}=t,a=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`grantRole`,args:[a,r]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})($T||={});async function eE(e,t){return eE.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(e,t){let{to:n,amount:r,memo:i,token:a}=t,{address:o,decimals:s}=sT(e,{token:a}),c=tb(r,s),l=i?{functionName:`mintWithMemo`,args:[n,c,dp(i,32)]}:{functionName:`mint`,args:[n,c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(eE||={});async function tE(e,t){return tE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(tE||={});async function nE(e,t){return nE.inner(ch,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,role:r}=t,i=ow(r);return V({address:sT(e,{token:n}).address,abi:B,functionName:`renounceRole`,args:[i]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(nE||={});async function rE(e,t){return rE.inner(ch,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,from:r,role:i}=t,a=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`revokeRole`,args:[a,r]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(rE||={});async function iE(e,t){return iE.inner(z,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,supplyCap:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`setSupplyCap`,args:[r]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(iE||={});async function aE(e,t){return aE.inner(z,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{token:n,role:r,adminRole:i}=t,a=ow(r),o=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`setRoleAdmin`,args:[a,o]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(aE||={});async function oE(e,t){return oE.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){let{from:n,memo:r,to:i,token:a}=t,{address:o,decimals:s}=sT(e,{token:a}),c=tb(t.amount,s),l=r&&n?{functionName:`transferFromWithMemo`,args:[n,i,c,dp(r,32)]}:r?{functionName:`transferWithMemo`,args:[i,c,dp(r,32)]}:n?{functionName:`transferFrom`,args:[n,i,c]}:{functionName:`transfer`,args:[i,c]};return V({address:o,abi:B,...l})}e.call=n;async function r(t,n){return Xd(t,{...pT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...pT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(oE||={});async function sE(e,t){return sE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(sE||={});async function cE(e,t){return cE.inner(z,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,quoteToken:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`setNextQuoteToken`,args:[sT(e,{token:r}).address]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(cE||={});async function lE(e,t){return lE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(lE||={}),R(),ha(),id();function uE(e){if(!Rw(e))return vd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=lw(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:sw[a.type],type:a.type}}function dE(e){return fh(e)}function fE(e,t){let n=e,r=n.account?M(n.account):void 0;if(!Rw(n))return ed(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=uw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,pE(n.keyData)]:[n.keyType,pE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?M(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function pE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let mE=new Map;async function hE(e){mE.set(e,(mE.get(e)??0)+1),await Promise.resolve();let t=(mE.get(e)??0)>1;return queueMicrotask(()=>{let t=mE.get(e)??0;t<=1?mE.delete(e):mE.set(e,t-1)}),t}R(),ud(),Qd(),id(),fi();let gE={blockTime:1e3,extendSchema:qh(),formatters:{transaction:yd({exclude:[`aaAuthorizationList`],format:uE}),transactionReceipt:ph({format:dE}),transactionRequest:rd({format:fE})},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){let e=zS(i);r.multisig=e,r.from=VS(e),r.multisigInit={salt:e.salt??LS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.account?.source!==`multisig`&&delete r.account}if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await T(t,vT,`getMetadata`)({account:i,accessKey:a});Zd(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 hE(e):!1})()?(r.nonceKey=ld,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)=>Bw(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return eC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?di(P(`0x04`,r,n)):r,a=(()=>{try{return QS({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await vT(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:sC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Th(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return sC(o,{address:n,payload:r})}}return await T(e,Wy,`verifyHash`)({...t,chain:null})}},_E=Kh({...gE,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`]}}}),vE=Kh({...gE,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}),yE=Kh({...gE,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}),bE=Kh({...gE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function xE(e){return e.source}function SE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return zb({key:SE.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(zw(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:SE.type})}}Za();let CE={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 wE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function TE(e){let t=e.details??e.shortMessage??e.message,n=EE(e);if(n)try{let e=Xa({abi:Iw,data:n}),r=CE[e.errorName];return{...e,data:n,message:r?wE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in CE?{errorName:`unknown`,message:CE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function EE(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 EE(t.cause);if(t.error)return EE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return EE(e)}return null}function DE(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await FS({extractable:t}),n=b_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!OE(n.keyPair.privateKey))throw new kE(\"`webCryptoP256` key material did not survive storage.\");return Jw(n.keyPair,r)}if(n.jwk)return Jw({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new kE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:v_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function OE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey?!0:!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var kE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function AE(e){return e instanceof kE?!0:e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let jE={p256:DE()};var ME;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var NE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},PE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(ME=globalThis).__zod_globalConfig??(ME.__zod_globalConfig={});let FE=globalThis.__zod_globalConfig;function IE(e){return e&&Object.assign(FE,e),FE}function LE(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 RE(e,t){return typeof t==`bigint`?t.toString():t}function zE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function BE(e){return e==null}function VE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let HE=Symbol(`evaluating`);function UE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==HE)return r===void 0&&(r=HE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function WE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function GE(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let KE=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function qE(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function JE(e){if(qE(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(qE(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let YE=new Set([`string`,`number`,`symbol`]),XE=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function ZE(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function QE(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function $E(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 eD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function tD(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 QE(e,GE(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 WE(this,`shape`,r),r},checks:[]}))}function nD(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 rD(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 iD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function aD(e){return typeof e==`string`?e:e?.message}function oD(e,t,n){let r=e.message?e.message:aD(e.inst?._zod.def?.error?.(e))??aD(t?.error?.(e))??aD(n.customError?.(e))??aD(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 sD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function cD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let lD=(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,RE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},uD=H(`$ZodError`,lD),dD=H(`$ZodError`,lD,{Parent:Error}),fD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new NE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>oD(e,a,IE())));throw KE(t,i?.callee),t}return o.value},pD=fD(dD),mD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>oD(e,a,IE())));throw KE(t,i?.callee),t}return o.value})(dD),hD=(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 NE;return a.issues.length?{success:!1,error:new(e??uD)(a.issues.map(e=>oD(e,i,IE())))}:{success:!0,data:a.value}})(dD),gD=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>oD(e,i,IE())))}:{success:!0,data:a.value}})(dD),_D=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return fD(e)(t,n,i)})(dD),vD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},yD=/^-?\\d+n?$/,bD=/^-?\\d+(?:\\.\\d+)?$/,xD=/^(?:true|false)$/i,SD=/^null$/i,CD=/^undefined$/i,wD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),TD={number:`number`,bigint:`bigint`,object:`date`},ED=H(`$ZodCheckLessThan`,(e,t)=>{wD.init(e,t);let n=TD[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})}}),DD=H(`$ZodCheckGreaterThan`,(e,t)=>{wD.init(e,t);let n=TD[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})}}),OD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;wD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!BE(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=sD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),kD=H(`$ZodCheckMinLength`,(e,t)=>{var n;wD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!BE(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=sD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),AD=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;wD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),jD=H(`$ZodCheckRegex`,(e,t)=>{AD.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})}}),MD={major:4,minor:4,patch:3},ND=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=MD;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=nD(e),i;for(let a of t){if(a._zod.def.when){if(rD(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 NE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=nD(e,t))});else{if(e.issues.length===t)continue;r||=nD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(nD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new NE;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 NE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}UE(e,`~standard`,()=>({validate:t=>{try{let n=hD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return gD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),PD=H(`$ZodString`,(e,t)=>{ND.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??vD(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),FD=H(`$ZodNumber`,(e,t)=>{ND.init(e,t),e._zod.pattern=e._zod.bag.pattern??bD,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}}),ID=H(`$ZodBoolean`,(e,t)=>{ND.init(e,t),e._zod.pattern=xD,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}}),LD=H(`$ZodBigInt`,(e,t)=>{ND.init(e,t),e._zod.pattern=yD,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}}),RD=H(`$ZodUndefined`,(e,t)=>{ND.init(e,t),e._zod.pattern=CD,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}}),zD=H(`$ZodNull`,(e,t)=>{ND.init(e,t),e._zod.pattern=SD,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}}),BD=H(`$ZodUnknown`,(e,t)=>{ND.init(e,t),e._zod.parse=e=>e});function VD(e,t,n){e.issues.length&&t.issues.push(...iD(n,e.issues)),t.value[n]=e.value}let HD=H(`$ZodArray`,(e,t)=>{ND.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=>VD(t,n,e))):VD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function UD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...iD(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 WD(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=eD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function GD(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=>UD(e,n,i,t,u,d))):UD(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 KD=H(`$ZodObject`,(e,t)=>{if(ND.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=zE(()=>WD(t));UE(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=qE,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=>UD(n,t,e,s,r,i))):UD(a,t,e,s,r,i)}return i?GD(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function qD(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=>!nD(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>oD(e,r,IE())))}),t)}let JD=H(`$ZodUnion`,(e,t)=>{ND.init(e,t),UE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),UE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),UE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),UE(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=>VE(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=>qD(t,r,e,i)):qD(o,r,e,i)}}),YD=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,JD.init(e,t);let n=e._zod.parse;UE(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=zE(()=>{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(!qE(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)}}),XD=H(`$ZodTuple`,(e,t)=>{ND.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=ZD(n,`optin`),c=ZD(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=>QD(t,r,e))):QD(a,r,e)}}return o.length?Promise.all(o).then(()=>$D(l,r,n,a,c)):$D(l,r,n,a,c)}});function ZD(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function QD(e,t,n){e.issues.length&&t.issues.push(...iD(n,e.issues)),t.value[n]=e.value}function $D(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(...iD(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 eO=H(`$ZodRecord`,(e,t)=>{ND.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!JE(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>oD(e,r,IE())),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(...iD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...iD(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`&&bD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>oD(e,r,IE())),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(...iD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...iD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),tO=H(`$ZodEnum`,(e,t)=>{ND.init(e,t);let n=LE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>YE.has(typeof e)).map(e=>typeof e==`string`?ZE(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}}),nO=H(`$ZodLiteral`,(e,t)=>{if(ND.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`?ZE(e):e?ZE(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}}),rO=H(`$ZodTransform`,(e,t)=>{ND.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new PE(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 NE;return n.value=i,n.fallback=!0,n}});function iO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let aO=H(`$ZodOptional`,(e,t)=>{ND.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,UE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),UE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${VE(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=>iO(e,r)):iO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),oO=H(`$ZodNullable`,(e,t)=>{ND.init(e,t),UE(e._zod,`optin`,()=>t.innerType._zod.optin),UE(e._zod,`optout`,()=>t.innerType._zod.optout),UE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${VE(e.source)}|null)$`):void 0}),UE(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)}),sO=H(`$ZodPipe`,(e,t)=>{ND.init(e,t),UE(e._zod,`values`,()=>t.in._zod.values),UE(e._zod,`optin`,()=>t.in._zod.optin),UE(e._zod,`optout`,()=>t.out._zod.optout),UE(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=>cO(e,t.in,n)):cO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>cO(e,t.out,n)):cO(r,t.out,n)}});function cO(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 lO=H(`$ZodCodec`,(e,t)=>{ND.init(e,t),UE(e._zod,`values`,()=>t.in._zod.values),UE(e._zod,`optin`,()=>t.in._zod.optin),UE(e._zod,`optout`,()=>t.out._zod.optout),UE(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=>uO(e,t,n)):uO(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>uO(e,t,n)):uO(r,t,n)}}});function uO(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=>dO(e,r,t.out,n)):dO(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>dO(e,r,t.in,n)):dO(e,r,t.in,n)}}function dO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let fO=H(`$ZodReadonly`,(e,t)=>{ND.init(e,t),UE(e._zod,`propValues`,()=>t.innerType._zod.propValues),UE(e._zod,`values`,()=>t.innerType._zod.values),UE(e._zod,`optin`,()=>t.innerType?._zod?.optin),UE(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(pO):pO(r)}});function pO(e){return e.value=Object.freeze(e.value),e}let mO=H(`$ZodTemplateLiteral`,(e,t)=>{ND.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||XE.has(typeof e))n.push(ZE(`${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)}),hO=H(`$ZodCustom`,(e,t)=>{wD.init(e,t),ND.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=>gO(t,n,r,e));gO(i,n,r,e)}});function gO(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(cD(e))}}function _O(e,t){return new e({type:`string`,...$E(t)})}function vO(e,t){return new e({type:`number`,checks:[],...$E(t)})}function yO(e,t){return new e({type:`boolean`,...$E(t)})}function bO(e,t){return new e({type:`bigint`,...$E(t)})}function xO(e,t){return new e({type:`undefined`,...$E(t)})}function SO(e,t){return new e({type:`null`,...$E(t)})}function CO(e){return new e({type:`unknown`})}function wO(e,t){return new ED({check:`less_than`,...$E(t),value:e,inclusive:!0})}function TO(e,t){return new DD({check:`greater_than`,...$E(t),value:e,inclusive:!0})}function EO(e,t){return new OD({check:`max_length`,...$E(t),maximum:e})}function DO(e,t){return new kD({check:`min_length`,...$E(t),minimum:e})}function OO(e,t){return new jD({check:`string_format`,format:`regex`,...$E(t),pattern:e})}function kO(e,t,n){let r=$E(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function AO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$E(n)})}let jO=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);ND.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>pD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>hD(e,t,n),e.parseAsync=async(t,n)=>mD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>gD(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)=>QE(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),MO=H(`ZodMiniString`,(e,t)=>{PD.init(e,t),jO.init(e,t)});function U(e){return _O(MO,e)}let NO=H(`ZodMiniNumber`,(e,t)=>{FD.init(e,t),jO.init(e,t)});function PO(e){return vO(NO,e)}let FO=H(`ZodMiniBoolean`,(e,t)=>{ID.init(e,t),jO.init(e,t)});function IO(e){return yO(FO,e)}let LO=H(`ZodMiniBigInt`,(e,t)=>{LD.init(e,t),jO.init(e,t)});function RO(e){return bO(LO,e)}let zO=H(`ZodMiniUndefined`,(e,t)=>{RD.init(e,t),jO.init(e,t)});function BO(e){return xO(zO,e)}let VO=H(`ZodMiniNull`,(e,t)=>{zD.init(e,t),jO.init(e,t)});function HO(e){return SO(VO,e)}let UO=H(`ZodMiniUnknown`,(e,t)=>{BD.init(e,t),jO.init(e,t)});function WO(){return CO(UO)}let GO=H(`ZodMiniArray`,(e,t)=>{HD.init(e,t),jO.init(e,t)});function W(e,t){return new GO({type:`array`,element:e,...$E(t)})}let KO=H(`ZodMiniObject`,(e,t)=>{KD.init(e,t),jO.init(e,t),UE(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...$E(t)};return new KO(n)}function qO(e,t){return tD(e,t)}let JO=H(`ZodMiniUnion`,(e,t)=>{JD.init(e,t),jO.init(e,t)});function K(e,t){return new JO({type:`union`,options:e,...$E(t)})}let YO=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{YD.init(e,t),jO.init(e,t)});function XO(e,t,n){return new YO({type:`union`,options:t,discriminator:e,...$E(n)})}let ZO=H(`ZodMiniTuple`,(e,t)=>{XD.init(e,t),jO.init(e,t)});function QO(e,t,n){let r=t instanceof ND;return new ZO({type:`tuple`,items:e,rest:r?t:null,...$E(r?n:t)})}let $O=H(`ZodMiniRecord`,(e,t)=>{eO.init(e,t),jO.init(e,t)});function ek(e,t,n){return!t||!t._zod?new $O({type:`record`,keyType:U(),valueType:e,...$E(t)}):new $O({type:`record`,keyType:e,valueType:t,...$E(n)})}let tk=H(`ZodMiniEnum`,(e,t)=>{tO.init(e,t),jO.init(e,t),e.options=Object.values(t.entries)});function nk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new tk({type:`enum`,entries:n,...$E(t)})}let rk=H(`ZodMiniLiteral`,(e,t)=>{nO.init(e,t),jO.init(e,t)});function q(e,t){return new rk({type:`literal`,values:Array.isArray(e)?e:[e],...$E(t)})}let ik=H(`ZodMiniTransform`,(e,t)=>{rO.init(e,t),jO.init(e,t)});function ak(e){return new ik({type:`transform`,transform:e})}let ok=H(`ZodMiniOptional`,(e,t)=>{aO.init(e,t),jO.init(e,t)});function J(e){return new ok({type:`optional`,innerType:e})}let sk=H(`ZodMiniNullable`,(e,t)=>{oO.init(e,t),jO.init(e,t)});function ck(e){return new sk({type:`nullable`,innerType:e})}let lk=H(`ZodMiniPipe`,(e,t)=>{sO.init(e,t),jO.init(e,t)});function uk(e,t){return new lk({type:`pipe`,in:e,out:t})}let dk=H(`ZodMiniCodec`,(e,t)=>{lk.init(e,t),lO.init(e,t)});function fk(e,t,n){return new dk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let pk=H(`ZodMiniReadonly`,(e,t)=>{fO.init(e,t),jO.init(e,t)});function Y(e){return new pk({type:`readonly`,innerType:e})}let mk=H(`ZodMiniTemplateLiteral`,(e,t)=>{mO.init(e,t),jO.init(e,t)});function hk(e,t){return new mk({type:`template_literal`,parts:e,...$E(t)})}let gk=H(`ZodMiniCustom`,(e,t)=>{hO.init(e,t),jO.init(e,t)});function _k(e,t){return kO(gk,e??(()=>!0),t)}function vk(e,t={}){return AO(gk,e,t)}function yk(e){return e}function bk(e){return e}R();let X=()=>hk([`0x`,U().check(OO(/^[0-9a-fA-F]{40}$/))],`Expected address`),xk=()=>fk(K([Z(),RO()]),RO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>F(e)}),Z=()=>hk([`0x`,U()],`Expected hex value`),Sk=()=>fk(K([Z(),PO()]),PO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:_p(e),encode:e=>F(e)});R();let Ck=G({address:X(),blockHash:Z(),blockNumber:xk(),data:Z(),logIndex:Sk(),removed:IO(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Sk()}),wk=G({blobGasPrice:J(xk()),blobGasUsed:J(xk()),blockHash:Z(),blockNumber:xk(),contractAddress:ck(X()),cumulativeGasUsed:xk(),effectiveGasPrice:xk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:xk(),logs:W(Ck),logsBloom:Z(),root:J(Z()),status:fk(Z(),nk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:ck(X()),transactionHash:Z(),transactionIndex:Sk(),type:Z()}),Tk=_k(),Ek=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Dk=fk(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:xk(),expiry:K([Sk(),HO(),BO()]),keyId:X(),keyType:Ek,limits:J(Y(W(G({token:X(),limit:xk(),period:J(Sk())})))),signature:Tk}),_k(),{decode(e){return VC({chainId:F(e.chainId),expiry:e.expiry==null?null:F(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:F(e),...typeof t==`number`?{period:F(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=qC(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:_p(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:L(e),...t?{period:_p(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}:{}}))}:{}}))}:{}}}}),Ok=G({data:J(Z()),to:J(X()),value:J(xk())}),kk=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Ok))),chainId:J(Sk()),data:J(Z()),feePayer:J(K([IO(),U()])),feePayerSignature:J(ek(U(),WO())),feeToken:J(X()),from:J(X()),gas:J(xk()),keyAuthorization:J(Dk),keyData:J(Z()),keyId:J(X()),keyType:J(Ek),maxFeePerGas:J(xk()),maxPriorityFeePerGas:J(xk()),nonce:J(Sk()),nonceKey:J(xk()),to:J(X()),validAfter:J(Sk()),validBefore:J(Sk()),value:J(xk())});var Ak;(function(e){e.schema=yk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(Ak||={});var jk;(function(e){e.schema=yk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(jk||={});var Mk;(function(e){e.schema=yk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(Mk||={});var Nk;(function(e){e.schema=yk({method:q(`eth_sendTransaction`),params:Y(QO([kk])),returns:Z()})})(Nk||={});var Pk;(function(e){let t=G({address:X(),decimals:PO(),direction:nk([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:PO(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=yk({method:q(`eth_fillTransaction`),params:Y(QO([kk])),returns:G({capabilities:G({balanceDiffs:J(ek(X(),Y(W(t)))),error:J(G({abiItem:J(ek(U(),WO())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:PO(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:PO(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:PO()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:IO()}),tx:ek(U(),WO())})})})(Pk||={});var Fk;(function(e){e.schema=yk({method:q(`eth_signTransaction`),params:Y(QO([kk])),returns:Z()})})(Fk||={});var Ik;(function(e){e.schema=yk({method:q(`eth_sendTransactionSync`),params:Y(QO([kk])),returns:wk})})(Ik||={});var Lk;(function(e){e.schema=yk({method:q(`eth_signTypedData_v4`),params:Y(QO([X(),U()])),returns:Z()})})(Lk||={});var Rk;(function(e){e.schema=yk({method:q(`personal_sign`),params:Y(QO([Z(),X()])),returns:Z()})})(Rk||={});let zk=J(G({feePayer:J(K([IO(),U()])),sync:J(IO())}));var Bk;(function(e){e.schema=yk({method:q(`wallet_sendCalls`),params:J(Y(QO([G({atomicRequired:J(IO()),calls:Y(W(Ok)),capabilities:zk,chainId:J(Sk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(IO()),capabilities:zk,chainId:J(Sk()),id:U(),receipts:J(W(wk)),status:J(PO()),version:J(U())})})})(Bk||={});var Vk;(function(e){e.schema=yk({method:q(`wallet_getBalances`),params:J(Y(QO([G({account:J(X()),chainId:J(Sk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:xk(),decimals:PO(),display:U(),name:U(),symbol:U()})))})})(Vk||={});var Hk;(function(e){e.schema=yk({method:q(`wallet_getCapabilities`),params:J(Y(K([QO([X()]),QO([X(),Y(W(Z()))])]))),returns:ek(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`)])}))}))})})(Hk||={});var Uk;(function(e){e.showDeposit=J(K([IO(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(xk()),expiry:PO(),keyType:J(Ek),limits:J(Y(W(G({token:X(),limit:xk(),period:J(PO())})))),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:Dk,rootAddress:X()}),e.schema=yk({method:q(`wallet_authorizeAccessKey`),params:Y(QO([e.parameters])),returns:e.returns})})(Uk||={});var Wk;(function(e){e.parameters=G({address:J(X()),expiry:PO(),keyType:J(Ek),limits:Y(W(G({token:X(),limit:xk(),period:J(PO())})).check(DO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(DO(1))),showDeposit:Uk.showDeposit})})(Wk||={});var Gk;(function(e){e.schema=yk({method:q(`wallet_revokeAccessKey`),params:Y(QO([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(Gk||={});var Kk;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(xk()),limits:Y(W(G({token:X(),limit:xk()})).check(DO(1)))}),e.schema=yk({method:q(`wallet_updateAccessKey`),params:Y(QO([e.parameters])),returns:void 0})})(Kk||={});var qk;(function(e){e.authorizeAccessKey=J(qO(Uk.parameters,{showDeposit:!0})),e.showDeposit=J(K([IO(),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(IO())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([IO(),G({nonce:J(U())})]))})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(U()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(IO()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(ck(U())),idToken:J(U())})),keyAuthorization:J(Dk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(ck(U())),auth:J(G({token:J(U())}))})},e.schema=yk({method:q(`wallet_connect`),params:J(Y(QO([G({capabilities:e.capabilities.request,chainId:J(Sk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(qk||={});var Jk;(function(e){let t=J(qO(Wk.parameters,{showDeposit:!0})),n=qk.auth,r=qk.identity,i=qk.personalSign,a=qk.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(U()),personalSign:i,showDeposit:a,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J(IO()),showDeposit:a})])),chainId:J(Sk()),version:J(U())})})(Jk||={});var Yk;(function(e){e.schema=yk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(Yk||={});var Xk;(function(e){e.schema=yk({method:q(`wallet_getCallsStatus`),params:J(Y(QO([U()]))),returns:G({atomic:IO(),chainId:Sk(),id:U(),receipts:J(W(wk)),status:PO(),version:U()})})})(Xk||={});var Zk;(function(e){e.parameters=XO(`editable`,[G({amount:U(),chainId:J(Sk()),editable:J(q(!1)),feePayer:J(K([IO(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Sk()),editable:q(!0),feePayer:J(K([IO(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=yk({method:q(`wallet_transfer`),params:J(Y(QO([e.parameters]))),returns:G({chainId:Sk(),receipt:wk})})})(Zk||={});let Qk=G({amount:J(U()),pairToken:J(X()),slippage:J(PO().check(TO(0),wO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var $k;(function(e){e.schema=yk({method:q(`wallet_swap`),params:J(Y(QO([Qk]))),returns:G({receipt:wk})})})($k||={});var eA;(function(e){e.schema=yk({method:q(`wallet_switchEthereumChain`),params:Y(QO([G({chainId:Sk()})])),returns:void 0})})(eA||={});var tA;(function(e){e.schema=yk({method:q(`wallet_deposit`),params:J(Y(QO([G({address:J(X()),amount:J(U()),chainId:J(Sk()),displayName:J(U()),intent:J(K([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(wk)))}))})})(tA||={});var nA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([IO(),U()])),token:J(X()),zoneId:J(Sk())}),e.schema=yk({method:q(`wallet_depositZone`),params:J(Y(QO([e.parameters]))),returns:G({receipt:wk})})})(nA||={});var rA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Sk())}),e.schema=yk({method:q(`wallet_withdrawZone`),params:J(Y(QO([e.parameters]))),returns:G({receipt:wk})})})(rA||={}),Wk.parameters,Jk.parameters;let iA=bk([Ak.schema,jk.schema,Pk.schema,Mk.schema,Nk.schema,Ik.schema,Fk.schema,Lk.schema,Rk.schema,Uk.schema,qk.schema,tA.schema,nA.schema,Yk.schema,Vk.schema,Xk.schema,Hk.schema,Gk.schema,Kk.schema,Zk.schema,Bk.schema,$k.schema,eA.schema,rA.schema]),aA=hS();function oA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let sA=XO(`method`,iA.map(oA));function cA(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`},lA={payment:`Payment`},uA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},dA={charge:`charge`,session:`session`,subscription:`subscription`},fA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},pA={v1:`v1`,v2:`v2`};function mA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var hA=class extends Error{status=402;hint;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},gA=class extends hA{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},$=class extends hA{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{reason:t}=e;super(t?`Payment verification failed: ${t}.`:`Payment verification failed.`)}},_A=class extends hA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function vA(e,t){if(!e)throw new gA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new gA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new _A({expires:e})}Nf();function yA(e){let t=rx(e);return JSON.parse(t)}function bA(e){return tx(kf(e),{pad:!1,url:!0})}function xA(){return U().check(OO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function SA(){return U().check(OO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function CA(e=`Invalid ISO 8601 datetime`){return uk(K([SA(),_k(e=>e instanceof Date)]),ak(wA)).check(vk(e=>Number.isFinite(e.getTime()),e))}function wA(e){return e instanceof Date?e:new Date(e)}function TA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function EA(){return U().check(OO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function DA(){return U().check(OO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function OA(){return U().check(OO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}ap();let kA=G({description:J(U()),digest:J(U().check(OO(/^sha-256=/,`Invalid digest format`))),expires:J(SA()),id:U().check(DO(1)),intent:U(),method:U(),meta:J(ek(U(),U())),opaque:J(U()),realm:U(),request:ek(U(),WO())});function AA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?TA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:bA(i)),f=l?VA({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return kA.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 jA(e,t){let n=MA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=NA(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 AA({...a,request:yA(r),...i&&{opaque:i}},t)}function MA(e){let t=lA.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(!IA(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 NA(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]=PA(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function PA(e,t){if(e[t]===`\"`)return FA(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function FA(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 IA(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 LA(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return RA(e.headers,t)}function RA(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return zA(n,t)}function zA(e,t){let n=[],r=RegExp(`${lA.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 jA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function BA(e){return[e.realm,e.method,e.intent,bA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?bA(e.meta):``)].join(`|`)}function VA(e,t){let n=BA(e);return $b(f_(zf(t.secretKey),zf(n),{as:`Bytes`}),{url:!0,pad:!1})}let HA=Symbol.for(`mppx.x402.challenge`);function UA(e){return Object.defineProperty(e,HA,{value:!0}),e}function WA(e){return!!e?.[HA]}function GA(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=XA(n)}return t}function KA(e,t){let n=GA(e),r=rj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[XA(e)]??1,index:t}));return{definition:r,entries:i,header:JA(i),keys:n}}function qA(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)=>tj(e,t))}function JA(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${sj(n)}`}).join(`, `)}function YA(e,t,n){let r=new Map;for(let e of t){let t=XA(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(XA(e));if(!i)return[];let a=ZA(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)=>ej(e.challenge)-ej(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function XA(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function ZA(e,t){let n;for(let r of t){if(!QA(e,r))continue;let t={...r,specificity:$A(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 QA(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function $A(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function ej(e){return+!!WA(e)}function tj(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}`);cj(r,`method`),cj(i,`intent`);let a=1;for(let t of nj(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=aj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function nj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function rj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>XA(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=ij(t,`payment preference \"${e}\"`)}return a}function ij(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return oj(e,t)}function aj(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 oj(Number(e),t)}function oj(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 sj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function cj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var lj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},uj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function dj(e){let t=e.match(RegExp(`^${lA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new lj;try{let e=rx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=fj(r);return{challenge:kA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:yA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new uj}}function fj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!pj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:bA(e)}}function pj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function mj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:bA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:bA(r)},payload:e.payload,...e.source&&{source:e.source}},s=tx(JSON.stringify(o),{pad:!1,url:!0});return`${lA.payment} ${s}`}var hj=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function gj(e){}function _j(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=gj,onError:n=gj,onRetry:r=gj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new hj(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(vj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else yj(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(vj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(yj(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);l=r.includes(`\\0`)?void 0:r;return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:l=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new hj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new hj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function vj(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function yj(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}let bj=[`exact`],xj=`PAYMENT-REQUIRED`,Sj=`PAYMENT-SIGNATURE`,Cj=U().check(DO(1)),wj=PO().check(vk(e=>e>0,`Must be positive`)),Tj=U().check(OO(/^\\d+$/,`Invalid atomic amount`)),Ej=EA(),Dj=U().check(OO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Oj=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Cj}),kj=G({amount:Tj,asset:Cj,extra:J(ek(U(),WO())),maxTimeoutSeconds:wj,network:Dj,payTo:Cj,scheme:nk(bj)}),Aj=ek(U(),G({info:ek(U(),WO()),schema:ek(U(),WO())})),jj=G({accepts:W(kj).check(DO(1)),error:J(U()),extensions:J(Aj),resource:Oj,x402Version:q(2)}),Mj=K([G({authorization:G({from:Ej,nonce:DA(),to:Ej,validAfter:Tj,validBefore:Tj,value:Tj}),signature:OA()}),G({permit2Authorization:G({deadline:Tj,from:Ej,nonce:Tj,permitted:G({amount:Tj,token:Ej}),spender:Ej,witness:G({to:Ej,validAfter:Tj})}),signature:OA()})]),Nj=G({accepted:kj,extensions:J(Aj),payload:Mj,resource:J(Oj),x402Version:q(2)}),Pj=G({amount:J(Tj),errorMessage:J(U()),errorReason:J(U()),extensions:J(Aj),extra:J(ek(U(),WO())),network:Cj,payer:J(U()),success:IO(),transaction:U()}),Fj=[Q.authorization,xj,`PAYMENT-RESPONSE`,Sj];function Ij(e,t,n){let r=new Headers(e.headers);for(let e of Fj)r.delete(e);return r.set(t,n),{...e,headers:r}}function Lj(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 Rj=new WeakMap;function zj(e){let t=Lj(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 Bj(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 Vj(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=kA.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function Hj(e){if(e)return`error`in e?e.error?.code===-32042?Vj(e.error.data):void 0:Vj(e.result?._meta?.[`org.paymentauth/payment-required`])}function Uj(e,t){return!e||e.id!==t?[]:Hj(e)?.challenges??[]}async function Wj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=_j({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=Bj(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 Gj(e){let t=Rj.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(Bj).catch(()=>void 0);if(t.includes(`text/event-stream`))return Wj(e)})();return Rj.set(e,n),n}function Kj(){return{getChallenges(e,t){let n=zj(t);return e.status===402||n===void 0?[]:Gj(e).then(e=>Uj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=dj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function qj(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:LA(e)},setCredential(e,t){return Ij(e,Q.authorization,t)}}}function Jj(e){return{encode(t){return tx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(rx(t)))}catch{throw new Yj}}}}var Yj=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let Xj=Jj(jj),Zj=Jj(Nj),Qj=Jj(Pj);Xj.encode,Xj.decode;function $j(e){try{let t=JSON.parse(rx(e));return eM(t)}catch{throw new Yj}}Zj.encode,Zj.decode,Qj.encode,Qj.decode;let eM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new Yj;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new Yj;let n=Oj.parse(t.resource),r=t.extensions===void 0?void 0:Aj.parse(t.extensions);return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function tM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(xj);if(!t)return[];let n=$j(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=kj.safeParse(e);if(!r.success)return[];let i=r.data;return UA(AA({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return Ij(e,Sj,t)}}}function nM(e){return e}function rM(){let e=[qj(),tM(),Kj()],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 nM({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 iM=Symbol.for(`mppx.fetch.wrapper`),aM;function oM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=rM()}=e,l=e.eventDispatcher??lM(),u=t??KA(a),d=kM(r),f=async(e,t)=>{let r=OM(e,t?.headers),f=r.has(Q.acceptPayment),p=NM(r,u),m=EM(e,t,r),h=TM(e,t,r,p.header,f,n),g=await d(AM(h.input),h.init),_=DM(h.init,await m);if(!await c.isPaymentRequired(g,_))return g;let v=t?.context,{context:y,orderChallenges:b,...x}=_??{},S,C,w;try{for(let n=0;n<i;n++){C=c.getChallenges?await c.getChallenges(g,_):[await c.getChallenge(g,_)];let r=(await PM(YA(C,a,p.entries),b??s))[0];if(!r){if(n>0)return g;throw Error(`No method found for challenges: ${C.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let i=r.challenge;S=i,w=r.method,S.expires&&vA(S.expires,S.id);let u=pM(e=>MM(i,r.method,e??v)),f=await l.emit(`challenge.received`,mM({challenge:i,challenges:C,createCredential:u,init:t,input:e,method:r.method,response:g}))??(o?await o(S,{createCredential:u}):void 0)??await u();if(jM(f),await l.emit(`credential.created`,hM({challenge:i,credential:f,init:t,input:e,method:r.method,response:g})),g=await d(zM(g,h.input,h.input),c.setCredential({...x,headers:h.headers},f,{challenge:i})),g.ok&&await l.emit(`payment.response`,gM({challenge:i,credential:f,init:t,input:e,method:r.method,response:g})),!await c.isPaymentRequired(g,_))return g}return g}catch(n){throw await l.emit(`payment.failed`,_M({challenge:S,challenges:C,error:n,init:t,input:e,method:w,response:g})),n}};return f[iM]=d,f}function sM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);aM||=globalThis.fetch,globalThis.fetch=oM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(LM()?`same-origin`:`always`),fetch:globalThis.fetch})}function cM(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 lM(){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 uM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await fM(e[`*`],t,n),r}case`credential.created`:await dM(e[`credential.created`],n),await fM(e[`*`],t,n);return;case`payment.failed`:await dM(e[`payment.failed`],n),await fM(e[`*`],t,n);return;case`payment.response`:await dM(e[`payment.response`],n),await fM(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 uM(e,t){try{return await e(t)}catch{return}}async function dM(e,t){for(let n of e)try{await n(t)}catch{}}async function fM(e,t,n){await dM(e,Object.freeze({name:t,payload:n}))}function pM(e){let t;return n=>(t??=e(n),t)}function mM(e){return Object.freeze({challenge:SM(e.challenge),challenges:e.challenges.map(e=>SM(e)),createCredential:e.createCredential,init:vM(e.init),input:yM(e.input),method:bM(e.method),response:xM(e.response)})}function hM(e){return Object.freeze({challenge:SM(e.challenge),credential:e.credential,init:vM(e.init),input:yM(e.input),method:bM(e.method),...e.response===void 0?{}:{response:xM(e.response)}})}function gM(e){return Object.freeze({challenge:SM(e.challenge),credential:e.credential,init:vM(e.init),input:yM(e.input),method:bM(e.method),response:xM(e.response)})}function _M(e){return Object.freeze({...e.challenge?{challenge:SM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>SM(e))}:{},error:e.error,init:vM(e.init),input:yM(e.input),...e.method?{method:bM(e.method)}:{},...e.response===void 0?{}:{response:xM(e.response)}})}function vM(e){if(e)return wM({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function yM(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function bM(e){return wM(Object.assign({},e))}function xM(e){return e instanceof Response?e.clone():SM(e)}function SM(e){try{return CM(structuredClone(e))}catch{return wM(e)}}function CM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))CM(t);return e}function wM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function TM(e,t,n,r,i,a){let o=!!r&&!i&&FM(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 EM(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 DM(e,t){return t===void 0?e:{...e,body:t}}function OM(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function kM(e){let t=e;for(;t[iM];)t=t[iM];return t}function AM(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function jM(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 MM(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 NM(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:qA(n),header:n}}catch{return t}}async function PM(e,t){return t?t(e):e}function FM(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=RM(e);return t===`same-origin`?LM()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>IM(n,e))}function IM(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 LM(){return globalThis.location!==void 0}function RM(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,LM()?globalThis.location.href:void 0)}function zM(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=RM(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 BM(e){return e}function VM(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function HM(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return M(r)}}function UM(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=Sh({chain:i.chain,transport:SE(Gb(e),Gb(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?SE(Gb(a),Gb(n)):Gb(a);return Sh({chain:{...t,id:r},transport:o})}}let WM={mainnet:4217,testnet:42431},GM={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};WM.mainnet,GM.usdc,WM.testnet,GM.pathUsd;let KM={[WM.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[WM.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},qM={[WM.mainnet]:`https://rpc.tempo.xyz`,[WM.testnet]:`https://rpc.moderato.tempo.xyz`},JM=[`push`,`pull`],YM=G({amount:xA(),memo:J(DA()),recipient:uk(U(),ak(e=>e))}),XM=(1n<<64n)-1n,ZM={dev_second:1n,day:86400n,week:604800n},QM=uk(EA(),ak(e=>e.toLowerCase())),$M=G({accessKeyAddress:QM,keyType:nk([`p256`,`secp256k1`,`webAuthn`])}),eN=G({accessKey:J($M),chainId:J(PO())}),tN=CA(`subscriptionExpires must be a valid date`).check(vk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),nN=nk([`dev_second`,`day`,`week`]),rN=uk(K([U(),RO(),_k(e=>typeof e==`number`&&Number.isSafeInteger(e))]),ak(e=>e.toString())).check(OO(/^[1-9]\\d*$/,`Invalid periodCount`),vk(e=>{try{return BigInt(e)<=XM}catch{return!1}},`periodCount exceeds uint64`));function iN(e){return vk(e=>{let{amount:t,decimals:n}=e;return Ty(t,n)>0n},e)}function aN(e){let{periodCount:t,periodUnit:n}=e;try{let e=ZM[n];return e===void 0?!1:BigInt(t)*e<=XM}catch{return!1}}let oN=BM({name:`tempo`,intent:`charge`,schema:{credential:{payload:XO(`type`,[G({hash:DA(),type:q(`hash`)}),G({signature:OA(),type:q(`transaction`)}),G({signature:OA(),type:q(`proof`)})])},request:uk(G({amount:xA(),chainId:J(PO()),currency:U(),decimals:PO(),description:J(U()),externalId:J(U()),feePayer:J(uk(K([IO(),_k()]),ak(e=>typeof e==`object`?!0:e))),memo:J(DA()),recipient:J(U()),splits:J(W(YM).check(DO(1),EO(10))),supportedModes:J(W(nk(JM)).check(DO(1)))}).check(vk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Ty(e,t),i=n.reduce((e,n)=>e+Ty(n.amount,t),0n);return n.every(e=>Ty(e.amount,t)>0n)&&i<r},`Invalid splits`)),ak(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Ty(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:Ty(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),sN=BM({name:`tempo`,intent:`session`,schema:{credential:{payload:XO(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA(),transaction:OA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:xA(),channelId:DA(),descriptor:J(_k()),transaction:OA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA()}),G({action:q(`close`),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA()})])},request:uk(G({amount:xA(),chainId:J(PO()),channelId:J(DA()),currency:U(),decimals:PO(),escrowContract:J(U()),feePayer:J(uk(K([IO(),_k()]),ak(e=>typeof e==`object`?!0:e))),minVoucherDelta:J(xA()),operator:J(EA()),recipient:J(U()),sessionProtocol:J(nk([pA.v2,pA.v1])),sessionSnapshot:J(_k()),suggestedDeposit:J(xA()),unitType:U()}).check(vk(({amount:e,decimals:t})=>Ty(e,t)>0n,`Session amount must be greater than 0`)),ak(({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:Ty(e,r).toString(),...u?{suggestedDeposit:Ty(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Ty(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[fA.sessionProtocol]:c},...l!==void 0&&{[fA.sessionSnapshot]:l}}})))}}),cN=BM({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:OA(),type:q(`keyAuthorization`)})},request:uk(G({amount:xA(),accessKey:J($M),chainId:J(PO()),currency:QM,decimals:PO(),description:J(U()),externalId:J(U()),methodDetails:J(eN),periodCount:rN,periodUnit:nN,recipient:QM,subscriptionExpires:tN}).check(iN(`Subscription amount must be greater than 0`),vk(aN,`Subscription period exceeds uint64`)),ak(({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:Ty(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Fi(),Qd();let lN=(1n<<64n)-1n,uN={dev_second:1n,day:86400n,week:604800n};function dN(e){return e instanceof Date?e:new Date(e)}function fN(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 pN(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=uN[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>lN)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 mN(e){let{challengeExpires:t,request:n}=e;pN(n);let r=fN(dN(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 hN(e){return[{address:DN(e.currency,`currency`),selector:`0x95777d59`,recipients:[DN(e.recipient,`recipient`)]}]}async function gN(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=vN({accessKey:t,chainId:r,request:i});return BC(a,{signature:tC(await n.sign({hash:UC(a)}))})}function _N(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=yN(r.signature),o=bN(a);return xN({accessKey:t,authorization:a,chainId:n}),SN(a,i),wN(CN(a),i),TN(a.scopes,i),{authorization:a,source:{address:EN(a,o),chainId:n}}}function vN(e){let{accessKey:t,chainId:n,request:r}=e;return BC({address:DN(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:fN(dN(r.subscriptionExpires)),limits:[{token:DN(r.currency,`currency`),limit:BigInt(r.amount),period:pN(r)}],scopes:hN(r),type:t.keyType})}function yN(e){try{return WC(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function bN(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function xN(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!Zd(n.address,DN(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function SN(e,t){if(mN({request:t}),e.expiry!==fN(dN(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function CN(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function wN(e,t){if(!Zd(e.token,DN(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==pN(t))throw new $({reason:`keyAuthorization period mismatch`})}function TN(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=DN(t.currency,`currency`),r=DN(t.recipient,`recipient`),i=new Set;for(let t of e){if(!Zd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=ON(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||!Zd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function EN(e,t){let n=UC(e);try{let e=QS({payload:n,signature:t});if(!sC(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 DN(e,t){if(!Mi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function ON(e){return typeof e==`string`?e.toLowerCase():``}R(),Qd();let kN=G({accessKey:J(_k()),account:J(_k())});function AN(e={}){let t=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),n=HM({account:e.account});return VM(cN,{context:kN,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??WM.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.\");MN(r.request),await e.validateRequest?.(r.request);let l=await jN(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Zd(_N({accessKey:c,chainId:a,payload:{signature:KC(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return mj({challenge:r,payload:{signature:KC(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function jN(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await gN({accessKey:n,account:r,chainId:i,request:a})||VC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:fN(dN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:pN(a)}],scopes:hN(a)}]})).keyAuthorization)}function MN(e){pN(e),fN(dN(e.subscriptionExpires))}ap(),R();let NN=I(d_(zf(`mpp`),{as:`Hex`}),0,4);function PN(e){return gp(I(d_(zf(e),{as:`Hex`}),0,10))}function FN(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(gp(NN),0),i[4]=1,i.set(PN(t),5),n&&i.set(PN(n),15),i.set(IN(r),25),lp(i)}function IN(e){return gp(I(d_(zf(e),{as:`Hex`}),0,7))}function LN(e,t){return e.toLowerCase()===t.toLowerCase()}let RN=[GM.pathUsd,GM.usdc];function zN(e,t){let n=qT.call;return n.length>=2?n(e,t):n(t)}function BN(e,t){let n=VT.call;return n.length>=2?n(e,t):n(t)}function VN(e,t){let n=ET.call;return n.length>=2?n(e,t):n(t)}async function HN(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!LN(e,i)),c=await Promise.allSettled([Um(e,zN(e,{account:n,token:i})),...s.map(t=>Um(e,zN(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await jT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[BN(e,{amount:n,spender:iT,token:l}),VN(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new WN({currency:i})}}function UN(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>LN(e,t)))]:t,slippage:e.slippage??1}:!1}var WN=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function GN(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 KN={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function qN(e){return{name:`MPP`,version:`3`,chainId:e}}function JN(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function YN(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:qN(n),types:KN,primaryType:`Proof`,message:JN({account:t,challengeId:r,realm:i})}}function XN(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let ZN=G({account:J(_k()),autoSwap:J(_k()),mode:J(nk(JM))});function QN(e,t){let n=oE.call;return n.length>=2?n(e,t):n(t)}function $N(e={}){let{clientId:t}=e,n=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),r=HM({account:e.account});return VM(oN,{context:ZN,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 mj({challenge:i,payload:{signature:await Pb(c,{account:m,...YN({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:XN({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:FN({challengeId:i.id,clientId:t,serverId:i.realm}),_=GN({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>QN(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=UN(a?.autoSwap??e.autoSwap,RN),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 HN(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 kb(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return mj({challenge:i,payload:{hash:t,type:`hash`},source:XN({address:y.address,chainId:l})})}let C=await Jd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return mj({challenge:i,payload:{signature:await Nb(c,C),type:`transaction`},source:XN({address:y.address,chainId:l})})}})}function eP(e){return`accessKeyAddress`in e}function tP(e){return eP(e)?e.accessKeyAddress:e.address}function nP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let rP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function iP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function aP(e,t,n){return hg({domain:nP(e,t),types:rP,primaryType:`Voucher`,message:iP(n)})}async function oP(e,t,n,r,i){return Pb(e,{account:t,domain:nP(r,i),types:rP,primaryType:`Voucher`,message:iP(n)})}function sP(e){let t=tC(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 Vv(t.inner.signature)}return iC(t)}function cP(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function lP(e){if(!cP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function uP(e,t,n,r,i,a){let o=a??t,s=tP(o),c=aP(r,i,n),l=sP(eP(o)?await o.sign({hash:c,raw:!0}):await oP(e,o,n,r,i)),u=tC(l);if(lP(u),!sC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function dP(e){return d_(fv(mv([`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 fP=[{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:[]}];hm(),ba(),zp(),ma(),ua(),Hm();async function pP(e,t,n){return Um(e,{address:t,abi:fP,functionName:`getChannel`,args:[n]})}da({abi:fP,name:`open`}),da({abi:fP,name:`topUp`}),R(),ba();function mP(e,t){return t??e}function hP(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??KM[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function gP(e,t,n,r){return mj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function _P(e,t,n,r,i,a,o){let s=mP(t,o),c=await uP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function vP(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=mP(t,n.voucherSigner),d=tP(u),f=pp(32),p=dP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=ya({abi:B,functionName:`approve`,args:[r,o]}),h=ya({abi:fP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Jd(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 Nb(e,_),y=await uP(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 yP(e,t,n,r){try{let i=await pP(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 bP=G({account:J(_k()),action:J(nk([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(xA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(xA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function xP(e={}){let{decimals:t=6}=e,n=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),r=HM({account:e.account}),i=e.maxDeposit===void 0?void 0:Ty(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 hP(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 Ty(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 yP(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Ty(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 _P(h,d,ee.channelId,ee.cumulativeAmount,g,m,C),c(ee);else{let e=await vP(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 gP(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?Ty(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Ty(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 uP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:tP(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 _P(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 uP(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 gP(r,x,d,i)}return VM(sN,{canHandleChallenge({challenge:e}){let t=mA(e.request.methodDetails,fA.sessionProtocol);return t===void 0||t===pA.v1},context:bP,async createCredential({challenge:t,context:a}){let o=t.request.methodDetails?.chainId??0,s=await n({chainId:o}),c=r(s,a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,c,a);if(a?.action)return f(t,c,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let SP=(1n<<96n)-1n;function CP(e){return e>=0n&&e<=SP}function wP(e){return TP(e),e}function TP(e){if(!CP(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function EP(e){return typeof e==`object`&&!!e}function DP(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function OP(e){return EP(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function kP(e){return EP(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 AP(e){let t=rx(e),n=JSON.parse(t);if(!kP(n))throw Error(`Invalid session receipt.`);return n}function jP(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function MP(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=NP(r);return OP(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=NP(r);return kP(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function NP(e){try{return JSON.parse(e)}catch{return null}}function PP(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function FP(){return JSON.stringify({mpp:`payment-close-request`})}function IP(e){let t=LP(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`&&kP(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`&&OP(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&kP(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function LP(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let RP=`0x4d50500000000000000000000000000000000000`,zP={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function BP(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Ty(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=xP({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=oM({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function ee(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function te(e){if(!h)return;let t=h;h=null,t.reject(e)}function ne(e){if(!p)return;let t=p;p=null,t.reject(e)}function re(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function ie(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ae(e){let t=e.headers.get(Q.paymentReceipt),n=t?AP(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function oe(e,t){return o=e,ae(await y(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!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=zP.CLOSED,r=null}if(e===`open`&&(i=zP.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:oe,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await oe(e,{...s,headers:{...cM(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=MP(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);ie(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[Q.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let re=(await VP(YA(LA(C),[v],KA([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!re)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=re;let ae=await v.createCredential({challenge:re,context:{}});f=null,l=re,g=0n,_=BigInt(re.request.amount);let oe=dj(ae);u=oe.payload.channelId;let ce=new n(y,p);d=ce;let le=se(ce),ue=e=>{te(Error(e)),ne(Error(e)),(ce.readyState===zP.CONNECTING||ce.readyState===zP.OPEN)&&ce.close(3008,e)},de=e=>e.challengeId===re.id&&e.channelId===u,fe=new Promise((e,t)=>{let n=()=>{ce.removeEventListener(`error`,r),le.emit(`open`,{type:`open`}),e()},r=()=>{ce.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};ce.addEventListener(`open`,n,{once:!0}),ce.addEventListener(`error`,r,{once:!0})});return ce.addEventListener(`close`,e=>{d===ce&&(d=null),l===re&&(l=null),u===oe.payload.channelId&&(u=null),m=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),le.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ce.addEventListener(`error`,()=>{le.emit(`error`,{type:`error`})}),ce.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=IP(t);if(!n){le.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,le.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!de(n.data)){ue(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ue(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),ee(n.data),le.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){ue(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){ue(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:re,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});ce.send(PP(r));break}case`payment-receipt`:if(!de(n.data)){ue(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){ue(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),ce.close()},{once:!0}),await fe,ce.send(PP(ae)),await S(),le.socket},async close(){let e=l??a,n=u??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(d?.readyState===zP.OPEN){let t=f??await(async()=>(d.send(FP()),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(PP(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(re(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(Q.paymentReceipt);return p?AP(p):void 0}}}async function VP(e,t){let n=t;return n?n(e):e}R();function HP(e){return d_(fv(mv([`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 UP(e){return gw(e)}function WP(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function GP(e,t){return d_(P(UP(e),t.sender))}let KP=[{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`}],qP=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],JP={name:`descriptor`,type:`tuple`,components:KP},YP=[{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:[JP,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[JP,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[JP,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[JP],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[JP],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[JP],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:KP},{name:`state`,type:`tuple`,components:qP}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:qP}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:qP}]},{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 XP(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let ZP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function QP(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function $P(e,t){return Yw(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function eF(e,t,n,r,i){let a=tC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await $P(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Pb(e,{account:t,domain:XP(r,i),types:ZP,primaryType:`Voucher`,message:n})})());if(!QP(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return iC(a)}R(),ba(),Fi();function tF(e){return typeof e==`object`&&!!e}function nF(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function rF(e){return nF(e.accessKeyAddress)}function iF(e){return rF(e)??e.address}async function aF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return Jd(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function oF(e,t){return await Nb(e,t)}function sF(e,t){let n=e.request.methodDetails,r=tF(n)?nF(n.escrowContract)??nF(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function cF(e,t,n,r){return mj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function lF(e,t){return e.toLowerCase()===t.toLowerCase()}async function uF(e,t,n,r,i,a=RP){let o=HP({...n,chainId:i,escrow:a}),s=wP(r),c=await eF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function dF(e,t,n,r,i,a=RP){let o=await uF(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function fF(e,t,n){let r=iF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=pp(32),s=wP(n.deposit),c=wP(n.initialAmount),l=await oF(e,await aF(e,{account:t,calls:[{to:i,data:ya({abi:YP,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=zw(l),d={authorizedSigner:r,expiringNonceHash:GP(WP({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=HP({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await eF(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function pF(e,t,n,r,i,a,o=RP){let s=HP({...n,chainId:i,escrow:o}),c=wP(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await oF(e,await aF(e,{account:t,calls:[{to:o,data:ya({abi:YP,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}function mF(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function hF(e){return mF({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function gF(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(hF(t),t)},delete(t){e.delete(t)}}}Hm();let _F=2n**96n-1n;function vF(e){if(e<0n||e>_F)throw new $({reason:`amount exceeds uint96 range`})}async function yF(e,t,n=RP,r){return bF(await Um(e,{address:n,abi:YP,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function bF(e){return vF(e.settled),vF(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Fi();let xF=_k(e=>typeof e==`string`&&Mi(e,{strict:!1})),SF=_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),CF=Jj(G({acceptedCumulative:U(),chainId:PO(),channelId:SF,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:xF,expiringNonceHash:SF,operator:xF,payee:xF,payer:xF,salt:SF,token:xF}),escrow:xF,requiredCumulative:U(),settled:U(),spent:U(),units:J(PO())}));function wF(e){return CF.encode(e)}function TF(e){return CF.decode(e)}let EF={status:`idle`};function DF(e){return{status:`active`,...e}}function OF(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?NF(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:jF(e.challengeId,t.snapshot),effects:[]}:NF(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:WF({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:MF(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:NF(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:qF(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?AF({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):NF(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:NF(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?NF(e,t):{state:MF(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}]}:NF(e,t);case`settled`:return e.status===`settling`?{state:MF(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:NF(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:NF(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:NF(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?NF(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`?NF(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function kF(e,t){let n=OF(e.state,t);return e.state=n.state,n}function AF(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 jF(e,t){return DF({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function MF(e,t,n,r){return DF({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function NF(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function PF(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function FF(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`);PF({cumulativeAmount:i,maxVoucherCumulative:n}),PF({cumulativeAmount:a,maxVoucherCumulative:n})}function IF(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;FF({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function LF(e,t){return typeof e==`bigint`?e:Ty(e,t)}function RF(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(zF(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 zF(e,t){PF({cumulativeAmount:e,maxVoucherCumulative:t??null})}function BF(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 VF(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function HF(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>VF({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function UF(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 WF(e){return DF({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 GF(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:EF}}function KF(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=IF({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&kF(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function qF(e,t){return DF({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function JF(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 YF(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 OF(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function XF(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 ZF(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 QF(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(FP()),e.waitForCloseReady()))(),a=BigInt(i.spent);HF({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=>UF({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(PP(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Fi();function $F(e){return`cumulativeAmount`in e}function eI(e){if($F(e))return BigInt(e.cumulativeAmount)}async function tI(e,t){t.opened?await e.store.set(t):await e.store.delete(hF(t)),e.notifyUpdate(t)}async function nI(e,t,n){let r=eI(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 tI(e,i))}let rI=_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),iI=G({account:J(_k()),action:J(nk([`open`,`topUp`,`voucher`,`close`])),channelId:J(_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(xA()),cumulativeAmountRaw:J(U()),transaction:J(rI),descriptor:J(_k()),additionalDeposit:J(xA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function aI(e){return e?.action!==void 0}function oI(e){return aI(e)&&e.descriptor!==void 0}function sI(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 Ty(i,t)}function cI(e,t,n,r){let i=sI(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function lI(e){return typeof e==`object`&&!!e}function uI(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function dI(e){let t=e.request.methodDetails;return lI(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:uI(t.escrowContract),escrow:uI(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:uI(t.operator),sessionSnapshot:mA(t,fA.sessionSnapshot)}:{}}function fI(e,t){if(typeof e==`string`&&Mi(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function pI(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function mI(e){return typeof e==`string`?e:void 0}async function hI(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=dI(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=sF(t,n),c=fI(t.request.recipient,`recipient`),l=fI(t.request.currency,`currency`);return{amount:pI(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:mF({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:mI(t.request.suggestedDeposit),token:l}}async function gI(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=yF}=e,o=HP({...r,chainId:i.chainId,escrow:i.escrow});_I({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 _I(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(!lF(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!lF(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!lF(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!lF(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function vI(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function yI(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=sI(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function bI(e,t){if(!lF(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||lF(n,t.payer)?!0:lF(iF(e),n)}function xI(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(aI(r)){if(!oI(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=vI({context:r,snapshot:o.snapshot});return!n&&s&&bI(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&bI(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 SI(e,t){switch(e.type){case`open`:return CI(e,t);case`recover`:return wI(e,t);case`voucher`:return TI(e,t);case`manual`:return EI(e,t)}}async function CI(e,t){let{account:n,resolved:r}=e,i=RF({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await fF(r.client,n,{chainId:r.chainId,deposit:i,escrow:r.escrow,feePayer:r.feePayer,initialAmount:r.amount,operator:r.operator,payee:r.payee,token:r.token});return await tI(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function wI(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await gI({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:iF(n),token:o.token}}),l=yI({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`);zF(l,a);let u=await uF(o.client,n,s,l,o.chainId,o.escrow);return await tI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function TI(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;zF(a,e.maxDeposit);let o=await uF(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await tI(t,r),o}async function EI(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=HP({...o,chainId:a.chainId,escrow:a.escrow});_I({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:iF(n),token:a.token});let c=await DI({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await nI(t,a.key,c),c}async function DI(e){switch(e.context.action){case`open`:return OI(e);case`topUp`:return kI(e);case`voucher`:return AI(e);case`close`:return jI(e)}}async function OI(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=cI(r,i,`cumulativeAmount`,`open`),c=await uF(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 kI(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=cI(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:pF(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function AI(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return uF(a.client,t,i,cI(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function jI(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return dF(a.client,t,i,cI(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function MI(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=UM({chain:_E,getClient:a,rpcUrl:qM}),u=HM({account:t}),d=o===void 0?void 0:Ty(o,r),f=n??gF(),p={store:f,notifyUpdate:e=>s?.(e)};return VM(sN,{canHandleChallenge({challenge:e}){return mA(e.request.methodDetails,fA.sessionProtocol)===pA.v2},context:iI,async createCredential({challenge:e,context:t}){let n=await hI({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=vI({context:t,snapshot:n.snapshot}),m=t?.action?t.descriptor:o?.descriptor??s?.descriptor,h=await c?.({account:a,chainId:n.chainId,operation:{kind:`authorizePaymentChannel`,...m?{authority:m.authorizedSigner}:{}}})??a;return cF(e,await SI(xI({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}})}function NI(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 PI(e){let t=NI(`close-ready`),n=NI(`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 FI={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function II(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=FI.CLOSED,r=null}if(a.type===`open`&&(i=FI.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 LI(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function RI(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=LF(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 zI(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:qF(o,n)}:i?{channel:n,state:WF({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function BI(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=LI(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:wP(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function VI(e){return e.method===uA.tempo&&e.intent===dA.session}function HI(e){return mA(e.request.methodDetails,fA.sessionSnapshot)}function UI(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...cM(r),...cM(t?.headers),[Q.authorization]:n}}}function WI(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 GI(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function KI(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 qI(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(WI(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?AP(a):void 0}async function JI(e){let t=YI({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,UI(e.input,e.init,l));return!u.ok&&!u.headers.get(Q.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function YI(e){let t=LA(e.response).find(VI);if(!t)return;let n=HI(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function XI(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=LA(n).find(VI);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await KI(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?AP(r):void 0}async function ZI(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...cM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!jP(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!jP(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return QI({challenge:c,driver:n,input:e,onReceipt:r,response:s,signal:i})}async function*QI(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=MP(t);if(n)switch(n.type){case`message`:yield n.data;break;case`payment-need-voucher`:await $I(e,n.data);break;case`payment-receipt`:e.driver.acceptReceipt(n.data),e.onReceipt?.(n.data);break}}}}finally{t.releaseLock()}}async function $I(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await BI({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await e.driver.createSessionCredential(e.challenge,r.context),a=await e.driver.fetch(e.driver.managementInput(e.input),{method:`POST`,headers:{[Q.authorization]:i}});if(!a.ok)throw Error(`Voucher POST failed with status ${a.status}`)}async function eL(e){let t=new URL(e.input.toString()),n=GI(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=LA(r).find(VI);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 tL(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:dj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:DP(t)}}function nL(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function rL(e){if(!nL(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 iL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!nL(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!UF({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function aL(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=tL({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=II(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===FI.CONNECTING||o.readyState===FI.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 sL({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 oL(o,c.emit,a),o.send(PP(n)),await e.waitForReceipt(),c.socket}function oL(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 sL(e){let t=IP(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`:cL(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 lL(e,t.data);return;case`payment-receipt`:uL(e,t.data);return}}function cL(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=rL({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 lL(e,t){try{let n=await BI({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(PP(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function uL(e,t){let n=iL({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 dL(e){return e.method===uA.tempo&&e.intent===dA.charge}function fL(e){if(!dL(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function pL(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 mL(e,t,n){if(!n)return t;let r={...cM(e instanceof Request?e.headers:void 0),...cM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function hL(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:Ty(e.maxDeposit,t),WebSocket:n}}function gL(e){let t=hL(e),n=GF(),r=PI({getSocketSession:()=>n.socketSession}),i=e.channelStore??gF(),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.created.has(e)||(o.resumed??=t)),t},async set(e){let t=hF(e);e.opened&&a.delete(e.channelId),o?.trackCreates&&!o.seenExisting.has(t)&&o.created.set(t,e),await i.set(e)},delete:e=>i.delete(e)};async function l(e){a.add(e.channelId),await Promise.resolve(i.delete(hF(e))).catch(()=>void 0)}async function u(){let e=o;if(e?.created.size){for(let[t,n]of e.created)a.add(n.channelId),await Promise.resolve(i.delete(t)).catch(()=>void 0);e.created.clear(),ne(e.previous)}}function d(e){let t=mA(e.request.methodDetails,fA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=o;if(!n?.created.size)return!1;for(let e of n.created.values())if(e.channelId.toLowerCase()===t.channelId.toLowerCase())return!0;return!1}function f(e){return kF(n,e)}let p=MI({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&&f({type:`activated`,challengeId:n.lastChallenge.id,entry:e,spent:n.spent.toString(),units:0})}}),m=$N({account:e.account,getClient:e.client?()=>e.client:e.getClient}),h=oM({fetch:t.fetch,methods:[p],onChallenge:async(e,t)=>{if(!VI(e))return;let r=o,i=r&&r.challengesReceived>0&&e.id===n.lastChallenge?.id;if(d(e)||(r?.created.size?await u():i&&ne(r.previous)),r&&r.challengesReceived++,n.lastChallenge=e,f({type:`challengeReceived`,challengeId:e.id}),n.channel?.opened&&n.lastUrl){let t=n.channel.cumulativeAmount+DP(e);await ee({challenge:e,input:n.lastUrl,channelId:n.channel.channelId,deposit:n.channel.deposit,requiredCumulative:t})}}});function g(e,t){return p.createCredential({challenge:e,context:t})}function _(e){KF({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:n})}function v(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`||f({type:`activated`,challengeId:n.lastChallenge.id,entry:n.channel,spent:n.spent.toString(),units:e})}async function y(e){let t=e.headers.get(Q.paymentSessionSnapshot);if(!t)return;let n=pL(TF(t));return await Promise.resolve(c.set(n)).catch(()=>void 0),n}async function b(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:{...cM(a),...cM(i?.headers),[Q.acceptPayment]:`${uA.tempo}/${dA.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await y(e);let n=LA(e).find(dL);if(!n||!fL(n))return;let r=await m.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...cM(u.headers),[Q.authorization]:r}});return i.ok?await y(i):void 0}catch{return}}function x(e,t){let r=n.socketSession;return JF({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 S(e){let t=x(e.challenge,e.channelId);if(t>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return C(t),t.toString()}function C(e){PF({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function w(e){let r=await qI({...e,channel:n.channel,createSessionCredential:g,fetch:t.fetch});_(r);let i=zI({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&&f({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 ee(e){e.requiredCumulative<=e.deposit||(C(e.requiredCumulative),await w({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:e.requiredCumulative-e.deposit}))}function te(e,t){let r=YF({channel:n.channel,channelId:e,challengeId:n.lastChallenge?.id,cumulativeAmount:t,spent:n.spent,state:n.state});r&&n.channel&&f({type:`activated`,challengeId:r.challengeId,entry:n.channel,spent:r.spent,units:r.units})}function ne(e){let t=ZF(e,n.channel);n.channel=t.channel,n.spent=t.spent,n.state=t.state}function re(e){let t=e.headers.get(Q.paymentReceipt),r=t?AP(t):null;return _(r),Object.assign(e,{receipt:r,challenge:n.lastChallenge,channelId:n.channel?.channelId??null,cumulative:n.channel?.cumulativeAmount??0n})}async function ie(e,r){if(o)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);n.lastUrl=e;let i=XF({channel:n.channel,spent:n.spent,state:n.state}),a={challengesReceived:0,created:new Map,previous:i,seenExisting:new Set,resumed:void 0,trackCreates:!1};o=a;let s=n.channel?.opened?n.channel.channelId:void 0;try{await b(e,r),a.trackCreates=!0;let o=mL(e,r,s),c=!i.channel?.opened;async function u(){let t=a.resumed;return!c||!t?!1:(c=!1,await l(t),o=mL(e,r,void 0),!0)}for(;;){let r;try{r=await h(e,o)}catch(e){if(ne(i),await u())continue;throw e}let a=re(r),s=!1;if(a.status===402){let r=await JI({input:e,init:o,response:a,createSessionCredential:g,fetch:t.fetch,getChannel:()=>n.channel,restoreCumulative:te,setChallenge(e){n.lastChallenge=e},topUpIfNeeded:ee});r&&(s=!0,a=re(r))}if(!s&&!a.ok&&!a.receipt){if(ne(i),await u())continue;return a}return a}}finally{o=void 0}}async function ae(e){let r=await XI({createSessionCredential:g,fetch:t.fetch,lastUrl:n.lastUrl,signedCloseAmount:S(e),setChallenge(e){n.lastChallenge=e},target:e});return r&&(v(),f({type:`closeStarted`}),f({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:ie,async topUp(e){let r=RI({amount:e,assertVoucherWithinLocalLimit:C,channel:n.channel,decimals:t.decimals,lastChallenge:n.lastChallenge,lastUrl:n.lastUrl});return w({additionalDeposit:r.additionalDeposit,challenge:r.challenge,channelId:r.channelId,input:r.input})},async sse(e,r){return ZI(e,r,{createSessionCredential:g,doFetch:ie,fetch:t.fetch,getChannel:()=>n.channel,getChallenge:()=>n.lastChallenge,assertVoucherWithinLocalLimit:C,managementInput:WI,acceptReceipt(e){_(e)},topUpIfNeeded:ee})},async ws(e,i){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let a=GI(e),o=i?.signal?{signal:i.signal}:void 0;await b(a,o);let s=n.channel?.opened?n.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await eL({createSessionCredential:g,fetch:t.fetch,input:e,onProbeUrl(e){n.lastUrl=e.toString()},probeInit:mL(a,o,s),signal:i?.signal});return n.lastChallenge=c,aL({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:i,createSessionCredential:g,getChannel:()=>n.channel,setSocketSession(e){n.socketSession=e},assertVoucherWithinLocalLimit:C,acceptReceipt:_,rejectCloseReady:r.rejectCloseReady,rejectReceipt:r.rejectReceipt,settleCloseReady:r.settleCloseReady,settleReceipt:r.settleReceipt,topUpIfNeeded:ee,waitForReceipt:r.waitForReceipt})},async close(){let e=n.socketSession,t=BF({channel:n.channel,currentSocket:e,lastChallenge:n.lastChallenge});if(!t)return;let i=e?.socket;if(e&&i?.readyState===FI.OPEN){let a=await QF({activeSocket:i,createSessionCredential:g,currentSocket:e,spent:n.spent,target:t,waitForCloseReady:r.waitForCloseReady,waitForReceipt:r.waitForReceipt});return v(),f({type:`closeStarted`}),f({type:`closed`,receipt:a}),a}return ae(t)}}}(function(e){e.serializeSnapshot=wF,e.deserializeSnapshot=TF})(gL||={});let _L=Object.assign(MI,{manager:gL}),vL=Object.assign(BP,{method:xP});function yL(e={}){return[$N(e),_L(e)]}(function(e){e.charge=$N,e.common=yL,e.session=_L,e.sessionLegacy=vL,e.subscription=AN})(yL||={});function bL(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=rM()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=KA(c,e.paymentPreferences),u=lM(),d=n,f={acceptPayment:l,acceptPaymentPolicy:a,...e.fetch&&{fetch:e.fetch},eventDispatcher:u,...t!==void 0&&{maxPaymentRetries:t},...d&&{onChallenge:d},...r&&{orderChallenges:r},methods:c,transport:o},p=oM(f);i&&sM(f);function m(e){return u.on(`challenge.received`,e)}function h(e){return u.on(`credential.created`,e)}function g(e){return u.on(`payment.failed`,e)}function _(e){return u.on(`payment.response`,e)}return{fetch:p,rawFetch:s,methods:c,transport:o,on:u.on,onChallengeReceived:m,onCredentialCreated:h,onPaymentFailed:g,onPaymentResponse:_,async createCredential(e,t,n){let i=o.getChallenges?await o.getChallenges(e):[await o.getChallenge(e)],a=AL(l.entries,n?.acceptPayment),s,d;try{let o=(await jL(YA(i,c,a),n?.orderChallenges??r))[0];if(!o)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${c.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=o.challenge;s=l,d=o.method,s.expires&&vA(s.expires,s.id);let f=xL(e=>ML(l,d,e??t)),p=await u.emit(`challenge.received`,SL({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return jM(p),await u.emit(`credential.created`,CL({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,wL({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function xL(e){let t;return n=>(t??=e(n),t)}function SL(e){return Object.freeze({challenge:DL(e.challenge),challenges:e.challenges.map(e=>DL(e)),createCredential:e.createCredential,method:TL(e.method),response:EL(e.response)})}function CL(e){return Object.freeze({challenge:DL(e.challenge),credential:e.credential,method:TL(e.method),response:EL(e.response)})}function wL(e){return Object.freeze({...e.challenge?{challenge:DL(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>DL(e))}:{},error:e.error,...e.method?{method:TL(e.method)}:{},response:EL(e.response)})}function TL(e){return kL(Object.assign({},e))}function EL(e){return e instanceof Response?e.clone():DL(e)}function DL(e){try{return OL(structuredClone(e))}catch{return kL(e)}}function OL(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))OL(t);return e}function kL(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function AL(e,t){return t?typeof t==`string`?qA(t):t:e}async function jL(e,t){return t?t(e):e}async function ML(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}R(),O();let NL={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},PL=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function FL(e){return{add:t=>WL({...t,store:e}),authorize:t=>LL({...t,store:e}),clear:()=>JL({store:e}),get:t=>HL({...t,store:e}),prepareAuthorization:t=>IL({...t,keystores:e.keystores}),getStatus:t=>BL({...t,store:e}),list:t=>uR({...t,store:e}),remove:t=>qL({...t,store:e}),select:t=>VL({...t,store:e}),updateAuthorization:t=>KL({...t,store:e})}}async function IL(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:BC({address:(()=>{switch(e){case`secp256k1`:return Kw(s);case`p256`:return Gw(s);case`webAuthn`:throw new Kx({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:BC({address:t??A_(g_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??jE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Kx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=BC({address:A_(v_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function LL(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await IL({...r,chainId:r.chainId??n,keystores:i.keystores}),o=UC(a.keyAuthorization),s=await t.sign({hash:o}),c=BC(a.keyAuthorization,{signature:tC(s)});return WL({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),qC(c)}async function RL(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=uR({account:t,chainId:r,store:a});for(let e of s)if(!cR(e.expiry,o)&&QL(e,i)&&!(n&&!XL(e,{calls:n}))&&await sR(e,a))return!0;return!1}function zL(e){return ZL(e.parameters.scopes,{calls:e.calls})}async function BL(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=uR({account:n,accessKey:t,chainId:i,store:o}).find(e=>XL(e,{calls:r}));if(c){if(cR(c.expiry,s))return NL.expired;if(c.keyAuthorization){let e=await lR(a,{accessKey:c.address,account:n,now:s}).catch(()=>NL.pending);return e===NL.published&&GL({accessKey:c.address,account:n,chainId:i,store:o}),e===NL.published?NL.published:NL.pending}return await lR(a,{accessKey:c.address,account:n,now:s})}return t?await lR(a,{accessKey:t,account:n,now:s}):NL.missing}async function VL(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=uR({account:t,chainId:r,store:i});for(let e of o){if(!XL(e,{calls:n}))continue;if(cR(e.expiry,a)){await qL({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await sR(e,i);if(t)return t}}async function HL(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=uR({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(cR(o.expiry,a)){await qL({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await sR(o,i)}}function UL(e){return xE({source:{get(t){return uR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){GL({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){KL({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function WL(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!fR(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function GL(e){let{store:t,...n}=e;dR({...n,patch:{keyAuthorization:void 0},store:t})}function KL(e){let{authorization:t,store:n,...r}=e;dR({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function qL(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!fR(e,n))}))}function JL(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function YL(e){return e instanceof D&&e.walk(e=>{let t=e.data?.errorName;return!!t&&PL.has(t)})?!0:e instanceof Error?PL.has(TE(e).errorName):!1}function XL(e,t){return ZL(e.scopes,t)}function ZL(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(!aR(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return e.recipients?e.recipients.length===0:!0;let a=nR(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 M_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function QL(e,t){return!(!$L(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!iR(e.limits,t.reuse?.minLimits))}function $L(e,t){return!t||!e?!0:t.every(t=>e.some(e=>eR(e,t)))}function eR(e,t){return!aR(e)||!aR(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!tR(e.selector,t.selector)?!1:rR(e.recipients,t.recipients)}function tR(e,t){if(!e)return!0;if(!t)return!1;let n=nR(e),r=nR(t);return!!n&&n===r}function nR(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Ry(e)).toLowerCase()}catch{return}}function rR(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function iR(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 aR(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!M_(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=>!M_(e))))}let oR=new WeakMap;async function sR(e,t){let n=UL(t);if(`keyPair`in e&&e.keyPair)return Jw(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return Kw(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return Gw(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=oR.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),oR.set(e,i));try{return await i}catch(n){oR.delete(e),AE(n)&&qL({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function cR(e,t){return typeof e==`number`&&e<t}async function lR(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await vT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?NL.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?NL.expired:NL.published}catch(e){if(YL(e))return NL.missing;throw e}}function uR(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>fR(e,n))}function dR(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!fR(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 fR(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 pR(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function mR(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 Zx({message:`Account \"${t}\" not found.`}):new $x({message:`No active account.`});return hR(s,{signable:n})}function hR(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 Zx({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return Kw(e.privateKey);case`p256`:return Gw(e.privateKey);case`webCrypto`:return Jw(e.keyPair);case`webAuthn`:return qw(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return Ww(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new Zx({message:`Unknown key type.`})}}let gR=new Map;function _R(e,t){let n=bR(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>SR(e,t),onResponse:t=>CR(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 wR(e),()=>{n.attachments.delete(r),xR(e)}}function vR(e,t){let n=bR(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}),wR(e)})}function yR(e){return new URL(e).host}function bR(e){let t=yR(e),n=gR.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:pS(),requestQueue:[],synced:!1};return gR.set(t,r),r}function xR(e){let t=bR(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function SR(e,t){if(t.length===0)return;let n=bR(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 Xx);wR(e,{force:!0})}}function CR(e,t){let n=bR(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(dS(t.error)):r.resolve(t.result),wR(e,{force:!0}))}function wR(e,t={}){let n=bR(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,xR(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:[TR(a)]}))}function TR(e){return{request:e.request,status:e.status}}R();function ER(e={}){let{dialog:t=w()?re():ne(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=_R(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=uS({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):vR(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:aA});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:[_D(Zk.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[_D(nA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[_D(rA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Bb(s)}}}})}let DR=new Map,OR=new WeakMap;function kR(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return jR(r);if(r?.url)return jR(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 DR;let e=OR.get(d);return e||(e=new Map,OR.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Gb(),r=i?AR(i,t):t;p=Sh({chain:e,transport:s?MR(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function AR(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function jR(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function MR(e,t,n){return r=>{let i=e(r),a=Gb(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=zw(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 NR=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function PR(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 FR({account:o,address:t,chainId:r,client:i,store:a})}function FR(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Jd(i,{account:t,...e,parameters:[],type:`tempo`});return await LR(i,n)}catch(e){throw RR(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Jd(i,{account:t,...e,type:`tempo`});return IR({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw RR(e,{account:t,address:n,chainId:r,store:a}),e}}}}function IR(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 RR(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 RR(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 RR(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function LR(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 RR(e,t){zR(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function zR(e){if(!(e instanceof Error))return!1;let t=TE(e);if(NR.has(t.errorName))return!0;let n=BR(e);return[...NR].some(e=>n.includes(e))}function BR(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:``,BR(r)].join(`\n`)}function VR(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(VR.cache.get(n))return VR.cache.get(n);let r=e().finally(()=>VR.cache.delete(n));return VR.cache.set(n,r),r}VR.cache=new Map;function HR(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function UR(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=HR(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let WR;function GR(){return WR||=UR(`keyval-store`,`keyval`),WR}function KR(e,t=GR()){return t(`readonly`,t=>HR(t.get(e)))}function qR(e,t,n=GR()){return n(`readwrite`,n=>(n.put(t,e),HR(n.transaction)))}function JR(e,t=GR()){return t(`readwrite`,t=>(t.delete(e),HR(t.transaction)))}let YR=Symbol.for(`accounts.storage.supportsStructuredClone`);function XR(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 ZR(e)?QR(r):r}function ZR(e){return e[YR]===!0}function QR(e){return Object.assign(e,{[YR]:!0})}function $R(e={}){let t=typeof indexedDB<`u`?UR(`tempo`,`store`):void 0;return QR(XR({async getItem(e){let n=await KR(e,t);return n===null?null:n},async setItem(e,n){await qR(e,n,t)},async removeItem(e){await JR(e,t)}},e))}function ez(e={}){let t=new Map;return QR(XR({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let tz=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 nz(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 rz=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return rz(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return rz(t)(e)}}}},iz=(e,t)=>(n,r,i)=>{let a={storage:nz(()=>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 rz(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},az=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},oz=(e=>e?az(e):az),sz=Symbol.for(`accounts.storage.supportsStructuredClone`);function cz(e){let{chainId:t,keystores:n=jE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?$R({key:`tempo`}):ez({key:`tempo`})}=e,s=oz(tz(iz(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>uz(e,t,{schema:a}),name:`store`,partialize:e=>lz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:hz(o)}),storage:o,version:0}))),c=s;return c.accessKeys=FL({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function lz(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>pz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function uz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(fz):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>hD(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:dz(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function dz(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 fz(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function pz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&mz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function mz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function hz(e){return e[sz]===!0}async function gz(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let _z=new Map;async function vz(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=_z.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 _z.set(r,a),a.then(e=>{e.length===0&&_z.delete(r)}),a}async function yz(e){let{symbol:t,...n}=e,r=await vz(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function bz(e,t){let n=hD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Qx({message:`Unsupported method \"${t?.method}\".`}):new Yx(-32602,`Invalid params: ${xz(n.error.issues)}`)}return{...t,_decoded:n.data}}function xz(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?xz([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Nf();let Sz=new Set;function Cz(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function wz(e={}){let{adapter:t=ER(),chains:n=[_E,vE,yE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?$R():ez()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Gb(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),f=cz({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>mR({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return kR(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??jE);let y=lS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,F(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:F(f.getState().chainId)}):y.emit(`disconnect`,new $x)});function b(){if(f.getState().accounts.length===0)throw new $x({message:`No accounts connected.`})}function x(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function S(e){throw new Qx({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Rb({account:e.account,chain:t.chain,transport:e.transport??Bb({request:t.request})})}async function ee(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Jd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await PR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await ee(e);return r.account.type===`json-rpc`?await Nb(t,n):await r.account.signTransaction(n)}async function ne(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await PR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from});return await ch(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...t?{feePayer:!0}:{}})}async function re(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await PR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[_D(kk,a)]});let o=await hb(i,{account:r.account,...a});return _D(wk,o)}async function ie(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:sg({raw:e.data})})}async function ae(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:hg(t)})}async function oe(e){let t=await C(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await se(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[_D(Uk.parameters,r.parameters)]});return await le({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function se(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await IL({...e,chainId:n});return{parameters:ce(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!Cz())return{parameters:e};let{key:r,keyAuthorization:i}=await IL({...e,chainId:n,keystores:l});if(!r)throw new qx({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...ce(e,i),publicKey:r.publicKey}}}function ce(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function le(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:VC(r),...o})}async function ue(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await ST(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!YL(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function de(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[_D(Kk.parameters,e)]});return}let r=e.limits.map(t=>CT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await hb(h({chainId:n}),{account:t.account,calls:r})}async function fe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function pe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function me(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function he(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function ge(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function _e(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await oe(e);S(`authorizeAccessKey`)}async function ve(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ue(e);S(`revokeAccessKey`)}async function ye(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await de(e);S(`updateAccessKey`)}function be(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function xe(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function Se(e){let{reuse:t,...n}=e;return n}function Ce(){return typeof c==`function`?c():c}async function we(e){let t=Ce();if(!t)return;let n=Te(e.capabilities);if(!(n&&await RL({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Se(t)}function Te(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function Ee(e){let t=Ce();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!zL({parameters:t,calls:e.calls}))return;let n=Se(t);await _e(n,{method:`wallet_authorizeAccessKey`,params:[_D(Uk.parameters,n)]})}let De=Object.assign(uS({...y,async request({method:t,params:r}){return await gz(f),VR(async()=>{let i;try{i=bz(sA,{method:t,params:r})}catch(e){if(!(e instanceof Qx))throw e;return await kR(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return F(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:be(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=xe(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??pR(a.accounts.find(e=>e.address.toLowerCase()===s.toLowerCase()));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await PR({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await fe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await ge({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await he({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=xe(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Ee({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await pe(l,{method:`eth_sendTransaction`,params:[_D(kk,l)]}),dp(F(f.getState().chainId),32),Ez);return{capabilities:{sync:a},id:e}}let u=await me(l,{method:`eth_sendTransactionSync`,params:[_D(kk,l)]}),p=u.transactionHash,m=F(f.getState().chainId),h=P(p,dp(m,32),Ez);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw Dz(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new $x({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Kx({message:\"`tokens` is required.\"});let s=kR(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([qT(s,{account:a,token:e}),JT(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(Ez.slice(2)))throw Error(\"`id` not supported\");op(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await kR(Number(r),{chains:n,store:f,transports:u}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=f.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new Zx({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(F(e.id))):n,o={};for(let e of a)o[F(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await we({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?jz(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Kx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Kx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await se(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:_D(qk.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!g.forwardsAuth?await Pz(o,t??f.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:p,keyAuthorization:m,personalSign:h,signature:v,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??pp(16),...l?{personalSign:l}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:be(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await le({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??h?.message,C=o&&x&&S&&v&&b?await Fz(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},...h?.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}):void 0;return{accounts:u.map(e=>({address:e.address,capabilities:e.address===b?{...m?{keyAuthorization:{...m,address:m.keyId}}:{},...v&&(!o||C||!x)?{signature:v}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...p?{identity:p}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=jz(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await _e(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new Qx({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new Qx({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=xe(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(M_(s)){let e=await JT(d,{token:s});return{address:s,decimals:e.decimals}}let e=await yz({chainId:d.chain.id,symbol:s});if(!e)throw new Yx(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ty(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[oE.call({amount:g,...y?{from:y}:{},memo:a?up(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await me(x,{method:`eth_sendTransactionSync`,params:[_D(kk,x)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new Qx({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new Qx({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new Qx({message:\"`withdrawZone` not supported by adapter.\"});return await _.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new rS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:jf({method:t,params:r})})}},{schema:aA}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:De.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return kR(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},store:f});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;Sz.has(e)||(Sz.add(e),cA({info:{icon:t.icon??Tz,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:De}))}let Oe=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Oe){let{mode:e=`push`,polyfill:t,...n}=Oe,r=t??Oz(),i=({chainId:e})=>{let t=De.getClient({chainId:e}),n=f.getState().accounts[f.getState().activeAccount];if(!n)throw new $x({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};bL({methods:[yL({...n,getClient:i,mode:e}),yL.subscription({getClient:i})],polyfill:r})}return m=De,De}let Tz=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,Ez=d_(up(`TEMPO_5792`));function Dz(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 Oz(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function kz(){return typeof document<`u`&&typeof document.cookie==`string`}function Az(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 Kx({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 jz(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:Az(e,`challenge`)}:{},...r?{verify:Az(e,`verify`)}:{},...i?{logout:Az(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return Mz(a),a}function Mz(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 Kx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Kx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let Nz=' 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 Pz(e,t){let n=typeof e==`object`?e.challenge:Az(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=Zy(i.message),o=new URL(n);if(a.version!==`1`)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${Nz}`});if(a.uri!==o.origin)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${Nz}`});if(a.chainId!==t)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function Fz(e,t){let n=typeof e==`object`?e.verify:Az(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!kz(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new qx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let Iz={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},Lz={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},Rz={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var zz=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Bz={accent:new zz(`accent`),background:new zz(`background`),border:new zz(`border`),foreground:new zz(`foreground`),muted:new zz(`muted`),negative:new zz(`negative`),positive:new zz(`positive`),surface:new zz(`surface`),fontFamily:new zz(`font-family`),fontSizeBase:new zz(`font-size-base`),radius:new zz(`radius`),spacingUnit:new zz(`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: ${Bz.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 Vz(e){let t=new URL(location.href);t.searchParams.set(Lz.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()}Nf();function Hz(e){let t=document.getElementById(Iz.data),n=Af(t.textContent),r=t.getAttribute(Rz.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(Rz.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(Rz.challengeId),o=a?(i.removeAttribute(Rz.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(Iz.error)?.remove();return}let t=document.getElementById(Iz.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=Iz.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:Vz,vars:Bz}}let Uz=Hz(`tempo`),Wz=String.raw,Gz=document.createElement(`style`);Gz.textContent=Wz`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Uz.vars.spacingUnit} * 8);\n }\n button {\n background: ${Uz.vars.accent};\n border-radius: ${Uz.vars.radius};\n color: ${Uz.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Uz.vars.spacingUnit} * 4) calc(${Uz.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`,Uz.root.append(Gz);let Kz=wz({testnet:Uz.challenge.request.methodDetails?.chainId===vE.id||Uz.challenge.request.methodDetails?.chainId===bE.id}),qz=document.createElement(`button`);qz.innerHTML=`${Uz.text.pay===`Pay`?`Continue with`:Uz.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>`,qz.onclick=async()=>{try{Uz.error(),qz.disabled=!0;let e=await(async()=>{let e=await Kz.request({method:`eth_accounts`});return e.length>0?e.at(0):(await Kz.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await yL({account:e,getClient:e=>{let t=e.chainId??Uz.challenge.request.methodDetails?.chainId;return Sh({chain:[...Kz?.chains??[],vE,bE].find(e=>e.id===t),transport:Bb(Kz)})}})[0].createCredential({challenge:Uz.challenge,context:{}});await Uz.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Uz.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{qz.disabled=!1}},Uz.root.appendChild(qz)})();</script>";
2
+ export const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let te;function ne(){return typeof window>`u`?ie():C({name:`iframe`},e=>{let{host:t}=e;if(te&&te.host===t)return te.refs.store=e.store,te.refs.fallback.destroy(),te.refs.fallback=re()(e),te.instance.syncTheme(e.theme),te.instance;te?.instance.destroy();let n={fallback:re()(e),store:e.store},r=!1,i=oe(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ae(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{ue(),ie(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let ne=!1,ie=()=>{ne&&(ne=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},se=()=>{ne||(ne=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},ce=!1,le=()=>{ce||(ce=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ue=()=>{if(ce){ce=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},de={close(){n.fallback.close(),r=!1,ue(),ie()},destroy(){te?.instance===de&&(te=void 0),n.fallback.close(),r=!1,ie(),ue(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,le(),se())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(ee()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return te={host:t,instance:de,refs:n},de})}function re(e={}){if(typeof window>`u`)return ie();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=oe(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function ie(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ae(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function oe(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var se,ce=o((()=>{se=`1.2.3`})),le,ue=o((()=>{ce(),le=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${se}`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function de(e,t){return e.exec(t)?.groups}var fe,pe,me,he=o((()=>{fe=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,pe=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,me=/^\\(.+?\\).*?$/}));function ge(e){let t=e.type;if(_e.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=ge(i),r<n-1&&(t+=`, `)}let r=de(_e,e.type);return t+=`)${r?.array||``}`,ge({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var _e,ve=o((()=>{he(),_e=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ye(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=ge(i),r!==n-1&&(t+=`, `)}return t}var be=o((()=>{ve()}));function xe(e){return e.type===`function`?`function ${e.name}(${ye(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ye(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ye(e.inputs)})`:e.type===`error`?`error ${e.name}(${ye(e.inputs)})`:e.type===`constructor`?`constructor(${ye(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Se=o((()=>{be()}));function Ce(e){return Ie.test(e)}function we(e){return de(Ie,e)}function Te(e){return Le.test(e)}function Ee(e){return de(Le,e)}function De(e){return Re.test(e)}function Oe(e){return de(Re,e)}function ke(e){return ze.test(e)}function Ae(e){return de(ze,e)}function je(e){return Be.test(e)}function Me(e){return de(Be,e)}function Ne(e){return Ve.test(e)}function Pe(e){return de(Ve,e)}function Fe(e){return He.test(e)}var Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge=o((()=>{he(),Ie=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Re=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,ze=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Be=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,He=/^receive\\(\\) external payable$/,Ue=new Set([`indexed`]),We=new Set([`calldata`,`memory`,`storage`])})),Ke,qe,Je=o((()=>{ue(),Ke=class extends le{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},qe=class extends le{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}}})),Ye,Xe,Ze,Qe,$e,et=o((()=>{ue(),Ye=class extends le{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Xe=class extends le{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Ze=class extends le{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Qe=class extends le{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},$e=class extends le{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}}})),tt,nt,rt,it=o((()=>{ue(),tt=class extends le{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},nt=class extends le{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},rt=class extends le{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}}})),at,ot=o((()=>{ue(),at=class extends le{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}}})),st,ct=o((()=>{ue(),st=class extends le{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}}}));function lt(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var ut,dt=o((()=>{ut=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]])}));function ft(e,t={}){if(De(e))return pt(e,t);if(Te(e))return mt(e,t);if(Ce(e))return ht(e,t);if(je(e))return gt(e,t);if(Ne(e))return _t(e);if(Fe(e))return{type:`receive`,stateMutability:`payable`};throw new nt({signature:e})}function pt(e,t={}){let n=Oe(e);if(!n)throw new tt({signature:e,type:`function`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:We,structs:t,type:`function`}));let o=[];if(n.returns){let e=yt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(vt(e[n],{modifiers:We,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function mt(e,t={}){let n=Ee(e);if(!n)throw new tt({signature:e,type:`event`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{modifiers:Ue,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function ht(e,t={}){let n=we(e);if(!n)throw new tt({signature:e,type:`error`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function gt(e,t={}){let n=Me(e);if(!n)throw new tt({signature:e,type:`constructor`});let r=yt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(vt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function _t(e){let t=Pe(e);if(!t)throw new tt({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function vt(e,t){let n=lt(e,t?.type,t?.structs);if(ut.has(n))return ut.get(n);let r=me.test(e),i=de(r?wt:Ct,e);if(!i)throw new Ye({param:e});if(i.name&&xt(i.name))throw new Xe({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=yt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(vt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Tt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!bt(c))throw new qe({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Ze({param:e,type:t?.type,modifier:i.modifier});if(We.has(i.modifier)&&!St(c,!!i.array))throw new Qe({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ut.set(n,u),u}function yt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?yt(o,[...t,n.trim()]):yt(o,t,`${n}${i}`,r);case`(`:return yt(o,t,`${n}${i}`,r+1);case`)`:return yt(o,t,`${n}${i}`,r-1);default:return yt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new st({current:n,depth:r});return t.push(n.trim()),t}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||fe.test(e)||pe.test(e)}function xt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||fe.test(e)||pe.test(e)||Et.test(e)}function St(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Ct,wt,Tt,Et,Dt=o((()=>{he(),Je(),et(),it(),ct(),dt(),Ge(),Ct=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Tt=/^u?int$/,Et=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/}));function Ot(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!ke(n))continue;let i=Ae(n);if(!i)throw new tt({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=vt(t,{type:`struct`});o.push(n)}if(!o.length)throw new rt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=kt(a,t)}return r}function kt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(me.test(i.type))r.push(i);else{let e=de(At,i.type);if(!e?.type)throw new $e({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new at({type:o});r.push({...i,type:`tuple${a??``}`,components:kt(t[o],t,new Set([...n,o]))})}else if(bt(o))r.push(i);else throw new Ke({type:o})}}return r}var At,jt=o((()=>{he(),Je(),et(),it(),ot(),Ge(),Dt(),At=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Mt(e){let t=Ot(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];ke(r)||n.push(ft(r,t))}return n}var Nt=o((()=>{Ge(),jt(),Dt()})),Pt=o((()=>{ue(),Se(),ve(),be(),Nt(),Je(),Ge(),jt(),Dt(),et(),it(),ct(),ot()}));function T(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Ft(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new hn(e.type);return`${e.name}(${It(e.inputs,{includeName:t})})`}function It(e,{includeName:t=!1}={}){return e?e.map(e=>Lt(e,{includeName:t})).join(t?`, `:`,`):``}function Lt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${It(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Rt=o((()=>{gn()}));function E(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var zt=o((()=>{}));function Bt(e){return E(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Vt=o((()=>{zt()})),Ht,Ut=o((()=>{Ht=`2.54.4`}));function Wt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Wt(e.cause,t):t?null:e}var Gt,D,O=o((()=>{Ut(),Gt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Ht}`},D=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Gt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Gt.version?[`Version: ${Gt.version}`]:[]].join(`\n`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Ht}walk(e){return Wt(this,e)}}})),Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn=o((()=>{Rt(),Vt(),O(),Kt=class extends D{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},qt=class extends D{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},Jt=class extends D{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${It(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:`AbiDecodingDataSizeTooSmallError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}},Yt=class extends D{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Xt=class extends D{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Zt=class extends D{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Bt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Qt=class extends D{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},$t=class extends D{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},en=class extends D{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},tn=class extends D{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},nn=class extends D{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},rn=class extends D{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},an=class extends D{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},on=class extends D{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},sn=class extends D{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},cn=class extends D{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ft(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Ft(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},ln=class extends D{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},un=class extends D{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${It(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},dn=class extends D{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Ft(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},fn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},pn=class extends D{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},mn=class extends D{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},hn=class extends D{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),_n,vn,yn,bn=o((()=>{O(),_n=class extends D{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},vn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},yn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function xn(e,{dir:t,size:n=32}={}){return typeof e==`string`?Sn(e,{dir:t,size:n}):Cn(e,{dir:t,size:n})}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new vn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Cn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new vn({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var wn=o((()=>{bn()})),Tn,En,Dn,On,kn,An,jn,Mn,Nn=o((()=>{O(),Tn=class extends D{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},En=class extends D{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Dn=class extends D{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},On=class extends D{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},kn=class extends D{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},An=class extends D{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},jn=class extends D{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},Mn=class extends D{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Pn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Fn=o((()=>{}));function In(e,{size:t}){if(Bt(e)>t)throw new Mn({givenSize:Bt(e),maxSize:t})}function k(e,t={}){let{signed:n}=t;t.size&&In(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Ln(e,t={}){let n=e;if(t.size&&(In(n,{size:t.size}),n=Pn(n)),Pn(n)===`0x00`)return!1;if(Pn(n)===`0x01`)return!0;throw new Dn(n)}function Rn(e,t={}){let n=k(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Tn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var zn=o((()=>{Nn(),Vt(),Fn()}));function Bn(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(e,t):typeof e==`string`?Un(e,t):typeof e==`boolean`?Vn(e,t):Hn(e,t)}function Vn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{size:t.size})):n}function Hn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Wn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(In(r,{size:t.size}),xn(r,{dir:`right`,size:t.size})):r}function A(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?xn(s,{size:r}):s}function Un(e,t={}){return Hn(Gn.encode(e),t)}var Wn,Gn,j=o((()=>{Nn(),wn(),zn(),Wn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Gn=new TextEncoder}));function Kn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Xn(e,t):typeof e==`boolean`?qn(e,t):E(e)?Yn(e,t):Zn(e,t)}function qn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{size:t.size})):n}function Jn(e){if(e>=$n.zero&&e<=$n.nine)return e-$n.zero;if(e>=$n.A&&e<=$n.F)return e-($n.A-10);if(e>=$n.a&&e<=$n.f)return e-($n.a-10)}function Yn(e,t={}){let n=e;t.size&&(In(n,{size:t.size}),n=xn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Jn(r.charCodeAt(t++)),i=Jn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new D(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Xn(e,t){return Yn(A(e,t))}function Zn(e,t={}){let n=Qn.encode(e);return typeof t.size==`number`?(In(n,{size:t.size}),xn(n,{dir:`right`,size:t.size})):n}var Qn,$n,er=o((()=>{O(),zt(),wn(),zn(),j(),Qn=new TextEncoder,$n={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function tr(e,t=!1){return t?{h:Number(e&ir),l:Number(e>>ar&ir)}:{h:Number(e>>ar&ir)|0,l:Number(e&ir)|0}}function nr(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=tr(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function rr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr=o((()=>{ir=BigInt(2**32-1),ar=BigInt(32),or=(e,t,n)=>e>>>n,sr=(e,t,n)=>e<<32-n|t>>>n,cr=(e,t,n)=>e>>>n|t<<32-n,lr=(e,t,n)=>e<<32-n|t>>>n,ur=(e,t,n)=>e<<64-n|t>>>n-32,dr=(e,t,n)=>e>>>n-32|t<<64-n,fr=(e,t,n)=>e<<n|t>>>32-n,pr=(e,t,n)=>t<<n|e>>>32-n,mr=(e,t,n)=>t<<n-32|e>>>64-n,hr=(e,t,n)=>e<<n-32|t>>>64-n,gr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),_r=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,vr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),yr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,br=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),xr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Cr,wr=o((()=>{Cr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Tr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Er(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Dr(e,...t){if(!Tr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Or(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Er(e.outputLen),Er(e.blockLen)}function kr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Ar(e,t){Dr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function jr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Nr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Pr(e,t){return e<<32-t|e>>>t}function Fr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ir(e){for(let t=0;t<e.length;t++)e[t]=Fr(e[t]);return e}function Lr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Rr(e){return typeof e==`string`&&(e=Lr(e)),Dr(e),e}function zr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Dr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Br(e){let t=t=>e().update(Rr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Vr(e=32){if(Cr&&typeof Cr.getRandomValues==`function`)return Cr.getRandomValues(new Uint8Array(e));if(Cr&&typeof Cr.randomBytes==`function`)return Uint8Array.from(Cr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Hr,Ur,Wr,Gr=o((()=>{wr(),Hr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Ur=Hr?e=>e:Ir,Wr=class{}}));function Kr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ai(a,o,1)^n[r],c=oi(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=ei[n],a=ai(t,i,r),o=oi(t,i,r),s=$r[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ri[r],e[1]^=ii[r]}Mr(n)}var qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui=o((()=>{Sr(),Gr(),qr=BigInt(0),Jr=BigInt(1),Yr=BigInt(2),Xr=BigInt(7),Zr=BigInt(256),Qr=BigInt(113),$r=[],ei=[],ti=[];for(let e=0,t=Jr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],$r.push(2*(5*r+n)),ei.push((e+1)*(e+2)/2%64);let i=qr;for(let e=0;e<7;e++)t=(t<<Jr^(t>>Xr)*Qr)%Zr,t&Yr&&(i^=Jr<<(Jr<<BigInt(e))-Jr);ti.push(i)}ni=nr(ti,!0),ri=ni[0],ii=ni[1],ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=(e,t,n)=>n>32?hr(e,t,n):pr(e,t,n),si=class e extends Wr{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,Er(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=jr(this.state)}clone(){return this._cloneInto()}keccak(){Ur(this.state32),Kr(this.state32,this.rounds),Ur(this.state32),this.posOut=0,this.pos=0}update(e){kr(this),e=Rr(e),Dr(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){kr(this,!1),Dr(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Er(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ar(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Mr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},ci=(e,t,n)=>Br(()=>new si(t,e,n)),li=ci(1,136,256/8)}));function di(e,t){let n=t||`hex`,r=li(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}var fi=o((()=>{ui(),zt(),er(),j()}));function pi(e){return mi(e)}var mi,hi=o((()=>{er(),fi(),mi=e=>di(Kn(e))}));function gi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new D(`Unable to normalize signature.`);return i}var _i=o((()=>{O()})),vi,yi=o((()=>{Pt(),_i(),vi=e=>gi(typeof e==`string`?e:xe(e))}));function bi(e){return pi(vi(e))}var xi=o((()=>{hi(),yi()})),Si,Ci=o((()=>{xi(),Si=bi})),wi,Ti=o((()=>{O(),wi=class extends D{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),Ei,Di=o((()=>{Ei=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Oi(e,t){if(Ai.has(`${e}.${t}`))return Ai.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=di(Zn(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Ai.set(`${e}.${t}`,a),a}function ki(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});return Oi(e,t)}var Ai,ji=o((()=>{Ti(),er(),fi(),Di(),Fi(),Ai=new Ei(8192)}));function Mi(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Pi.has(r))return Pi.get(r);let i=Ni.test(e)?e.toLowerCase()===e?!0:n?Oi(e)===e:!0:!1;return Pi.set(r,i),i}var Ni,Pi,Fi=o((()=>{Di(),ji(),Ni=/^0x[a-fA-F0-9]{40}$/,Pi=new Ei(8192)}));function Ii(e){return typeof e[0]==`string`?Ri(e):Li(e)}function Li(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ri(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var zi=o((()=>{}));function Bi(e,t,n,{strict:r}={}){return E(e,{strict:!1})?Wi(e,t,n,{strict:r}):Ui(e,t,n,{strict:r})}function Vi(e,t){if(typeof t==`number`&&t>0&&t>Bt(e)-1)throw new _n({offset:t,position:`start`,size:Bt(e)})}function Hi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Bt(e)!==n-t)throw new _n({offset:n,position:`end`,size:Bt(e)})}function Ui(e,t,n,{strict:r}={}){Vi(e,t);let i=e.slice(t,n);return r&&Hi(i,t,n),i}function Wi(e,t,n,{strict:r}={}){Vi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Hi(i,t,n),i}var Gi=o((()=>{bn(),zt(),Vt()})),Ki,qi,Ji=o((()=>{Ki=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,qi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function Yi(e,t){if(e.length!==t.length)throw new Qt({expectedLength:e.length,givenLength:t.length});return Qi(Xi({params:e,values:t}))}function Xi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Zi({param:e[r],value:t[r]}));return n}function Zi({param:e,value:t}){let n=oa(e.type);if(n){let[r,i]=n;return ea(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return aa(t,{param:e});if(e.type===`address`)return $i(t);if(e.type===`bool`)return na(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=qi.exec(e.type)??[];return ra(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ta(t,{param:e});if(e.type===`string`)return ia(t);throw new fn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Qi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Bt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(A(t+i,{size:32})),r.push(s),i+=Bt(s)):n.push(s)}return Ri([...n,...r])}function $i(e){if(!Mi(e))throw new wi({address:e});return{dynamic:!1,encoded:Sn(e.toLowerCase())}}function ea(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new mn(e);if(!r&&e.length!==t)throw new Xt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&sa(n),a=[];for(let t=0;t<e.length;t++){let r=Zi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Qi(a);if(r)return{dynamic:!0,encoded:Ri([A(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Ri(a.map(({encoded:e})=>e))}}function ta(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Bt(e);if(!n){let t=e;return r%32!=0&&(t=Sn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ri([Sn(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Zt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Sn(e,{dir:`right`})}}function na(e){if(typeof e!=`boolean`)throw new D(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Sn(Vn(e))}}function ra(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Tn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:A(e,{size:32,signed:t})}}function ia(e){let t=Un(e),n=Math.ceil(Bt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Sn(Bi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ri([Sn(A(Bt(t),{size:32})),...r])}}function aa(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Zi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Qi(r):Ri(r.map(({encoded:e})=>e))}}function oa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function sa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(sa);let n=oa(t);return n?sa({...e,type:n[1]}):!1}var ca=o((()=>{gn(),Ti(),O(),Nn(),Fi(),zi(),wn(),Vt(),Gi(),j(),Ji()})),la,ua=o((()=>{Gi(),xi(),la=e=>Bi(bi(e),0,4)}));function da(e){let{abi:t,args:n=[],name:r}=e,i=E(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?la(e)===r:e.type===`event`?Si(e)===r:!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?fa(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=pa(e.inputs,o.inputs,n);if(t)throw new cn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function fa(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Mi(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&fa(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>fa(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function pa(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return pa(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Mi(n[r],{strict:!1}))return o}}var ma=o((()=>{gn(),zt(),Fi(),Ci(),ua()}));function M(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ha=o((()=>{}));function ga(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:_a});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:_a});return{abi:[i],functionName:la(Ft(i))}}var _a,va=o((()=>{gn(),ua(),Rt(),ma(),_a=`/docs/contract/encodeFunctionData`}));function ya(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ga(e),i=n[0];return Ri([r,(`inputs`in i&&i.inputs?Yi(i.inputs,t??[]):void 0)??`0x`])}var ba=o((()=>{zi(),ca(),va()})),xa,Sa,Ca,wa=o((()=>{xa={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},Sa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Ca={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ta,Ea,Da,Oa=o((()=>{O(),Ta=class extends D{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ea=class extends D{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Da=class extends D{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function ka(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Aa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Aa,ja=o((()=>{Oa(),Aa={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ea({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ta({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ta({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function Ma(e,t={}){return t.size!==void 0&&In(e,{size:t.size}),k(Hn(e,t),t)}function Na(e,t={}){let n=e;if(t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n)),n.length>1||n[0]>1)throw new En(n);return!!n[0]}function Pa(e,t={}){return t.size!==void 0&&In(e,{size:t.size}),Rn(Hn(e,t),t)}function Fa(e,t={}){let n=e;return t.size!==void 0&&(In(n,{size:t.size}),n=Pn(n,{dir:`right`})),new TextDecoder().decode(n)}var Ia=o((()=>{Nn(),Fn(),zn(),j()}));function La(e,t){let n=typeof t==`string`?Yn(t):t,r=ka(n);if(Bt(n)===0&&e.length>0)throw new Yt;if(Bt(t)&&Bt(t)<32)throw new Jt({data:typeof t==`string`?t:Hn(t),params:e,size:Bt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=Ra(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ra(e,t,{staticPosition:n}){let r=oa(t.type);if(r){let[i,a]=r;return Ba(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Wa(e,t,{staticPosition:n});if(t.type===`address`)return za(e);if(t.type===`bool`)return Va(e);if(t.type.startsWith(`bytes`))return Ha(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ua(e,t);if(t.type===`string`)return Ga(e,{staticPosition:n});throw new pn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function za(e){return[Oi(Hn(Ui(e.readBytes(32),-20))),32]}function Ba(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Pa(e.readBytes(Ja)),i=n+qa;e.setPosition(n);let a=Pa(e.readBytes(qa)),o=Ka(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ra(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ka(t)){let i=r+Pa(e.readBytes(Ja)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ra(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Ra(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Va(e){return[Na(e.readBytes(32),{size:32}),32]}function Ha(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Pa(e.readBytes(32));e.setPosition(n+t);let r=Pa(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Hn(i),32]}return[Hn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ua(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Ma(i,{signed:n}):Pa(i,{signed:n}),32]}function Wa(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ka(t)){let o=n+Pa(e.readBytes(Ja));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ra(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Ra(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ga(e,{staticPosition:t}){let n=t+Pa(e.readBytes(32));e.setPosition(n);let r=Pa(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Fa(Pn(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Ka(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ka);let n=oa(e.type);return!!(n&&Ka({...e,type:n[1]}))}var qa,Ja,Ya=o((()=>{gn(),ji(),ja(),Vt(),Gi(),Fn(),Ia(),er(),j(),ca(),qa=32,Ja=32}));function Xa(e){let{abi:t,data:n,cause:r}=e,i=Bi(n,0,4);if(i===`0x`)throw new Yt({cause:r});let a=[...t||[],Sa,Ca].find(e=>e.type===`error`&&i===la(Ft(e)));if(!a)throw new tn(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?La(a.inputs,Bi(n,4)):void 0,errorName:a.name}}var Za=o((()=>{wa(),gn(),Gi(),ua(),Ya(),Rt()})),Qa,$a=o((()=>{Qa=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function eo({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?Qa(t[n]):t[n]}`).join(`, `)})`}var to=o((()=>{$a()})),no,ro,io=o((()=>{no={gwei:9,wei:18},ro={ether:-9,wei:9}}));function ao(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 oo=o((()=>{}));function so(e,t=`wei`){return ao(e,no[t])}var co=o((()=>{io(),oo()}));function lo(e,t=`wei`){return ao(e,ro[t])}var uo=o((()=>{io(),oo()}));function fo(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function po(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+=fo(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=fo(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var mo,ho,go=o((()=>{O(),mo=class extends D{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},ho=class extends D{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function _o(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 vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko=o((()=>{co(),uo(),O(),vo=class extends D{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},yo=class extends D{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},bo=class extends D{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,_o(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`})}},xo=class extends D{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},So=class extends D{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Co=class extends D{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},wo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=_o({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(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}},To=class extends D{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},Eo=class extends D{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},Do=class extends D{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Oo=class extends D{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));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((()=>{ha(),wa(),Za(),Rt(),to(),ma(),co(),uo(),gn(),O(),go(),ko(),Po(),Fo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=_o({from:(t?M(t):void 0)?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(c)} gwei`,nonce:l});f&&(p+=`\\n${po(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 D{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=da({abi:t,args:n,name:a}),c=s?eo({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Ft(s,{includeName:!0}):void 0,u=_o({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 D{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Xa({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=xa[e]}else{let e=n?Ft(n,{includeName:!0}):void 0,t=n&&a?eo({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof tn&&(l=a.signature,s=[`Unable to decode signature \"${l}\" as it was not found on the provided ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,name:`ContractFunctionRevertedError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=t,this.reason=c,this.signature=l}},Ro=class extends D{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},zo=class extends D{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Bo=class extends D{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Ho,Uo,Wo,Go,Ko=o((()=>{$a(),O(),Po(),Ho=class extends D{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${No(a)}`,e&&`Request body: ${Qa(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Uo=class extends D{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},Wo=class extends D{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${No(n)}`,`Request body: ${Qa(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Go=class extends D{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${No(t)}`,`Request body: ${Qa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),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,Cs=o((()=>{O(),Ko(),qo=-1,Jo=class extends D{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Wo?e.code:t??qo}},Yo=class extends Jo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Xo=class e extends Jo{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(Xo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Zo=class e extends Jo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Zo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Qo=class e extends Jo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),$o=class e extends Jo{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($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),es=class e extends Jo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),ts=class e extends Jo{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(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),ns=class e extends Jo{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(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),rs=class e extends Jo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),is=class e extends Jo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),as=class e extends Jo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),os=class e extends Jo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ss=class e extends Jo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),cs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ls=class e extends Yo{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(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),us=class e extends Yo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ds=class e extends Yo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),fs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),ps=class e extends Yo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ms=class e extends Yo{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(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),hs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),gs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),_s=class e extends Yo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),vs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),ys=class e extends Yo{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(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),bs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),xs=class e extends Yo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ss=class extends Jo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));gn(),O(),Vo(),Ko(),Cs();function ws(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Bo?e:e instanceof D?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Io(e instanceof Yt?new Ro({functionName:a,cause:e}):[3,es.code].includes(c)&&(l||u||d||f)||c===ts.code&&u===`execution reverted`&&l?new Lo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Wo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ji(),fi();function Ts(e){return Oi(`0x${di(`0x${e.substring(4)}`).substring(26)}`)}function Es(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 Ds(e,t,n){return e&t^~e&n}function Os(e,t,n){return e&t^e&n^t&n}var ks,As,js,Ms,Ns=o((()=>{Gr(),ks=class extends Wr{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Nr(this.buffer)}update(e){kr(this),e=Rr(e),Dr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Nr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){kr(this),Ar(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Mr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Es(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Nr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},As=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),js=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ms=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs=o((()=>{Ns(),Sr(),Gr(),Ps=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]),Fs=new Uint32Array(64),Is=class extends ks{constructor(e=32){super(64,e,8,!1),this.A=As[0]|0,this.B=As[1]|0,this.C=As[2]|0,this.D=As[3]|0,this.E=As[4]|0,this.F=As[5]|0,this.G=As[6]|0,this.H=As[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)Fs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Fs[e-15],n=Fs[e-2],r=Pr(t,7)^Pr(t,18)^t>>>3,i=Pr(n,17)^Pr(n,19)^n>>>10;Fs[e]=i+Fs[e-7]+r+Fs[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Pr(o,6)^Pr(o,11)^Pr(o,25),u=l+t+Ds(o,s,c)+Ps[e]+Fs[e]|0,d=(Pr(n,2)^Pr(n,13)^Pr(n,22))+Os(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Mr(Fs)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}},Ls=nr(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Rs=Ls[0],zs=Ls[1],Bs=new Uint32Array(80),Vs=new Uint32Array(80),Hs=class extends ks{constructor(e=64){super(128,e,16,!1),this.Ah=Ms[0]|0,this.Al=Ms[1]|0,this.Bh=Ms[2]|0,this.Bl=Ms[3]|0,this.Ch=Ms[4]|0,this.Cl=Ms[5]|0,this.Dh=Ms[6]|0,this.Dl=Ms[7]|0,this.Eh=Ms[8]|0,this.El=Ms[9]|0,this.Fh=Ms[10]|0,this.Fl=Ms[11]|0,this.Gh=Ms[12]|0,this.Gl=Ms[13]|0,this.Hh=Ms[14]|0,this.Hl=Ms[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)Bs[n]=e.getUint32(t),Vs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Bs[e-15]|0,n=Vs[e-15]|0,r=cr(t,n,1)^cr(t,n,8)^or(t,n,7),i=lr(t,n,1)^lr(t,n,8)^sr(t,n,7),a=Bs[e-2]|0,o=Vs[e-2]|0,s=cr(a,o,19)^ur(a,o,61)^or(a,o,6),c=lr(a,o,19)^dr(a,o,61)^sr(a,o,6),l=vr(i,c,Vs[e-7],Vs[e-16]),u=yr(l,r,s,Bs[e-7],Bs[e-16]);Bs[e]=u|0,Vs[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),v=lr(u,d,14)^lr(u,d,18)^dr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=br(_,v,b,zs[e],Vs[e]),S=xr(x,g,t,y,Rs[e],Bs[e]),C=x|0,w=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=lr(n,r,28)^dr(n,r,34)^dr(n,r,39),te=n&i^n&o^i&o,ne=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=rr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let re=gr(C,ee,ne);n=_r(re,S,w,te),r=re|0}({h:n,l:r}=rr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=rr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=rr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=rr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=rr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=rr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=rr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=rr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Mr(Bs,Vs)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Us=class extends Hs{constructor(){super(48),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}},Ws=Br(()=>new Is),Gs=Br(()=>new Hs),Ks=Br(()=>new Us)})),Js,Ys,Xs=o((()=>{Gr(),Js=class extends Wr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Or(e);let n=Rr(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),Mr(i)}update(e){return kr(this),this.iHash.update(e),this}digestInto(e){kr(this),Dr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ys=(e,t,n)=>new Js(e,t).update(n).digest(),Ys.create=(e,t)=>new Js(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Zs(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Qs(e){if(!Zs(e))throw Error(`Uint8Array expected`)}function $s(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function ec(e){let t=e.toString(16);return t.length&1?`0`+t:t}function tc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?yc:BigInt(`0x`+e)}function nc(e){if(Qs(e),xc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Sc[e[n]];return t}function rc(e){if(e>=Cc._0&&e<=Cc._9)return e-Cc._0;if(e>=Cc.A&&e<=Cc.F)return e-(Cc.A-10);if(e>=Cc.a&&e<=Cc.f)return e-(Cc.a-10)}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(xc)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=rc(e.charCodeAt(i)),a=rc(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 ac(e){return tc(nc(e))}function oc(e){return Qs(e),tc(nc(Uint8Array.from(e).reverse()))}function sc(e,t){return ic(e.toString(16).padStart(t*2,`0`))}function cc(e,t){return sc(e,t).reverse()}function lc(e,t,n){let r;if(typeof t==`string`)try{r=ic(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Zs(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 uc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Qs(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 dc(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 fc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function pc(e,t,n){return wc(e)&&wc(t)&&wc(n)&&t<=e&&e<n}function mc(e,t,n,r){if(!pc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function hc(e){let t;for(t=0;e>yc;e>>=bc,t+=1);return t}function gc(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=Ec(e),i=Ec(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ec(0))=>{i=s(Dc([0]),e),r=s(),e.length!==0&&(i=s(Dc([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 uc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function _c(e,t,n={}){let r=(t,n,r)=>{let i=Oc[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 vc(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 yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc=o((()=>{yc=BigInt(0),bc=BigInt(1),xc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Sc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Cc={_0:48,_9:57,A:65,F:70,a:97,f:102},wc=e=>typeof e==`bigint`&&yc<=e,Tc=e=>(bc<<BigInt(e))-bc,Ec=e=>new Uint8Array(e),Dc=e=>Uint8Array.from(e),Oc={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`||Zs(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 Ac(e,t){let n=e%t;return n>=Kc?n:t+n}function jc(e,t,n){let r=e;for(;t-->Kc;)r*=r,r%=n;return r}function Mc(e,t){if(e===Kc)throw Error(`invert: expected non-zero number`);if(t<=Kc)throw Error(`invert: expected positive modulus, got `+t);let n=Ac(e,t),r=t,i=Kc,a=qc,o=qc,s=Kc;for(;n!==Kc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==qc)throw Error(`invert: does not exist`);return Ac(i,t)}function Nc(e,t){let n=(e.ORDER+qc)/Xc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Pc(e,t){let n=(e.ORDER-Zc)/Qc,r=e.mul(t,Jc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Jc),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 Fc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-qc,n=0;for(;t%Jc===Kc;)t/=Jc,n++;let r=Jc,i=Hc(e);for(;Bc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Nc;let a=i.pow(r,t),o=(t+qc)/Jc;return function(e,r){if(e.is0(r))return r;if(Bc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=qc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function Ic(e){return e%Xc===Yc?Nc:e%Qc===Zc?Pc:Fc(e)}function Lc(e){return _c(e,$c.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Rc(e,t,n){if(n<Kc)throw Error(`invalid exponent, negatives unsupported`);if(n===Kc)return e.ONE;if(n===qc)return t;let r=e.ONE,i=t;for(;n>Kc;)n&qc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=qc;return r}function zc(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 Bc(e,t){let n=(e.ORDER-qc)/Jc,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 Vc(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 Hc(e,t,n=!1,r={}){if(e<=Kc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Vc(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:Tc(i),ZERO:Kc,ONE:qc,create:t=>Ac(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Kc<=t&&t<e},is0:e=>e===Kc,isOdd:e=>(e&qc)===qc,neg:t=>Ac(-t,e),eql:(e,t)=>e===t,sqr:t=>Ac(t*t,e),add:(t,n)=>Ac(t+n,e),sub:(t,n)=>Ac(t-n,e),mul:(t,n)=>Ac(t*n,e),pow:(e,t)=>Rc(s,e,t),div:(t,n)=>Ac(t*Mc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Mc(t,e),sqrt:r.sqrt||(t=>(o||=Ic(e),o(s,t))),toBytes:e=>n?cc(e,a):sc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?oc(e):ac(e)},invertBatch:e=>zc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Uc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Wc(e){let t=Uc(e);return t+Math.ceil(t/2)}function Gc(e,t,n=!1){let r=e.length,i=Uc(t),a=Wc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Ac(n?oc(e):ac(e),t-qc)+qc;return n?cc(o,i):sc(o,i)}var Kc,qc,Jc,Yc,Xc,Zc,Qc,$c,el=o((()=>{Gr(),kc(),Kc=BigInt(0),qc=BigInt(1),Jc=BigInt(2),Yc=BigInt(3),Xc=BigInt(4),Zc=BigInt(5),Qc=BigInt(8),$c=[`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 tl(e,t){let n=t.negate();return e?n:t}function nl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function rl(e,t){nl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Tc(e),maxNumber:i,shiftBy:BigInt(e)}}function il(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+=fl);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 al(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 ol(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 sl(e){return ml.get(e)||1}function cl(e,t){return{constTimeNegate:tl,hasPrecomputes(e){return sl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>dl;)n&fl&&(r=r.add(i)),i=i.double(),n>>=fl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=rl(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=rl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=il(i,e,s);i=t,c?o=o.add(tl(u,r[d])):a=a.add(tl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=rl(n,t);for(let e=0;e<o.windows&&i!==dl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=il(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=pl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&pl.set(t,n(r))),r},wNAFCached(e,t,n){let r=sl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=sl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){nl(n,t),ml.set(e,n),pl.delete(e)}}}function ll(e,t,n,r){al(n,e),ol(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=hc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Tc(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 ul(e){return Lc(e.Fp),_c(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Vc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var dl,fl,pl,ml,hl=o((()=>{el(),kc(),dl=BigInt(0),fl=BigInt(1),pl=new WeakMap,ml=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction gl(e){e.lowS!==void 0&&$s(`lowS`,e.lowS),e.prehash!==void 0&&$s(`prehash`,e.prehash)}function _l(e){let t=ul(e);_c(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 vl(e,t){return nc(sc(e,t))}function yl(e){let t=_l(e),{Fp:n}=t,r=Hc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return uc(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,kl),Al),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 pc(e,Dl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Zs(e)&&(e=nc(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:ac(lc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Ac(o,a)),mc(`private key`,o,Dl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=vc((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=vc(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=zc(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(lc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return ll(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,kl),{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,kl),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;mc(`scalar`,e,El,i);let a=h.ZERO;if(e===El)return a;if(this.is0()||e===Dl)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>El||l>El;)s&Dl&&(u=u.add(f)),l&Dl&&(d=d.add(f)),f=f.double(),s>>=Dl,l>>=Dl;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;mc(`scalar`,e,Dl,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===El||t===Dl||!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===Dl)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===Dl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return $s(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return $s(`isCompressed`,e),nc(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=cl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function bl(e){let t=ul(e);return _c(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function xl(e){let t=bl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Ac(e,r)}function l(e){return Mc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=yl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=uc;return $s(`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=ac(i);if(!pc(e,Dl,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&Dl)===Dl;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>>Dl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>ac(e.slice(t,n));class _{constructor(e,t,n){mc(`r`,e,Dl,r),mc(`s`,t,Dl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=lc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Tl.toSig(lc(`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(lc(`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+vl(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 ic(this.toDERHex())}toDERHex(){return Tl.hexFromSig(this)}toCompactRawBytes(){return ic(this.toCompactHex())}toCompactHex(){let e=i;return vl(this.r,e)+vl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Wc(t.n);return Gc(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=lc(`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=ac(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Tc(a);function ee(e){return mc(`num < 2^`+a,e,El,w),sc(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=lc(`msgHash`,e),gl(i),f&&(e=lc(`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(lc(`extraEntropy`,e))}let x=uc(...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===El)return;let a=c(n*c(w+i*y));if(a===El)return;let o=(r.x===i?0:2)|Number(r.y&Dl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:te}}let ne={lowS:t.lowS,prehash:!1},re={lowS:t.lowS,prehash:!1};function ie(e,n,r=ne){let{seed:i,k2sig:a}=te(e,n,r),o=t;return gc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ae(e,n,r,i=re){let a=e;n=lc(`msgHash`,n),r=lc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(gl(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`||Zs(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 Tl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ie,verify:ae,ProjectivePoint:u,Signature:_,utils:v}}function Sl(e,t){let n=e.ORDER,r=El;for(let e=n-Dl;e%Ol===El;e/=Ol)r+=Dl;let i=r,a=Ol<<i-Dl-Dl,o=a*Ol,s=(n-Dl)/o,c=(s-Dl)/Ol,l=o-Dl,u=a,d=e.pow(t,s),f=e.pow(t,(s+Dl)/Ol),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>Dl;t--){let n=t-Ol;n=Ol<<n-Dl;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%Al===kl){let n=(e.ORDER-kl)/Al,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 Cl(e,t){if(Lc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Sl(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=zc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var wl,Tl,El,Dl,Ol,kl,Al,jl=o((()=>{hl(),el(),kc(),wl=class extends Error{constructor(e=``){super(e)}},Tl={Err:wl,_tlv:{encode:(e,t)=>{let{Err:n}=Tl;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=ec(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?ec(i.length/2|128):``;return ec(e)+a+i+t},decode(e,t){let{Err:n}=Tl,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}=Tl;if(e<El)throw new t(`integer: negative integers are not allowed`);let n=ec(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}=Tl;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 ac(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Tl,i=lc(`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}=Tl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},El=BigInt(0),Dl=BigInt(1),Ol=BigInt(2),kl=BigInt(3),Al=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ml(e){return{hash:e,hmac:(t,...n)=>Ys(e,t,zr(...n)),randomBytes:Vr}}function Nl(e,t){let n=t=>xl({...e,...Ml(t)});return{...n(t),create:n}}var Pl=o((()=>{Xs(),Gr(),jl()}));function Fl(e,t){if(Ll(e),Ll(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 Il(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 Ll(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Rl(e,t,n,r){Qs(e),Qs(t),Ll(n),t.length>255&&(t=r(uc(fc(`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=uc(t,Fl(t.length,1)),c=Fl(0,a),l=Fl(n,2),u=Array(o),d=r(uc(c,e,l,Fl(0,1),s));u[0]=r(uc(d,Fl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(uc(Il(d,u[e-1]),Fl(e+1,1),s));return uc(...u).slice(0,n)}function zl(e,t,n,r,i){if(Qs(e),Qs(t),Ll(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(fc(`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(Fl(n,2)).update(t).update(Fl(t.length,1)).digest()}function Bl(e,t,n){_c(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;Qs(e),Ll(t);let l=typeof c==`string`?fc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Rl(e,l,f,o);else if(s===`xof`)p=zl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a),o=p.subarray(i,i+d);t[n]=Ac(Ul(o),r)}m[e]=t}return m}function Vl(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]=zc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Hl(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=Bl(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(Bl(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 Ul,Wl=o((()=>{el(),kc(),Ul=ac})),Gl=c({encodeToCurve:()=>xu,hashToCurve:()=>bu,schnorr:()=>gu,secp256k1:()=>su,secp256k1_hasher:()=>yu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Kl(e){let t=eu,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=jc(jc(jc(u,n,t)*u%t,n,t)*u%t,iu,t)*l%t,f=jc(d,i,t)*d%t,p=jc(f,a,t)*f%t,m=jc(p,s,t)*p%t,h=jc(jc(jc(jc(jc(jc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,iu,t);if(!ou.eql(ou.sqr(h),e))throw Error(`Cannot find square root`);return h}function ql(e,...t){let n=cu[e];if(n===void 0){let t=Ws(Uint8Array.from(e,e=>e.charCodeAt(0)));n=uc(t,t),cu[e]=n}return Ws(uc(n,...t))}function Jl(e){let t=su.utils.normPrivateKeyToScalar(e),n=pu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:fu(-t),bytes:lu(n)}}function Yl(e){mc(`x`,e,ru,eu);let t=du(e*e),n=Kl(du(t*e+BigInt(7)));n%iu!==nu&&(n=du(-n));let r=new pu(e,n,ru);return r.assertValidity(),r}function Xl(...e){return fu(hu(ql(`BIP0340/challenge`,...e)))}function Zl(e){return Jl(e).bytes}function Ql(e,t,n=Vr(32)){let r=lc(`message`,e),{bytes:i,scalar:a}=Jl(t),o=lc(`auxRand`,n,32),s=ql(`BIP0340/nonce`,uu(a^hu(ql(`BIP0340/aux`,o))),i,r),c=fu(hu(s));if(c===nu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Jl(c),d=Xl(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(uu(fu(u+d*a)),32),!$l(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function $l(e,t,n){let r=lc(`signature`,e,64),i=lc(`message`,t),a=lc(`publicKey`,n,32);try{let e=Yl(hu(a)),t=hu(r.subarray(0,32));if(!pc(t,ru,eu))return!1;let n=hu(r.subarray(32,64));if(!pc(n,ru,tu))return!1;let o=Xl(uu(t),lu(e),i),s=mu(e,n,fu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su=o((()=>{qs(),Gr(),Pl(),Wl(),el(),kc(),jl(),eu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),tu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),nu=BigInt(0),ru=BigInt(1),iu=BigInt(2),au=(e,t)=>(e+t/iu)/t,ou=Hc(eu,void 0,void 0,{sqrt:Kl}),su=Nl({a:nu,b:BigInt(7),Fp:ou,n:tu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=tu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ru*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=au(a*e,t),c=au(-r*e,t),l=Ac(e-s*n-c*i,t),u=Ac(-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}}}},Ws),cu={},lu=e=>e.toRawBytes(!0).slice(1),uu=e=>sc(e,32),du=e=>Ac(e,eu),fu=e=>Ac(e,tu),pu=su.ProjectivePoint,mu=(e,t,n)=>pu.BASE.multiplyAndAddUnsafe(e,t,n),hu=ac,gu={getPublicKey:Zl,sign:Ql,verify:$l,utils:{randomPrivateKey:su.utils.randomPrivateKey,lift_x:Yl,pointToBytes:lu,numberToBytesBE:sc,bytesToNumberBE:ac,taggedHash:ql,mod:Ac}},_u=Vl(ou,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),vu=Cl(ou,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:ou.create(BigInt(`-11`))}),yu=Hl(su.ProjectivePoint,e=>{let{x:t,y:n}=vu(ou.create(e[0]));return _u(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:ou.ORDER,m:1,k:128,expand:`xmd`,hash:Ws}),bu=yu.hashToCurve,xu=yu.encodeToCurve}));zt(),Vt(),zn(),j();async function Cu({hash:e,signature:t}){let n=E(e)?e:Bn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Su(),Gl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=wu(Number(a??i));return new r.Signature(k(e),k(n)).addRecoveryBit(o)}let e=E(t)?t:Bn(t);if(Bt(e)!==65)throw Error(`invalid signature length`);let n=wu(Rn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function wu(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 Tu({hash:e,signature:t}){return Ts(await Cu({hash:e,signature:t}))}O(),ja(),er(),j();function Eu(e,t=`hex`){let n=Du(e),r=ka(new Uint8Array(n.length));return n.encode(r),t===`hex`?Hn(r.bytes):r.bytes}function Du(e){return Array.isArray(e)?Ou(e.map(e=>Du(e))):ku(e)}function Ou(e){let t=e.reduce((e,t)=>e+t.length,0),n=Au(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 ku(e){let t=typeof e==`string`?Yn(e):e,n=Au(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 Au(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new D(`Length is too large.`)}zi(),er(),j(),fi();function ju(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=di(Ri([`0x05`,Eu([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Yn(a):a}async function Mu(e){let{authorization:t,signature:n}=e;return Tu({hash:ju(t),signature:n??t})}co(),uo(),O(),ko();var Nu=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=_o({from:t?.address,to:u,value:d!==void 0&&`${so(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${lo(o)} gwei`,maxFeePerGas:s!==void 0&&`${lo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${lo(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}},Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku=o((()=>{uo(),O(),Pu=class extends D{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Pu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Pu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Fu=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${lo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Fu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Iu=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${lo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Iu,\"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/}),Lu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Ru=class extends D{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),zu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Bu=class extends D{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Vu=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Hu=class extends D{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Uu=class extends D{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Wu=class extends D{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${lo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${lo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Gu=class extends D{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function qu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof D?e.walk(e=>e?.code===Pu.code):e;return r instanceof D?new Pu({cause:e,message:r.details}):Pu.nodeMessage.test(n)?new Pu({cause:e,message:e.details}):Fu.nodeMessage.test(n)?new Fu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Iu.nodeMessage.test(n)?new Iu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Lu.nodeMessage.test(n)?new Lu({cause:e,nonce:t?.nonce}):Ru.nodeMessage.test(n)?new Ru({cause:e,nonce:t?.nonce}):zu.nodeMessage.test(n)?new zu({cause:e,nonce:t?.nonce}):Bu.nodeMessage.test(n)?new Bu({cause:e}):Vu.nodeMessage.test(n)?new Vu({cause:e,gas:t?.gas}):Hu.nodeMessage.test(n)?new Hu({cause:e,gas:t?.gas}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Gu({cause:e})}var Ju=o((()=>{O(),Ku()}));Ku(),Ju();function Yu(e,{docsPath:t,...n}){return new Nu((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}function Xu(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 Zu=o((()=>{}));function Qu(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 $u=o((()=>{}));function ed(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=td(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Hn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=A(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=A(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=A(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=A(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=A(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=A(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=nd[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function td(e){return e.map(e=>({address:e.address,r:e.r?A(BigInt(e.r)):e.r,s:e.s?A(BigInt(e.s)):e.s,chainId:A(e.chainId),nonce:A(e.nonce),...e.yParity===void 0?{}:{yParity:A(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:A(e.v)}:{}}))}var nd,rd,id=o((()=>{j(),$u(),nd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},rd=Qu(`transactionRequest`,ed)}));function ad(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new yn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new yn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function od(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=A(t)),n!==void 0&&(o.nonce=A(n)),r!==void 0&&(o.state=ad(r)),i!==void 0){if(o.state)throw new ho;o.stateDiff=ad(i)}return o}function sd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Mi(n,{strict:!1}))throw new wi({address:n});if(t[n])throw new mo({address:n});t[n]=od(r)}return t}var cd=o((()=>{Ti(),bn(),go(),Fi(),j()})),ld,ud=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)),ld=2n**256n-1n}));function dd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?M(t):void 0;if(a&&!Mi(a.address))throw new wi({address:a.address});if(i&&!Mi(i))throw new wi({address:i});if(n&&n>ld)throw new Fu({maxFeePerGas:n});if(r&&n&&r>n)throw new Wu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var fd=o((()=>{ha(),ud(),Ti(),Ku(),Fi()}));uo(),O();var pd=class extends D{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},md=class extends D{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},hd=class extends D{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${lo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};O();var gd=class extends D{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};zn(),$u();let _d={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function vd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Rn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?_d[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=bd(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 yd=Qu(`transaction`,vd);function bd(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 xd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:vd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}j();async function Sd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:A(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new gd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||xd)(s,`getBlock`)}async function Cd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}zn();async function wd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await T(e,Sd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?k(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):T(e,Sd,`getBlock`)({}),T(e,Cd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new md;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Td(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 pd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await T(e,Sd,`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 md;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await wd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await T(e,Cd,`getGasPrice`)({}))}}function Ed(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new D(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var Dd=o((()=>{O(),j()}));Dd(),zn();async function Od(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ed({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Rn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}er(),j();function kd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Hn(e))}er(),j();function Ad(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Yn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Hn(e))}qs();let jd=Ws;zt(),er(),j();function Md(e,t){let n=t||`hex`,r=jd(E(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:Bn(r)}j();function Nd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Md(t,`bytes`);return i.set([n],0),r===`bytes`?i:Hn(i)}function Pd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Nd({commitment:e,to:r,version:n}));return i}O();var Fd=class extends D{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Id=class extends D{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Ld=class extends D{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Rd=class extends D{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ja(),Vt(),er(),j();function zd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Yn(e.data):e.data,r=Bt(n);if(!r)throw new Id;if(r>761855)throw new Fd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=ka(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Hn(e.bytes))}function Bd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??zd({data:t,to:r}),a=e.commitments??kd({blobs:i,kzg:n,to:r}),o=e.proofs??Ad({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 Vd(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 bo({transaction:e})}Ku(),ko(),Ju();function Hd(e,{docsPath:t,...n}){return new wo((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}zn();async function Ud(e){return Rn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ha(),Zu(),id(),fd();async function Wd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=M(n),r=a?a.id:await T(e,Ud,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();dd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||ed)({...Xu(y,{format:x}),account:n?M(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||vd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await T(e,Sd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new pd;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 Hd(n,{...t,chain:e.chain})}}ha(),Di(),fd();let Gd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Kd=new Map,qd=new Ei(128);async function Jd(e,t){let n=t;n.account??=e.account,n.parameters??=Gd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await T(e,Ud,`getChainId`)({}),c):n.chainId)}let u=r&&M(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}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||qd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await T(e,Wd,`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 qd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`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`)})&&qd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await T(e,Sd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await T(e,Od,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=kd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Pd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Bd({blobs:p,commitments:e,proofs:Ad({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=Vd(n)}catch{let t=Kd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Kd.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 Td(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new hd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new md;if(n.gasPrice===void 0){let{gasPrice:t}=await Td(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await T(e,Yd,`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`})),dd(n),delete n.parameters,n}ha(),O(),j(),Zu(),id(),cd(),fd();async function Yd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?M(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Mu({authorization:t.authorizationList[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Jd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,C=sd(b);dd(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||ed)({...Xu(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 Yu(n,{...t,account:i,chain:e.chain})}}ha(),ba();async function Xd(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=ya({abi:n,args:i,functionName:a});try{return await T(e,Yd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?M(s.account):void 0)?.address})}}function Zd(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});if(!Mi(t,{strict:!1}))throw new wi({address:t});return e.toLowerCase()===t.toLowerCase()}var Qd=o((()=>{Ti(),Fi()}));function $d(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}gn(),Oa(),Vt(),Ci(),Ya(),Rt();let ef=`/docs/contract/decodeEventLog`;function tf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new nn({docsPath:ef});let c=t.find(e=>e.type===`event`&&o===Si(Ft(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new rn(o,{docsPath:ef});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new dn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=nf({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=La(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof Jt||e instanceof Ea?new un({abiItem:c,data:n,params:g,size:Bt(n)}):e}else if(a)throw new un({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function nf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(La([e],t)||[])[0]}Qd(),er(),fi(),Ci();function rf(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:Si(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?$d(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=tf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=tf({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)||!af({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function af(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`?Zd(t,n):e.type===`string`||e.type===`bytes`?di(Kn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}function of(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:sf});a=e}if(a.type!==`function`)throw new an(void 0,{docsPath:sf});if(!a.outputs)throw new on(a.name,{docsPath:sf});let o=La(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var sf,cf=o((()=>{gn(),Ya(),ma(),sf=`/docs/contract/decodeFunctionResult`})),lf,uf=o((()=>{lf=`0.1.1`}));function df(){return lf}var ff=o((()=>{uf()}));function pf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?pf(e.cause,t):t?null:e}var N,mf=o((()=>{ff(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return pf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${df()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function hf(e,t){if(Uf(e)>t)throw new np({givenSize:Uf(e),maxSize:t})}function gf(e,t){if(typeof t==`number`&&t>0&&t>Uf(e)-1)throw new rp({offset:t,position:`start`,size:Uf(e)})}function _f(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Uf(e)!==n-t)throw new rp({offset:n,position:`end`,size:Uf(e)})}function vf(e){if(e>=xf.zero&&e<=xf.nine)return e-xf.zero;if(e>=xf.A&&e<=xf.F)return e-(xf.A-10);if(e>=xf.a&&e<=xf.f)return e-(xf.a-10)}function yf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new ip({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 bf(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 xf,Sf=o((()=>{ap(),xf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Cf(e,t){if(mp(e)>t)throw new Ep({givenSize:mp(e),maxSize:t})}function wf(e,t){if(typeof t==`number`&&t>0&&t>mp(e)-1)throw new Dp({offset:t,position:`start`,size:mp(e)})}function Tf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&mp(e)!==n-t)throw new Dp({offset:n,position:`end`,size:mp(e)})}function Ef(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 Op({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Df(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 Of=o((()=>{R()}));function kf(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=>kf(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)}:${kf(r)}`),t},[]).join(`,`)}}`}function Af(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Mf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function jf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Mf:n,n)}var Mf,Nf=o((()=>{Mf=`#__bigint`}));function Pf(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 tp(e)}function Ff(...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 If(e){return e instanceof Uint8Array?e:typeof e==`string`?Rf(e):Lf(e)}function Lf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Rf(e,t={}){let{size:n}=t,r=e;n&&(Cf(e,n),r=fp(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=vf(i.charCodeAt(t++)),r=vf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function zf(e,t={}){let{size:n}=t,r=$f.encode(e);return typeof n==`number`?(hf(r,n),Vf(r,n)):r}function Bf(e,t){return dc(e,t)}function Vf(e,t){return yf(e,{dir:`right`,size:t})}function Hf(e){return crypto.getRandomValues(new Uint8Array(e))}function Uf(e){return e.length}function Wf(e,t,n,r={}){let{strict:i}=r;gf(e,t);let a=e.slice(t,n);return i&&_f(a,t,n),a}function Gf(e,t={}){let{size:n}=t;return n!==void 0&&hf(e,n),L(lp(e,t),t)}function Kf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(hf(r,n),r=Yf(r)),r.length>1||r[0]>1)throw new ep(r);return!!r[0]}function qf(e,t={}){let{size:n}=t;return n!==void 0&&hf(e,n),_p(lp(e,t),t)}function Jf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(hf(r,n),r=Xf(r)),Qf.decode(r)}function Yf(e){return bf(e,{dir:`left`})}function Xf(e){return bf(e,{dir:`right`})}function Zf(e){try{return Pf(e),!0}catch{return!1}}var Qf,$f,ep,tp,np,rp,ip,ap=o((()=>{kc(),mf(),R(),Sf(),Of(),Nf(),Qf=new TextDecoder,$f=new TextEncoder,ep=class extends N{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},tp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?jf(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`})}},np=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},rp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},ip=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function op(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Cp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new wp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function sp(e){return e instanceof Uint8Array?lp(e):Array.isArray(e)?lp(new Uint8Array(e)):e}function cp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Cf(n,t.size),dp(n,t.size)):n}function lp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=xp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Cf(r,t.size),fp(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 Sp({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?dp(s,r):s}function up(e,t={}){return lp(bp.encode(e),t)}function dp(e,t){return Ef(e,{dir:`left`,size:t})}function fp(e,t){return Ef(e,{dir:`right`,size:t})}function pp(e){return lp(Hf(e))}function I(e,t,n,r={}){let{strict:i}=r;wf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Tf(a,t,n),a}function mp(e){return Math.ceil((e.length-2)/2)}function hp(e){return Df(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&Cf(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 gp(e,t={}){return Rf(e,t)}function _p(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function vp(e,t={}){let{size:n}=t,r=Rf(e);return n&&(hf(r,n),r=Xf(r)),new TextDecoder().decode(r)}function yp(e,t={}){let{strict:n=!1}=t;try{return op(e,{strict:n}),!0}catch{return!1}}var bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op,R=o((()=>{ap(),mf(),Sf(),Of(),Nf(),bp=new TextEncoder,xp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Sp=class extends N{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Cp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?jf(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`})}},wp=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Tp=class extends N{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Ep=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Dp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Op=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function kp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Ap=o((()=>{R()}));function jp(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(kp)}}}var Mp=o((()=>{R(),Ap()})),Np,Pp,Fp,Ip,Lp,Rp,zp=o((()=>{Np=[{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`}],Pp=[{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`}]}],Fp=[{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`}],[...Fp],[...Fp],Ip=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Lp=[{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`}],Rp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Bp=o((()=>{})),Vp,Hp,Up,Wp,Gp=o((()=>{Vp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Hp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Up=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Wp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Kp,qp,Jp,Yp,Xp,Zp=o((()=>{O(),Kp=class extends D{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},qp=class extends D{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},Jp=class extends D{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Yp=class extends D{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Xp=class extends D{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Qp(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Kt({docsPath:$p});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new qt({docsPath:$p});return Ri([r,Yi(i.inputs,n)])}var $p,em=o((()=>{gn(),zi(),ca(),$p=`/docs/contract/encodeDeployData`}));function tm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Kp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Kp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var nm=o((()=>{Zp()}));function rm(e,{docsPath:t,...n}){return new Fo((()=>{let t=qu(e,n);return t instanceof Gu?e:t})(),{docsPath:t,...n})}var im=o((()=>{Vo(),Ku(),Ju()}));function am(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var om=o((()=>{}));function sm({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=()=>cm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>cm.get(t)||[],l=e=>cm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=am();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 cm,lm=o((()=>{om(),cm=new Map})),um,dm,fm,pm=o((()=>{$a(),O(),Po(),um=class extends D{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${No(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},dm=class extends D{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${No(t)}`,`Response: ${Qa(e)}`],name:`OffchainLookupResponseMalformedError`})}},fm=class extends D{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function mm(e){let{abi:t,data:n}=e,r=Bi(n,0,4),i=t.find(e=>e.type===`function`&&r===la(Ft(e)));if(!i)throw new sn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?La(i.inputs,Bi(n,4)):void 0}}var hm=o((()=>{gn(),Gi(),ua(),Ya(),Rt()}));function gm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=da({abi:t,args:r,name:n});if(!e)throw new en(n,{docsPath:_m});i=e}if(i.type!==`error`)throw new en(void 0,{docsPath:_m});let a=la(Ft(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new $t(i.name,{docsPath:_m});o=Yi(i.inputs,r)}return Ri([a,o])}var _m,vm=o((()=>{gn(),zi(),ua(),ca(),Rt(),ma(),_m=`/docs/contract/encodeErrorResult`}));function ym(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=da({abi:t,name:n});if(!e)throw new an(n,{docsPath:bm});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:bm});if(!i.outputs)throw new on(i.name,{docsPath:bm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new mn(r)})();return Yi(i.outputs,a)}var bm,xm=o((()=>{gn(),ca(),ma(),bm=`/docs/contract/encodeFunctionResult`}));async function Sm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=mm({abi:Pp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Sm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Cm(e)}})),ym({abi:Pp,functionName:`query`,result:[i,a]})}function Cm(e){return e.name===`HttpRequestError`&&e.status?gm({abi:Pp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):gm({abi:[Sa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var wm=o((()=>{zp(),wa(),hm(),vm(),xm()})),Tm=c({ccipRequest:()=>Dm,offchainLookup:()=>Em,offchainLookupAbiItem:()=>km,offchainLookupSignature:()=>Om});async function Em(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Xa({data:r,abi:[km]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Dm;try{if(!Zd(a,s))throw new fm({sender:s,to:a});let{data:r}=await jm(e,{blockNumber:t,blockTag:n,data:Ii([u,Yi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Sm({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 um({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Dm({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?Qa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!E(a)){i=new dm({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 Om,km,Am=o((()=>{Hm(),pm(),Ko(),Po(),Za(),ca(),Qd(),zi(),zt(),wm(),$a(),Om=`0x556f1830`,km={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 jm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:ee,...te}=t,ne=n?M(n):void 0;if(f&&(m||h))throw new D(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new D(\"Cannot provide both `code` & `to` as parameters.\");let re=f&&p,ie=m&&h&&C&&p,ae=re||ie,oe=re?Lm({code:f,data:p}):ie?Rm({data:p,factory:m,factoryData:h,to:C}):p;try{dd(t);let n=Ed({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?jp(d):void 0,p=sd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||ed)({...Xu(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:oe,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ae?void 0:C,value:w},`call`);if(i&&Mm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Fm(e,{blockNumber:o,deployless:t});if(!n||!Im(p,n))return await Pm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Yp)&&!(e instanceof Kp))throw e}let re=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ie=await e.request({method:`eth_call`,params:re},S);return ie===`0x`?{data:void 0}:{data:ie}}catch(n){if(S?.signal?.aborted)throw Ao(S.signal);if(jo(n))throw n;let r=zm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Am(),Tm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ae&&r?.slice(0,10)===`0x101bb98d`?new zo({factory:m}):rm(n,{...t,account:ne,chain:e.chain})}}function Mm({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 Nm(e){if(!e)return`default`;let t=Vm.get(e);if(t!==void 0)return t;let n=Bm++;return Vm.set(e,n),n}async function Pm(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?Fm(e,{blockNumber:o,deployless:r}):u,h=Ed({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=sm({id:`${e.uid}.${g}.${Nm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=ya({abi:Np,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Lm({code:Wp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return of({abi:Np,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 Fm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return tm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Yp}function Im(e,t){return e?Object.keys(e).some(e=>Zd(e,t)):!1}function Lm(e){let{code:t,data:n}=e;return Qp({abi:Mt([`constructor(bytes, bytes)`]),bytecode:Vp,args:[t,n]})}function Rm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Qp({abi:Mt([`constructor(address, bytes, address, bytes)`]),bytecode:Hp,args:[i,t,n,r]})}function zm(e){if(!(e instanceof D))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Bm,Vm,Hm=o((()=>{Pt(),Mp(),ha(),zp(),Bp(),Gp(),O(),Zp(),Vo(),Po(),cf(),em(),ba(),Qd(),Dd(),nm(),im(),Zu(),id(),lm(),cd(),fd(),Bm=0,Vm=new WeakMap}));cf(),ba(),Hm();async function Um(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=ya({abi:n,args:i,functionName:a});try{let{data:t}=await T(e,jm,`call`)({...o,data:s,to:r});return of({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ha(),cf(),ba(),Hm();async function Wm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?M(s.account):e.account,l=ya({abi:n,args:i,functionName:a});try{let{data:u}=await T(e,jm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:of({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw ws(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Gm=new Map,Km=new Map,qm=0;function Jm(e,t,n){let r=++qm,i=()=>Gm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Gm.delete(e),Km.delete(e);return}Gm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Km.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Gm.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`&&Km.set(e,l),o}Po();async function Ym(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 Xm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Ym(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Ym(r),s())};s()})(),a}let Zm=new Map,Qm=new Map;function $m(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,Zm),r=t(e,Qm);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function eh(e,{cacheKey:t,cacheTime:n=1/0}){let r=$m(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 th=e=>`blockNumber.${e}`;async function nh(e,{cacheTime:t=e.cacheTime}={}){let n=await eh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:th(e.uid),cacheTime:t});return BigInt(n)}O();var rh=class extends D{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},ih=class extends D{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Zp();function ah({chain:e,currentChainId:t}){if(!e)throw new Jp;if(t!==e.id)throw new qp({chain:e,currentChainId:t})}async function oh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ha(),O(),zi(),Zu(),id(),Di(),fd();let sh=new Ei(128);async function ch(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 rh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?M(n):null,b;try{dd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Mu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await T(e,Ud,`getChainId`)({}),r&&ah({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||ed)({...Xu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=sh.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=>(sh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(sh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,Ud,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await T(e,Jd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Gd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await T(e,oh,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new ih({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ih({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof ih?e:(b&&y?.nonceManager?.reset(b),Hd(e,{...t,account:y,chain:t.chain||void 0}))}}ha(),ba();async function z(e,t){return z.internal(e,ch,`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 rh({docsPath:`/docs/contract/writeContract`});let u=a?M(a):null,d=ya({abi:i,args:s,functionName:c});try{return await T(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw ws(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),O();var lh=class extends D{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Po();function uh(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 Ym(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()})}zn(),$u();let dh={\"0x0\":`reverted`,\"0x1\":`success`};function fh(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=>$d(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Rn(e.transactionIndex):null,status:e.status?dh[e.status]:null,type:e.type?_d[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let ph=Qu(`transactionReceipt`,fh);ha(),O(),Cs(),ba(),zi(),zn(),j();let mh=A(0,{size:32});async function hh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?M(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?ya({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Ii([n,t.dataSuffix]):n,to:t.to,value:t.value?A(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:A(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new ms(new D(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new bs(new D(e,{details:e}))}let t=[];for(let n of d){try{let i=await ch(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?k(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Ii([...t.map(e=>e.status===`fulfilled`?e.value:mh),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Hd(n,{...t,account:l,chain:t.chain})}}Gi(),Fn(),zn();async function gh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Pn(Wi(t,-64,-32)),r=Wi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>mh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Rn(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Rn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:k(e.blockNumber),gasUsed:k(e.gasUsed),status:dh[e.status]}))??[],statusCode:l,status:c,version:o}}O(),om(),$a();async function _h(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Qa([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=am(),p,m=Jm(l,{resolve:d,reject:f},t=>{let s=Xm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await uh(async()=>{let t=await T(e,gh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new lh(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 vh({id:n}))},s):void 0,await u}var vh=class extends D{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let yh=256,bh;function xh(e=11){if(!bh||yh+e>256*2){bh=``,yh=0;for(let e=0;e<256;e++)bh+=(256+Math.random()*256|0).toString(16).substring(1)}return bh.substring(yh,yh+++e)}ha();function Sh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?M(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:xh(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Ch(i)&&Ch(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Ch(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function wh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length>=2?i(e,t):i.length===0?i():i(t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Dd();async function Th(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Ed({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}ud(),Ti(),O(),Zp(),Ku(),Fi(),Vt(),Gi(),zn();function Eh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Mi(n))throw new wi({address:n});if(t<0)throw new Xp({chainId:t})}Oh(e)}function Dh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Id;for(let e of t){let t=Bt(e),n=Rn(Bi(e,0,1));if(t!==32)throw new Ld({hash:e,size:t});if(n!==1)throw new Rd({hash:e,version:n})}}Oh(e)}function Oh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Xp({chainId:t});if(i&&!Mi(i))throw new wi({address:i});if(r&&r>ld)throw new Fu({maxFeePerGas:r});if(n&&r&&n>r)throw new Wu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function kh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Xp({chainId:t});if(a&&!Mi(a))throw new wi({address:a});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>ld)throw new Fu({maxFeePerGas:r})}function Ah(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Mi(a))throw new wi({address:a});if(t!==void 0&&t<=0)throw new Xp({chainId:t});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>ld)throw new Fu({maxFeePerGas:r})}Ti(),ko(),Fi();function jh(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 Co({storageKey:i[e]});if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push([r,i])}return t}ko(),zi(),Fn(),j();function Mh(e,t){let n=Vd(e);return n===`eip1559`?Fh(e,t):n===`eip2930`?Ih(e,t):n===`eip4844`?Ph(e,t):n===`eip7702`?Nh(e,t):Lh(e,t)}function Nh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Eh(e);let f=jh(u),p=zh(n);return Ri([`0x04`,Eu([A(r),a?A(a):`0x`,l?A(l):`0x`,c?A(c):`0x`,i?A(i):`0x`,o??`0x`,s?A(s):`0x`,d??`0x`,f,p,...Rh(e,t)])])}function Ph(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Dh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Hn(e)),n=e.kzg,r=kd({blobs:t,kzg:n});f===void 0&&(f=Pd({commitments:r})),p===void 0&&(p=Bd({blobs:t,commitments:r,proofs:Ad({blobs:t,commitments:r,kzg:n})}))}let m=jh(u),h=[A(n),i?A(i):`0x`,l?A(l):`0x`,c?A(c):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,d??`0x`,m,s?A(s):`0x`,f??[],...Rh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ri([`0x03`,Eu(p?[h,g,_,v]:h)])}function Fh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Oh(e);let d=jh(l);return Ri([`0x02`,Eu([A(n),i?A(i):`0x`,c?A(c):`0x`,s?A(s):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,u??`0x`,d,...Rh(e,t)])])}function Ih(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;kh(e);let u=jh(c);return Ri([`0x01`,Eu([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`,u,...Rh(e,t)])])}function Lh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Ah(e);let l=[a?A(a):`0x`,c?A(c):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new vo({v:t.v});return e})(),r=Pn(t.r),i=Pn(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Eu(l)}function Rh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Pn(n.r),o=Pn(n.s);return[typeof i==`number`?i?A(1):`0x`:r===0n?`0x`:r===1n?A(1):r===27n?`0x`:A(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}j();function zh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?Bn(e):`0x`,a,r?Bn(r):`0x`,...Rh({},i)])}return t}ji(),Qd();async function Bh({address:e,authorization:t,signature:n}){return Zd(ki(e),await Mu({authorization:t,signature:n}))}Di();let Vh=new Ei(8192);function Hh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Vh.get(n))return Vh.get(n);let r=e().finally(()=>Vh.delete(n));return Vh.set(n,r),r}O(),Ko(),Cs(),Po(),$a();function Uh(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 as(Error(`method not supported`),{method:u});if(c?.aborted)throw Ao(c);return Hh(()=>uh(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 Xo.code:throw new Xo(t);case Zo.code:throw new Zo(t);case Qo.code:throw new Qo(t,{method:n.method});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);case as.code:throw new as(t,{method:n.method});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 bs.code:throw new bs(t);case 5e3:throw new cs(t);case xs.code:throw new xs(t);default:throw e instanceof D?e:new Ss(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})=>Wh(e)}),{enabled:i,id:i?Gh(`${l}.${Qa(n)}`):void 0})}}function Wh(e){return jo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===os.code||e.code===es.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 Gh(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 Kh(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 qh(){return{}}O(),Nn(),ja(),er(),j();let Jh=1024;function Yh(e,t=`hex`){let n=ka((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new On(e);return Yn(e)}return e})(),{recursiveReadLimit:1/0}),r=Xh(n,t);if(n.position<n.bytes.length)throw new jn({count:n.bytes.length-n.position});return r}function Xh(e,t=`hex`,n=0){if(n>=Jh)throw new kn({limit:Jh});if(e.bytes.length===0)return t===`hex`?Hn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=Zh(e,r,128),i=e.readBytes(n);return t===`hex`?Hn(i):i}return Qh(e,Zh(e,r,192),t,n+1)}function Zh(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new D(`Invalid RLP prefix`)}function Qh(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(Xh(e,n,r));if(e.position-i!==t)throw new An({consumed:e.position-i,declared:t});return a}zt(),Vt();function $h(e){return E(e)&&Bt(e)===32}Po();function eg(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 tg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let ng=tg();Ko(),Po(),$a();function rg(e,t={}){let{url:n,headers:r}=ag(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await eg(async({signal:e})=>{let t={...u,body:Qa(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??ng.take(),...e})):{jsonrpc:`2.0`,id:i.id??ng.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Go({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await ig(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Ho({body:i,details:Qa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Ao(p):jo(e)||e instanceof Ho||e instanceof Uo||e instanceof Go?e:new Ho({body:i,cause:e,url:n})}}}}async function ig(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Uo({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Uo({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Uo({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function ag(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}zi(),Vt(),j();function og(e){let t=typeof e==`string`?Un(e):typeof e.raw==`string`?e.raw:Hn(e.raw);return Ii([Un(`\u0019Ethereum Signed Message:\n${Bt(t)}`),t])}fi();function sg(e,t){return di(og(e),t)}$a(),O();var cg=class extends D{constructor({domain:e}){super(`Invalid domain \"${Qa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},lg=class extends D{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},ug=class extends D{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};gn(),Ti(),Fi(),Vt(),j(),Ji(),$a();function dg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return Qa({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function fg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(qi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Mi(o))throw new wi({address:o});let c=r.match(Ki);if(c){let[e,t]=c;if(t&&Bt(o)!==Number.parseInt(t,10))throw new ln({expectedSize:Number.parseInt(t,10),givenSize:Bt(o)})}let l=i[r];l&&(mg(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new cg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new lg({primaryType:r,types:i})}function pg({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 mg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new ug({type:e})}ca(),zi(),j(),fi();function hg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:pg({domain:t}),...e.types};fg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(gg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(_g({data:n,primaryType:r,types:i})),di(Ii(a))}function gg({domain:e,types:t}){return _g({data:e,primaryType:`EIP712Domain`,types:t})}function _g({data:e,primaryType:t,types:n}){return di(vg({data:e,primaryType:t,types:n}))}function vg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[yg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Sg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Yi(r,i)}function yg({primaryType:e,types:t}){return di(Bn(bg({primaryType:e,types:t})))}function bg({primaryType:e,types:t}){let n=``,r=xg({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 xg({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])xg({primaryType:e.type,types:t},n);return n}function Sg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},di(vg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},di(r)];if(n===`string`)return[{type:`bytes32`},di(Bn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Sg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},di(Yi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Cg=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 wg(e,t){return e.exec(t)?.groups}let Tg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Eg=/^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)?$/,Dg=/^\\(.+?\\).*?$/,Og=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function kg(e){let t=e.type;if(Og.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+=kg(i),r<n-1&&(t+=`, `)}let r=wg(Og,e.type);return t+=`)${r?.array||``}`,kg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Ag(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=kg(i),r!==n-1&&(t+=`, `)}return t}function jg(e){return e.type===`function`?`function ${e.name}(${Ag(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Ag(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Ag(e.inputs)})`:e.type===`error`?`error ${e.name}(${Ag(e.inputs)})`:e.type===`constructor`?`constructor(${Ag(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Mg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Ng(e){return Mg.test(e)}function Pg(e){return wg(Mg,e)}let Fg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Ig=new Set([`calldata`,`memory`,`storage`]);var Lg=class extends Cg{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`})}},Rg=class extends Cg{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`})}},zg=class extends Cg{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`})}},Bg=class extends Cg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Vg=class extends Cg{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`})}},Hg=class extends Cg{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`})}},Ug=class extends Cg{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`})}},Wg=class extends Cg{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`})}},Gg=class extends Cg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Kg=class extends Cg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},qg=class extends Cg{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`})}},Jg=class extends Cg{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 Yg(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 Xg=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}]]),Zg=/^(?<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$_]*))?$/,Qg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,$g=/^u?int$/;function e_(e,t){let n=Yg(e,t?.type,t?.structs);if(Xg.has(n))return Xg.get(n);let r=Dg.test(e),i=wg(r?Qg:Zg,e);if(!i)throw new Bg({param:e});if(i.name&&i_(i.name))throw new Vg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=t_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(e_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if($g.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!n_(c))throw new Rg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Hg({param:e,type:t?.type,modifier:i.modifier});if(Ig.has(i.modifier)&&!a_(c,!!i.array))throw new Ug({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Xg.set(n,u),u}function t_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?t_(o,[...t,n.trim()]):t_(o,t,`${n}${i}`,r);case`(`:return t_(o,t,`${n}${i}`,r+1);case`)`:return t_(o,t,`${n}${i}`,r-1);default:return t_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Jg({current:n,depth:r});return t.push(n.trim()),t}function n_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Tg.test(e)||Eg.test(e)}let r_=/^(?: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 i_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Tg.test(e)||Eg.test(e)||r_.test(e)}function a_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function o_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Ng(n))continue;let i=Pg(n);if(!i)throw new Gg({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=e_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Kg({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]=c_(a,t)}return r}let s_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function c_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Dg.test(i.type))r.push(i);else{let e=wg(s_,i.type);if(!e?.type)throw new Wg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new qg({type:o});r.push({...i,type:`tuple${a??``}`,components:c_(t[o],t,new Set([...n,o]))})}else if(n_(o))r.push(i);else throw new Lg({type:o})}}return r}function l_(e){let t=[];if(typeof e==`string`){let n=t_(e),r=n.length;for(let e=0;e<r;e++)t.push(e_(n[e],{modifiers:Fg}))}else{let n=o_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Ng(r))continue;let a=t_(r),o=a.length;for(let e=0;e<o;e++)t.push(e_(a[e],{modifiers:Fg,structs:n}))}}if(t.length===0)throw new zg({params:e});return t}let u_={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;Xs(),ui(),ap(),R();function d_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=li(If(e));return n===`Bytes`?r:lp(r)}function f_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Ys(jd,If(e),If(t));return r===`Bytes`?i:lp(i)}function p_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=jd(If(e));return n===`Bytes`?r:lp(r)}function m_(e){return yp(e)&&mp(e)===32}ap(),mf(),R(),Nf();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 S_({prefix:r,cause:new w_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new S_({prefix:r,cause:new C_});return}throw new x_({publicKey:e})}function g_(e){let t=(()=>{if(yp(e))return v_(e);if(Zf(e))return __(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 __(e){return v_(lp(e))}function v_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new T_({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 y_(e,t={}){return Rf(b_(e,t))}function b_(e,t={}){h_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?F(n,{size:1}):`0x`,F(r,{size:32}),typeof i==`bigint`?F(i,{size:32}):`0x`)}var x_=class extends N{constructor({publicKey:e}){super(`Value \\`${jf(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`})}},S_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},C_=class extends N{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},w_=class extends N{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},T_=class extends N{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${mp(sp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};ap(),mf();let E_=/^0x[a-fA-F0-9]{40}$/;function D_(e,t={}){let{strict:n=!0}=t;if(!E_.test(e))throw new N_({address:e,cause:new P_});if(n){if(e.toLowerCase()===e)return;if(O_(e)!==e)throw new N_({address:e,cause:new F_})}}function O_(e){if(u_.has(e))return u_.get(e);D_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=d_(zf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return u_.set(e,i),i}function k_(e,t={}){let{checksum:n=!1}=t;return D_(e),n?O_(e):e}function A_(e,t={}){return k_(`0x${d_(`0x${b_(e).slice(4)}`).substring(26)}`,t)}function j_(e,t){return D_(e,{strict:!1}),D_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function M_(e,t={}){let{strict:n=!0}=t??{};try{return D_(e,{strict:n}),!0}catch{return!1}}var N_=class extends N{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},P_=class extends N{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},F_=class extends N{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let I_=/^(.*)\\[([0-9]*)\\]$/,L_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,R_=/^(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 z_=2n**256n-1n;ap(),mf(),R();function B_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=iv(t.type);if(a){let[n,o]=a;return H_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return K_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return V_(e,{checksum:r});if(t.type===`bool`)return U_(e);if(t.type.startsWith(`bytes`))return W_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return G_(e,t);if(t.type===`string`)return q_(e,{staticPosition:i});throw new xv(t.type)}function V_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?O_(e):e)(lp(Wf(e.readBytes(32),-20))),32]}function H_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+qf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=qf(e.readBytes(32)),s=av(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=B_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(av(t)){let n=a+qf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=B_(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]=B_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function U_(e){return[Kf(e.readBytes(32),{size:32}),32]}function W_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=qf(e.readBytes(32));e.setPosition(n+t);let r=qf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[lp(i),32]}return[lp(e.readBytes(Number.parseInt(i,10),32)),32]}function G_(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?Gf(i,{signed:n}):qf(i,{signed:n}),32]}function K_(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(av(t)){let n=i+qf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=B_(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]=B_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function q_(e,{staticPosition:t}){let n=t+qf(e.readBytes(32));e.setPosition(n);let r=qf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Jf(Yf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function J_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Y_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Y_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=iv(r.type);if(i){let[t,a]=i;return Q_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return rv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return Z_(n,{checksum:e});if(r.type===`bool`)return ev(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=R_.exec(r.type)??[];return tv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return $_(n,{type:r.type});if(r.type===`string`)return nv(n);throw new xv(r.type)}function X_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=mp(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+=mp(s)):n.push(s)}return P(...n,...r)}function Z_(e,t){let{checksum:n=!1}=t;return D_(e,{strict:n}),{dynamic:!1,encoded:dp(e.toLowerCase())}}function Q_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new bv(e);if(!a&&e.length!==r)throw new _v({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=Y_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=X_(s);if(a){let t=F(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?P(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:P(...s.map(({encoded:e})=>e))}}function $_(e,{type:t}){let[,n]=t.split(`bytes`),r=mp(e);if(!n){let t=e;return r%32!=0&&(t=fp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(dp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new vv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:fp(e)}}function ev(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:dp(cp(e))}}function tv(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 Sp({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 nv(e){let t=up(e),n=Math.ceil(mp(t)/32),r=[];for(let e=0;e<n;e++)r.push(fp(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(fp(F(mp(t),{size:32})),...r)}}function rv(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=Y_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?X_(a):P(...a.map(({encoded:e})=>e))}}function iv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function av(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(av);let n=iv(e.type);return!!(n&&av({...e,type:n[1]}))}mf();let ov={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 uv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new lv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new cv({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 cv({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 sv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ov);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var cv=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},lv=class extends N{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},uv=class extends N{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};ap(),mf(),R();function dv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Rf(t):t,o=sv(a);if(Uf(a)===0&&e.length>0)throw new gv;if(Uf(a)&&Uf(a)<32)throw new hv({data:typeof t==`string`?t:lp(t),parameters:e,size:Uf(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]=B_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function fv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new yv({expectedLength:e.length,givenLength:t.length});let i=X_(J_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function pv(e,t){if(e.length!==t.length)throw new yv({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(pv.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return D_(e),dp(e.toLowerCase(),r?32:0)}if(e===`string`)return up(n);if(e===`bytes`)return n;if(e===`bool`)return dp(cp(n),r?32:1);let i=e.match(R_);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(L_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new vv({expectedSize:Number.parseInt(t,10),value:n});return fp(n,r?32:0)}let o=e.match(I_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new xv(e)}e.encode=t})(pv||={});function mv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?l_(e):e}var hv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ag(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},gv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},_v=class extends N{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},vv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${mp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},yv=class extends N{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},bv=class extends N{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},xv=class extends N{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};ap(),mf(),R();function Sv(e){return Cv(e,`Hex`)}function Cv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return wv(sv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Tp(e);return Rf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function wv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?lp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Tv(e,n,128),i=e.readBytes(r);return t===`Hex`?lp(i):i}return Ev(e,Tv(e,n,192),t)}function Tv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N(`Invalid RLP prefix`)}function Ev(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(wv(e,n));return i}function Dv(e,t){let{as:n}=t,r=kv(e),i=sv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?lp(i.bytes):i.bytes}function Ov(e,t={}){let{as:n=`Hex`}=t;return Dv(e,{as:n})}function kv(e){return Array.isArray(e)?Av(e.map(e=>kv(e))):jv(e)}function Av(e){let t=e.reduce((e,t)=>e+t.length,0),n=Mv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function jv(e){let t=typeof e==`string`?Rf(e):e,n=Mv(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 Mv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new N(`Length is too large.`)}mf(),R(),Nf();function Nv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new qv({signature:e});if(e.r<0n||e.r>z_)throw new Jv({value:e.r});if(e.s<0n||e.s>z_)throw new Yv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Xv({value:e.yParity})}function Pv(e){return Fv(lp(e))}function Fv(e){if(e.length!==130&&e.length!==132)throw new Kv({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 Wv(t)}catch{throw new Xv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Iv(e){if(e.r!==void 0&&e.s!==void 0)return Lv(e)}function Lv(e){let t=typeof e==`string`?Fv(e):e instanceof Uint8Array?Pv(e):typeof e.r==`string`?zv(e):e.v?Rv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Nv(t),t}function Rv(e){return{r:e.r,s:e.s,yParity:Wv(e.v)}}function zv(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=Wv(t)),typeof n!=`number`)throw new Xv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Bv(e){let[t,n,r]=e;return Lv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Vv(e){Nv(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(Gv(e.yParity),{size:1}):`0x`)}function Hv(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 Uv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:hp(F(t)),n===0n?`0x`:hp(F(n))]}function Wv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Zv({value:e})}function Gv(e){if(e===0)return 27;if(e===1)return 28;throw new Xv({value:e})}var Kv=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${mp(sp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},qv=class extends N{constructor({signature:e}){super(`Signature \\`${jf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Jv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Yv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},Xv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},Zv=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};R();function Qv(e,t={}){return typeof e.chainId==`string`?$v(e):{...e,...t.signature}}function $v(e){let{address:t,chainId:n,nonce:r}=e,i=Iv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ey(e){return e.map($v)}function ty(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Hv(i)}}function ny(e){return e.map(ty)}Su(),ap(),R();function ry(e){let{privateKey:t}=e;return g_(su.ProjectivePoint.fromPrivateKey(sp(t).slice(2)))}function iy(e){return A_(ay(e))}function ay(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return g_(new su.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(sp(t).substring(2)))}function oy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=su.sign(If(r),If(i),{extraEntropy:typeof t==`boolean`?t:sp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function sy(e){let{hash:t,payload:n}=e;return e.address?j_(e.address,iy({payload:n,signature:e.signature})):su.verify(e.signature,If(n),y_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}mf(),R();let cy=mv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function ly(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new fy(e)}else Nv(e.authorization)}function uy(e){ly(e);let t=_p(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=dv(cy,n);return{authorization:Qv({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 dy(e){try{return ly(e),!0}catch{return!1}}var fy=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};ko(),Gi(),zn();function py(e){let t=Wi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Rn(t)>=192)return`legacy`;throw new xo({serializedType:t})}Ti(),ko(),Fi(),zt(),wn(),Fn(),zn();function my(e){let t=py(e);return t===`eip1559`?_y(e):t===`eip2930`?vy(e):t===`eip4844`?gy(e):t===`eip7702`?hy(e):yy(e)}function hy(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new So({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Rn(n),type:`eip7702`};return E(s)&&s!==`0x`&&(h.to=s),E(o)&&o!==`0x`&&(h.gas=k(o)),E(l)&&l!==`0x`&&(h.data=l),E(r)&&(h.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(h.value=k(c)),E(a)&&a!==`0x`&&(h.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(h.accessList=xy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Sy(d)),Eh(h),{...t.length===13?Cy(t):void 0,...h}}function gy(e){let t=by(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new So({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Rn(a),to:u,type:`eip4844`};return E(l)&&l!==`0x`&&(S.gas=k(l)),E(f)&&f!==`0x`&&(S.data=f),E(o)&&(S.nonce=o===`0x`?0:Rn(o)),E(d)&&d!==`0x`&&(S.value=k(d)),E(m)&&m!==`0x`&&(S.maxFeePerBlobGas=k(m)),E(c)&&c!==`0x`&&(S.maxFeePerGas=k(c)),E(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=k(s)),p.length!==0&&p!==`0x`&&(S.accessList=xy(p)),y&&b&&x&&(S.sidecars=Bd({blobs:y,commitments:b,proofs:x})),Dh(S),{...r.length===14?Cy(r):void 0,...S}}function _y(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new So({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Rn(n),type:`eip1559`};return E(s)&&s!==`0x`&&(m.to=s),E(o)&&o!==`0x`&&(m.gas=k(o)),E(l)&&l!==`0x`&&(m.data=l),E(r)&&(m.nonce=r===`0x`?0:Rn(r)),E(c)&&c!==`0x`&&(m.value=k(c)),E(a)&&a!==`0x`&&(m.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(m.accessList=xy(u)),Oh(m),{...t.length===12?Cy(t):void 0,...m}}function vy(e){let t=by(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new So({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Rn(n),type:`eip2930`};return E(o)&&o!==`0x`&&(p.to=o),E(a)&&a!==`0x`&&(p.gas=k(a)),E(c)&&c!==`0x`&&(p.data=c),E(r)&&(p.nonce=r===`0x`?0:Rn(r)),E(s)&&s!==`0x`&&(p.value=k(s)),E(i)&&i!==`0x`&&(p.gasPrice=k(i)),l.length!==0&&l!==`0x`&&(p.accessList=xy(l)),kh(p),{...t.length===11?Cy(t):void 0,...p}}function yy(e){let t=Yh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new So({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(E(a)&&a!==`0x`&&(d.to=a),E(i)&&i!==`0x`&&(d.gas=k(i)),E(s)&&s!==`0x`&&(d.data=s),E(n)&&(d.nonce=n===`0x`?0:Rn(n)),E(o)&&o!==`0x`&&(d.value=k(o)),E(r)&&r!==`0x`&&(d.gasPrice=k(r)),Ah(d),t.length===6)return d;let f=E(c)&&c!==`0x`?k(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new vo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function by(e){return Yh(`0x${e.slice(4)}`,`hex`)}function xy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push({address:r,storageKeys:i.map(e=>$h(e)?e:Pn(e))})}return t}function Sy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Rn(r),nonce:a===`0x`?0:Rn(a),...Cy([o,s,c])})}return t}function Cy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:k(t[0]);if(n!==0n&&n!==1n)throw new yo({yParity:n});let r=n===0n?27n:28n;return{r:Sn(t[1],{size:32}),s:Sn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}O();var wy=class extends D{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function Ty(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new wy({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}`)}ko(),j();async function Ey(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:A(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,A(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,A(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,A(s)]},{dedupe:!0})),!u)throw new To({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||vd)(u,`getTransaction`)}ko();async function Dy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Eo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||fh)(n,`getTransactionReceipt`)}zp(),Gp(),gn(),O(),Vo(),cf(),ba(),nm();async function Oy(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 tm({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=ya({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=ws(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=>T(e,Um,`readContract`)({...m===null?{code:Wp}:{address:m},abi:Np,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 Yt;if(!a)throw new Bo({data:r});let e=of({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=ws(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 D(`multicall results mismatch`);return y}mf();function ky(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new N(`Unable to normalize signature.`);return i}function Ay(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return M_(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)=>Ay(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=>Ay(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function jy(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 jy(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`))&&M_(n[r],{strict:!1}))return o}}mf(),R();function My(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=yp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ny(e)===I(t,0,4):e.type===`event`?Fy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new Ly({name:t});if(o.length===1)return{...o[0],...i?{hash:Fy(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:Fy(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?Ay(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=jy(e.inputs,s.inputs,r);if(t)throw new Iy({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 Ly({name:t});return{...c,...i?{hash:Fy(c)}:{}}}function Ny(...e){return I(Fy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})()),0,4)}function Py(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})();return ky(typeof t==`string`?t:jg(t))}function Fy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return My(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:d_(up(Py(t)))}var Iy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${ky(jg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${ky(jg(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`})}},Ly=class extends N{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Ry(e){return Ny(e)}mf(),R();function zy(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Hy(e)}function By(e){let{data:t,signature:n,to:r}=e;return P(fv(mv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Vy(e){try{return zy(e),!0}catch{return!1}}var Hy=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Su(),zn(),er();function Uy({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 su.Signature(k(e),k(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Yn(o)}zp(),Gp(),Vo(),em(),ba(),ji(),Qd(),zi(),zt(),zn(),j(),Hm();async function Wy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return E(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Uy(e):Hn(e)})();try{if(s===`eoa`)try{if(Zd(ki(n),await Tu({hash:i,signature:c})))return!0}catch{}return dy(c)?await Gy(e,{...t,multicallAddress:o,signature:c}):await Ky(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Zd(ki(n),await Tu({hash:i,signature:c})))return!0}catch{}if(e instanceof Jy)return!1;throw e}}async function Gy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=uy(t.signature);if(await Th(e,{address:n,blockNumber:r,blockTag:i})===Ri([`0xef0100`,s.address]))return await qy(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:A(s.r,{size:32}),s:A(s.s,{size:32}),yParity:s.yParity};if(!await Bh({address:n,authorization:d}))throw new Jy;let f=await T(e,Um,`readContract`)({...o?{address:o}:{code:Wp},authorizationList:[d],abi:Np,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:ya({abi:Ip,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Jy}async function Ky(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Vy(o)?o:By({data:i,signature:o,to:r}))(),u=s?{to:s,data:ya({abi:Lp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Qp({abi:Lp,args:[n,a,l],bytecode:Up}),...c},{data:d}=await T(e,jm,`call`)(u).catch(e=>{throw e instanceof Fo?new Jy:e});if(Ln(d??`0x0`))return!0;throw new Jy}async function qy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await T(e,Um,`readContract`)({address:n,abi:Ip,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Io?new Jy:e})).startsWith(`0x1626ba7e`))return!0;throw new Jy}var Jy=class extends Error{};zn(),$a();function Yy(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?Jm(Qa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>Xm(async()=>{try{let t=await T(e,nh,`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})):Jm(Qa([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=k(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}ko(),om(),$a();async function Xy(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=Qa([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=am(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Oo({hash:i}))},c):void 0;return h=Jm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await T(e,Dy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=T(e,Yy,`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 uh(async()=>{d=await T(e,Ey,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await T(e,Dy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof To||n instanceof Eo){if(!d){m=!1;return}try{f=d,m=!0;let n=await uh(()=>T(e,Sd,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof gd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await T(e,Dy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}function Zy(e){let{scheme:t,statement:n,...r}=e.match(Qy)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match($y)?.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 Qy=/^(?:(?<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)?/,$y=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.+))?/;Fi(),Qd(),ba(),oo();function eb(e,t){return{amount:e,decimals:t,formatted:ao(e,t)}}function tb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ty(e.formatted,nb(n))}function nb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function rb(e,t){return typeof e==`bigint`?t:e.decimals??t}function ib(e,t){let{decimals:n,token:r}=t,i=ab(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Mi(r,{strict:!1}))return{address:r,decimals:n??cb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function ab(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=sb(n,t);if(i)return ob(i,r);if(Mi(t,{strict:!1}))for(let e of n){let n=ob(e,r);if(n&&Zd(n.address,t))return n}}function ob(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function sb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function cb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=ob(e,r);if(n&&Zd(n.address,t))return n.decimals}}function lb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function ub(e){return{...e,data:ya(e),to:e.address}}zp();async function db(e,t){return db.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return ub(fb(e,t))}e.call=n;async function r(t,n){return Xd(t,{...lb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...lb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:Rp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(db||={});function fb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=ib(e,{token:i});return{abi:Rp,address:a,args:[r,tb(n,o)],functionName:`approve`}}ko();async function pb(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||fh)(i);if(a.status===`reverted`&&n)throw new Do({receipt:a});return a}ha(),O(),ko(),zi(),Zu(),id(),Di(),fd();let mb=new Ei(128);async function hb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new rh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?M(n):null,C;try{dd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Mu({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await T(e,Ud,`getChainId`)({}),r&&ah({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||ed)({...Xu(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),ee=mb.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=>(mb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(mb.set(e.uid,!1),n):r});throw n}})(),re=await T(e,Xy,`waitForTransactionReceipt`)({checkReplacement:!1,hash:ne,pollingInterval:g,timeout:x});if(_&&re.status===`reverted`)throw new Do({receipt:re});return re}if(S?.type===`local`){if(S.nonceManager&&h===void 0){let t=b.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,Ud,`getChainId`)({}))();C={address:S.address,chainId:n}}let r=await T(e,Jd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:S.nonceManager,parameters:[...Gd,`sidecars`],type:v,value:y,...b,to:n}),g=i?.serializers?.transaction,x=await S.signTransaction(r,{serializer:g});return await T(e,pb,`sendRawTransactionSync`)({serializedTransaction:x,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new ih({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ih({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof ih?e:(C&&!(e instanceof Do)&&S?.nonceManager?.reset(C),Hd(e,{...t,account:S,chain:t.chain||void 0}))}}async function gb(e,t){return z.internal(e,hb,`sendTransactionSync`,t)}oo();async function _b(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ib(e,{token:r}),o=rb(n,a),s=await db.inner(gb,e,{...t,throwOnReceiptRevert:i}),{args:c}=db.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ao(c.value,o)},receipt:s}}zp();async function vb(e,t){return vb.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return ub(yb(e,t))}e.call=n;async function r(t,n){return Xd(t,{...lb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...lb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:Rp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(vb||={});function yb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=ib(e,{token:a}),c=tb(n,s);return r?{abi:Rp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Rp,address:o,args:[i,c],functionName:`transfer`}}oo();async function bb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ib(e,{token:r}),o=rb(n,a),s=await vb.inner(gb,e,{...t,throwOnReceiptRevert:i}),{args:c}=vb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ao(c.value,o)},receipt:s}}j();async function xb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:A(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}em();function Sb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=Qp({abi:n,args:r,bytecode:i});return ch(e,{...a,...a.authorizationList?{to:null}:{},data:o})}ji();async function Cb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Oi(e))}ha(),j();async function wb(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?M(n):void 0,a=r?[i?.address,[A(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Tb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ha(),Qd();async function Eb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new rh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=M(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:M(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await T(e,Ud,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await T(e,Od,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&Zd(o.address,a.address))&&(s.nonce+=1)),s}ji();async function Db(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>ki(e))}async function Ob(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function kb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await T(e,hh,`sendCalls`)(t);return await T(e,_h,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Ab(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ha();async function jb(e,t){let{account:n=e.account}=t;if(!n)throw new rh({docsPath:`/docs/eip7702/signAuthorization`});let r=M(n);if(!r.signAuthorization)throw new ih({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Eb(e,t);return r.signAuthorization(i)}ha(),j();async function Mb(e,{account:t=e.account,message:n}){if(!t)throw new rh({docsPath:`/docs/actions/wallet/signMessage`});let r=M(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Un(n):n.raw instanceof Uint8Array?Bn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ha(),j(),id(),fd();async function Nb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new rh({docsPath:`/docs/actions/wallet/signTransaction`});let a=M(n);dd({account:a,...t});let o=await T(e,Ud,`getChainId`)({});r!==null&&ah({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||ed;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}ha();async function Pb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new rh({docsPath:`/docs/actions/wallet/signTypedData`});let o=M(n),s={EIP712Domain:pg({domain:r}),...t.types};if(fg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=dg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}j();async function Fb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:A(t)}]},{retryCount:0})}async function Ib(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Lb(e){return{addChain:t=>xb(e,t),deployContract:t=>Sb(e,t),fillTransaction:t=>Wd(e,t),getAddresses:()=>Cb(e),getCallsStatus:t=>gh(e,t),getCapabilities:t=>wb(e,t),getChainId:()=>Ud(e),getPermissions:()=>Tb(e),prepareAuthorization:t=>Eb(e,t),prepareTransactionRequest:t=>Jd(e,t),requestAddresses:()=>Db(e),requestPermissions:t=>Ob(e,t),sendCalls:t=>hh(e,t),sendCallsSync:t=>kb(e,t),sendRawTransaction:t=>oh(e,t),sendRawTransactionSync:t=>pb(e,t),sendTransaction:t=>ch(e,t),sendTransactionSync:t=>hb(e,t),showCallsStatus:t=>Ab(e,t),signAuthorization:t=>jb(e,t),signMessage:t=>Mb(e,t),signTransaction:t=>Nb(e,t),signTypedData:t=>Pb(e,t),switchChain:t=>Fb(e,t),waitForCallsStatus:t=>_h(e,t),watchAsset:t=>Ib(e,t),writeContract:t=>z(e,t),writeContractSync:t=>gb(e,t),token:{approve:wh(e,db),approveSync:wh(e,_b),transfer:wh(e,vb),transferSync:wh(e,bb)}}}function Rb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Sh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Lb)}function zb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=xh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Uh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Bb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>zb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}O();var Vb=class extends D{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Ko(),lm();let Hb=0,Ub=new WeakMap;function Wb(e){if(!e)return`default`;let t=Ub.get(e);if(t!==void 0)return t;let n=Hb++;return Ub.set(e,n),n}function Gb(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Vb;let x=rg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return zb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=sm({id:`${b}.${Wb(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new Wo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}mf(),R();function Kb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&D_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>m_(e)?e:hp(e))})}return t}function qb(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(mp(r[e])!==32)throw new Jb({storageKey:r[e]});n&&D_(n,{strict:!1}),t.push([n,r])}return t}var Jb=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${mp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};ap();let Yb=new TextEncoder,Xb=new TextDecoder,Zb=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Qb={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function $b(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]=Zb[r>>18],i[t+1]=Zb[r>>12&63],i[t+2]=Zb[r>>6&63],i[t+3]=Zb[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=Xb.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ex(e,t={}){return $b(Rf(e),t)}function tx(e,t={}){return $b(zf(e),t)}function nx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Yb.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Qb[r[e]]<<18)+(Qb[r[e+1]]<<12)+(Qb[r[e+2]]<<6)+Qb[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 rx(e){return Jf(nx(e))}let ix={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ax={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ox(e,t={}){if(!e)return null;let n=Iv(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=ey(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=ax[e.type]??e.type),n&&(r.v=Gv(n.yParity)),r}ap(),mf(),R();function sx(e,t={}){let{as:n=`Hex`}=t,r=xx(e),i=sv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?lp(i.bytes):i.bytes}var cx=class extends N{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},lx=class extends N{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},ux=class extends N{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},dx=class extends N{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},fx=class extends N{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},px=class extends N{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},mx=class extends N{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},hx=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},gx=class extends N{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},_x=class extends N{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},vx=class extends N{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},yx=class extends N{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},bx=class extends N{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function xx(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 xx.number(e);if(typeof e==`bigint`)throw new mx;if(typeof e==`string`)return xx.string(e);if(Array.isArray(e))return xx.array(e);if(e instanceof Uint8Array)return xx.byteString(e);if(e instanceof ArrayBuffer)return xx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return xx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return xx.map(e);if(typeof e==`object`)return xx.object(e);throw new hx({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 gx({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 gx({number:e.toString(10)})}e.number=t;function n(e){let t=zf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new _x({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 vx({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 bx({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 yx({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 yx({size:i})}e.map=o})(xx||={});function Sx(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Sx.readUnsignedInteger(e,r);case 1:return Sx.readNegativeInteger(e,r);case 2:return Sx.readByteString(e,r);case 3:return Sx.readTextString(e,r);case 4:return Sx.readArray(e,r);case 5:return Sx.readMap(e,r);case 6:throw new dx({tag:r});case 7:return Sx.readSimpleOrFloat(e,r);default:throw new cx({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 ux:new lx({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 fx({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 fx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Jf(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 px({value:t});return}throw new lx({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}})(Sx||={}),mf();function Cx(e){let t=y_(e),n=t.slice(1,33),r=t.slice(33,65);return sx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}qs(),Pl(),el();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet wx=Hc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Tx=Nl({a:wx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:wx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Ws),Ex=Hc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Nl({a:Ex.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Ex,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ks);let Dx=Hc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Nl({a:Dx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Dx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Gs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ox=Tx,kx=Tx;ap(),R();function Ax(e){let{privateKey:t}=e;return g_(kx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):lp(t).slice(2)))}function jx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=kx.sign(r instanceof Uint8Array?r:Rf(r),i instanceof Uint8Array?i:Rf(i),{extraEntropy:typeof t==`boolean`?t:sp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Mx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return kx.verify(i,n instanceof Uint8Array?n:Rf(n),b_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Nx=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 Px(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Fx(r.error);return r.result}function Fx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new qx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===qx.code?new qx(t):n===Lx.code?new Lx(t):n===Kx.code?new Kx(t):n===Wx.code?new Wx(t):n===Hx.code?new Hx(t):n===Gx.code?new Gx(t):n===Vx.code?new Vx(t):n===Jx.code?new Jx(t):n===Rx.code?new Rx(t):n===zx.code?new zx(t):n===Bx.code?new Bx(t):n===Ux.code?new Ux(t):new qx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Ix=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??``}},Lx=class e extends Ix{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(Lx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Rx=class e extends Ix{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(Rx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var zx=class e extends Ix{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(zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Bx=class e extends Ix{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(Bx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Vx=class e extends Ix{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(Vx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Hx=class e extends Ix{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(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Ux=class e extends Ix{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Wx=class e extends Ix{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Gx=class e extends Ix{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Kx=class e extends Ix{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var qx=class e extends Ix{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Jx=class e extends Ix{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),mf();var Yx=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}},Xx=class extends Yx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Zx=class extends Yx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Qx=class extends Yx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var $x=class extends Yx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var eS=class extends Yx{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var tS=class extends Yx{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(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var nS=class extends Yx{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var rS=class extends Yx{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var iS=class extends Yx{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var aS=class extends Yx{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var oS=class extends Yx{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var sS=class extends Yx{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var cS=class extends Yx{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function lS(){let e=new Nx.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 uS(e,t={}){if(!e)throw new fS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Px(n):n}catch(e){throw dS(e)}}}}function dS(e){let t=Fx(e);if(t instanceof qx){if(!t.data)return t;let{code:e}=t.data;if(e===$x.code)return new $x(t);if(e===eS.code)return new eS(t);if(e===Xx.code)return new Xx(t);if(e===Zx.code)return new Zx(t);if(e===Qx.code)return new Qx(t);if(e===tS.code)return new tS(t);if(e===sS.code)return new sS(t);if(e===cS.code)return new cS(t);if(e===oS.code)return new oS(t);if(e===aS.code)return new aS(t);if(e===iS.code)return new iS(t);if(e===rS.code)return new rS(t);if(e===nS.code)return new nS(t)}return t}var fS=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function pS(e={}){let t=e.id??0;return{prepare(e){return mS({id:t++,...e})},get id(){return t}}}function mS(e){return{...e,jsonrpc:`2.0`}}function hS(){return null}R();function gS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=ny(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=ix[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}mf();let _S={wei:0,gwei:9,szabo:12,finney:15,ether:18};function vS(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 yS(e,t=`wei`){return vS(e,_S.gwei-_S[t])}mf();var bS=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${yS(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`})}},xS=class extends N{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},SS=class extends N{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},CS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${yS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${yS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function wS(e){let t=Ox.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function TS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(p_(up(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=lp(new Uint8Array(16)),s=lp(t.id);return P(a,o,F(t.id.length,{size:2}),s,Cx(t.publicKey))}function ES(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:ex(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}ap(),mf(),R();function DS(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:nx(e),type:`public-key`})):[{id:nx(t),type:`public-key`}]}:{},challenge:Rf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function OS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=TS({flag:i,rpId:o,signCount:s}),u=ES({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=p_(up(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function kS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:DS(n);try{let e=await t(r);if(!e)throw new AS;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=wS(o);return{id:s,metadata:{authenticatorData:lp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new AS({cause:e})}}var AS=class extends N{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function jS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Rf(s);if(u.length<37||a!==void 0&&!Bf(u.slice(0,32),p_(up(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||lp(nx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Mx({hash:!0,payload:Ff(u,p_(zf(c),{as:`Bytes`})),publicKey:i,signature:o})}let MS=OS;async function NS(e){return kS(e)}function PS(e){return jS(e)}ap();async function FS(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=g_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function IS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,If(t)),i=Lf(new Uint8Array(r)),a=Gf(Wf(i,0,32)),o=Gf(Wf(i,32,64));return o>Ox.CURVE.n/2n&&(o=Ox.CURVE.n-o),{r:a,s:o}}mf(),R();let LS=`0x${`00`.repeat(32)}`;function RS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&mp(t)!==32)throw new GS({reason:`salt must be 32 bytes`});if(r.length===0)throw new GS({reason:`owners cannot be empty`});if(r.length>10)throw new GS({reason:`too many owners`});if(Number(n)<1)throw new GS({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!M_(e.owner)||L(e.owner)===0n)throw new GS({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new GS({reason:`owner weight cannot be zero`});let t=L(e.owner);if(a!==void 0&&a>=t)throw new GS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new GS({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new GS({reason:`threshold exceeds total owner weight`})}function zS(e){let t=[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),n={salt:e.salt?dp(e.salt,32):LS,threshold:e.threshold,owners:t};return RS(n),n}function BS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?dp(t,32):LS,threshold:n===`0x`?0:_p(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:_p(n)}})}}function VS(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:US(e);return k_(I(d_(P(up(`tempo:multisig:account`),t)),12,32))}function HS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:VS(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:US(e.genesisConfig);return d_(P(up(`tempo:multisig:signature`),sp(t),n,r))}function US(e){RS(e);let t=d_(P(up(`tempo:multisig:config`),dp(e.salt??LS,32),F(e.threshold,{size:4}),F(e.owners.length,{size:4}),...e.owners.flatMap(e=>[e.owner,F(e.weight,{size:4})])));if(L(t)===0n)throw new GS({reason:`config ID cannot be zero`});return t}function WS(e){RS(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]);return[e.salt?dp(e.salt,32):LS,F(e.threshold),t]}var GS=class extends N{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};mf(),R(),Nf();let KS=`0x01`,qS=`0x02`,JS=`0x03`,YS=`0x04`,XS=`0x05`,ZS=`0x7777777777777777777777777777777777777777777777777777777777777777`;function QS(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:QS({...e,signature:t.inner}):t.type===`multisig`?t.account:A_($S(e))}function $S(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return ay({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return $S({payload:t,signature:n.inner});case`multisig`:throw new cC({envelope:n})}}function eC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-mp(ZS)):e;if(mp(t)===65){let e=Fv(t);return Nv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=mp(r);if(n===KS){if(i!==129)throw new lC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,64,96)),y:L(I(r,96,128))},prehash:_p(I(r,128,129))!==0,signature:{r:L(I(r,0,32)),s:L(I(r,32,64))},type:`p256`}}if(n===qS){if(i<128)throw new lC({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=vp(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 lC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:L(I(r,e+64,e+96)),y:L(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:L(I(r,e,e+32)),s:L(I(r,e+32,e+64))},type:`webAuthn`}}if(n===JS||n===YS)return{userAddress:I(r,0,20),inner:eC(I(r,20)),type:`keychain`,version:n===YS?`v2`:`v1`};if(n===XS){let[e,t,n,i]=Sv(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>eC(e)),...i&&i!==`0x`?{init:BS(i)}:{}}}throw new lC({reason:`Unknown signature type identifier: ${n}. Expected ${KS} (P256), ${qS} (WebAuthn), ${JS} (Keychain V1), ${YS} (Keychain V2), or ${XS} (Multisig)`,serialized:t})}function tC(e,t){if(typeof e==`string`)return eC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=rC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?VS(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?US(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>tC(e)),...s?{init:zS(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:A_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:A_(ay({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function nC(e){if(e.type===`secp256k1`)return{signature:zv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=mp(t),r,i;for(let e=37;e<n;e++){let n=vp(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 lC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:nC(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=>eC(e)),...t.init?{init:zS(t.init)}:{}}}throw new cC({envelope:e})}function rC(e){if(typeof e!=`object`||!e)throw new cC({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 cC({envelope:e})}function iC(e,t={}){let n=rC(e);if(n===`secp256k1`)return P(Vv(e.signature),t.magic?ZS:`0x`);if(n===`p256`){let n=e;return P(KS,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?ZS:`0x`)}if(n===`webAuthn`){let n=e,r=P(n.metadata.authenticatorData,up(n.metadata.clientDataJSON));return P(qS,r,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?ZS:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?JS:YS,n.userAddress,iC(n.inner),t.magic?ZS:`0x`)}if(n===`multisig`){let n=e;return P(XS,Ov([n.account,n.genesisConfigId,n.signatures.map(e=>iC(e)),n.init?WS(n.init):`0x`]),t.magic?ZS:`0x`)}throw new cC({envelope:e})}function aC(e){let{payload:t,signatures:n}=e,r=HS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:L(QS({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function oC(e){let t=rC(e);if(t===`secp256k1`)return{...Hv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,up(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:oC(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=>iC(e)),...t.init?{init:t.init}:{}}}throw new cC({envelope:e})}function sC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return A_(t.publicKey)})();if(!r)return!1;let i=tC(e);if(i.type===`secp256k1`)return r?sy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return j_(A_(i.publicKey),r)?Mx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return j_(A_(i.publicKey),r)?PS({challenge:sp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new uC(`Unable to verify signature envelope of type \"${i.type}\".`)}var cC=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${jf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},lC=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},uC=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};mf(),R();function dC(e){return e.startsWith(`tempo`)?fC(e).address:e}function fC(e){if(!e.startsWith(`tempox`))throw new pC({address:e});let t=e.slice(6);return op(t,{strict:!0}),{address:O_(t)}}var pC=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function mC(e,t={}){if(typeof e.chainId==`string`)return hC(e);let n={...e,address:dC(e.address)};return t.signature?{...n,signature:t.signature}:n}function hC(e){let{address:t,chainId:n,nonce:r}=e,i=nC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function gC(e){return e.map(e=>hC(e))}function _C(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=eC(i)),mC(a)}function vC(e){let t=[];for(let n of e)t.push(_C(n));return t}function yC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:oC(i)}}function bC(e){return e.map(e=>yC(e))}function xC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?iC(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function SC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(xC(n));return t}R();let CC=`0x20c0`;function wC(e){let t=dC(e);if(!t.toLowerCase().startsWith(CC))throw Error(`invalid tip20 address.`);return L(I(t,6))}function TC(e){if(typeof e==`string`){let t=dC(e);return D_(t),t}let t=F(e,{size:18});return P(CC,t)}R();let EC=mv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),DC=mv(`bytes32, bytes32, bytes32, uint256, address`),OC=mv(`bytes32, bytes32, uint96`),kC=d_(up(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),AC=d_(up(`TIP20 Channel Reserve`)),jC=d_(up(`1`)),MC=`0x0000000000000000000000000000000000000000`,NC=`0x4d50500000000000000000000000000000000000`,PC=d_(up(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function FC(e){let{authorizedSigner:t=MC,expiringNonceHash:n,operator:r=MC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:zC(t),expiringNonceHash:n,operator:zC(r),payee:zC(i),payer:zC(a),salt:o,token:typeof s==`string`?zC(s):TC(s)}}function IC(e,t){let n=FC(e);return d_(fv(EC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,NC,BigInt(t.chainId)]))}function LC(e){return d_(fv(DC,[kC,AC,jC,BigInt(e.chainId),NC]))}function RC(e){let t=d_(fv(OC,[PC,e.channelId,e.cumulativeAmount]));return d_(P(`0x1901`,LC({chainId:e.chainId}),t))}function zC(e){return k_(e)}R();function BC(e,t={}){if(`keyId`in e)return VC(e);let n=e;n.witness!==void 0&&tw(n.witness);let r={...n,address:dC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:dC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:dC(e.address),selector:ew(e.selector),...e.recipients?{recipients:e.recipients.map(e=>dC(e))}:{}}))}:{}};return t.signature?{...r,signature:tC(t.signature)}:r}function VC(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=nC(e.signature);s!==void 0&&tw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:$C(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:L(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&QC(e.period)>0?{period:QC(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function HC(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=nw(c)?void 0:QC(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:ZC(n),...r===void 0?{}:{period:QC(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,_=nw(d)?void 0:d;_!==void 0&&tw(_);let v=(()=>{if(!nw(f)){if(f!==`0x01`)throw new iw(f);return!0}})(),y=nw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:L(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};return n&&(x.signature=eC(n)),BC(x)}function UC(e){return GC(e)}function WC(e){return HC(Sv(e))}function GC(e){let[t]=JC(e);return d_(Ov(t))}function KC(e){return Ov(JC(e))}function qC(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;c!==void 0&&tw(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:ew(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:dC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:XC(n)}:{}})),signature:oC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function JC(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&tw(o);let l=e.signature?iC(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,YC(e.limit)];return e.period&&e.period>0&&t.push(XC(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([ew(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?XC(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[[YC(n),u,t,...g],...l?[l]:[]]}function YC(e){return e===0n?`0x`:F(e)}function XC(e){return e===0?`0x`:F(e)}function ZC(e){return e===`0x`?0n:BigInt(e)}function QC(e){return e===`0x`?0:_p(e)}function $C(e){return typeof e==`string`?e:Array.isArray(e)?lp(new Uint8Array(e)):e}function ew(e){if(e)return e.startsWith(`0x`)?e:Ny(e)}function tw(e){if(mp(e)!==32)throw new rw(e)}function nw(e){return e===void 0||e===`0x`}var rw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${mp(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},iw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}};R();let aw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function ow(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:d_(up(aw[e]??e))}let sw={...ix,tempo:`0x76`},cw={...ax,\"0x76\":`tempo`};function lw(e,t={}){if(!e)return null;let n=ox(e);return n.type=cw[e.type],e.aaAuthorizationList&&(n.authorizationList=gC(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=nC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=VC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=zv(e.feePayerSignature),n.feePayerSignature.v=Gv(n.feePayerSignature.yParity)),n}R();function uw(e){let t=gS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=bC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?dC(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?dC(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=TC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=qC(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=F(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=F(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return pp(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=sw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}mf(),R();let dw=`tempo`;function fw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new bw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new xw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&D_(e.to,{strict:!1});if(n<=0)throw new xS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new bS({feeCap:r});if(i&&r&&i>r)throw new CS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function pw(e){let t=Sv(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 SS({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:dw});let y={chainId:Number(n),type:dw};yp(a)&&a!==`0x`&&(y.gas=BigInt(a)),yp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),yp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),yp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),yp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),yp(u)&&u!==`0x`&&(y.validBefore=Number(u)),yp(d)&&d!==`0x`&&(y.validAfter=Number(d)),yp(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=Kb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=vC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||M_(p)?(y.feePayerSignature=null,M_(p)&&(y.from=p)):y.feePayerSignature=Bv(p)),_&&(y.keyAuthorization=HC(_));let b=v?eC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=QS({payload:_w(mw(y)),signature:b,root:!0})}catch{}return fw(y),y}function mw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?pw(e):e;return i.from&&=dC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:dC(e.to)}:{}})),fw(i),{...i,...r?{signature:tC(r)}:{},...n?{feePayerSignature:Lv(n)}:{},type:`tempo`}}function hw(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;fw(e);let h=qb(n),g=t.signature||e.signature,_=SC(r),v=i.map(e=>[e.to?dC(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=tC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return A_(t.publicKey);if(t.type===`secp256k1`)return iy({payload:_w(mw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Uv(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`)?TC(o):`0x`,b,_,...c?[JC(c)]:[],...g?[iC(tC(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,Ov(x))}function gw(e){return hw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function _w(e,t={}){let n=vw(e,{presign:!0});return t.from?d_(P(`0x04`,n,dC(t.from))):n}function vw(e,t={}){return d_(t.presign?gw(e):hw(e))}function yw(e,t){let n=dC(t.sender);return d_(hw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var bw=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},xw=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Sw=[{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`}]}],Cw=[{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:[]}],ww=[{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:[]}],Tw=[{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:[]}],Ew=[{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:[]}],Dw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],Ow=[{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:[]}],kw=[{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`}]}],Aw=[{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:[]}],jw=[{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:[]}],Mw=[{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:[]}],Nw=[{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`}]}],Pw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],Fw=[{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:[]}],Iw=[...Sw,...Cw,...ww,...Tw,...Ew,...Dw,...Pw,...B,...Ow,...kw,...Aw,...jw,...Mw,...Nw,...Fw];R();function Lw(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:Vd(e)}function Rw(e){try{return Lw(e)===`tempo`}catch{return!1}}function zw(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?Vw(e):my(e)}async function Bw(e,t){if(!Rw(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 Mh(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return Mh(e,t)}if(Lw(e)===`tempo`)return Hw(e,t);throw Error(`Unsupported transaction type`)}function Vw(e){let{feePayerSignature:t,nonce:n,...r}=pw(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 Hw(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return tC({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=aC({payload:_w(mw(u)),signatures:e.signatures.map(e=>tC(e)),genesisConfig:e.multisig});return hw(u,{feePayerSignature:void 0,signature:tC({genesisConfig:e.multisig,signatures:t,...a?{}:{init:!0}})})}if(n&&typeof e.feePayer==`object`){let t=mw(u,{signature:n}),r=yw(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return iy({payload:_w(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return hw(t,{feePayerSignature:Lv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?hw(u,{signature:n}):n?hw(u,{format:`feePayer`,sender:e.from,signature:n}):hw(u,{feePayerSignature:null}):hw({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),ha(),fi();function Uw(e){let{access:t}=e;return t?tT(e):eT(e)}function Ww(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ax({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=MS({...t,challenge:n,rpId:i,origin:a});return iC({metadata:r,signature:jx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function Gw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ax({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return iC({signature:jx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function Kw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=ry({privateKey:e});return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Vv(oy({payload:n,privateKey:e}))}})}function qw(e,t={}){let{id:n}=e,r=v_(e.publicKey);return Uw({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await NS({...t,challenge:e,credentialId:n});return iC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function Jw(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return Uw({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return iC({signature:await IS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function Yw(e,t){let n=Xw(t);return Zw(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function Xw(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return RC({chainId:t,channelId:typeof n==`string`?n:IC(n,{chainId:t}),cumulativeAmount:r})}function Zw(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function Qw(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=nT(r),d=Zw(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=UC({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return BC({address:l,chainId:n,signature:tC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function $w(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??A_(e.publicKey),o=b_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?di(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?iC(tC({userAddress:n,inner:tC(o),type:`keychain`,version:i})):o}return{address:O_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=tC(await s({hash:ju({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:sg(t)})},async signTransaction(e,t){let{serializer:n=Bw}=t??{},r=di(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:HS({payload:r,genesisConfig:i}),raw:!0}):await n(e,tC(await s({hash:r})))},async signTypedData(e){return await s({hash:hg(e)})},async signVoucher(e){let t=Xw(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function eT(e){let t=$w(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}=nT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return BC({address:l,chainId:r,signature:tC(await t.sign({hash:UC({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function tT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=M(t);return{...$w({...e,parentAddress:r}),accessKeyAddress:A_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function nT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:A_(v_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let rT=`0xaAAAaaAA00000000000000000000000000000000`,iT=`0xdec0000000000000000000000000000000000000`,aT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function oT(e,t){return aT.indexOf(e)<aT.indexOf(t)}Qd(),ba();function sT(e,t){let{decimals:n,token:r}=t;if(typeof r==`string`){let t=lT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=TC(r);return{address:i,decimals:n??dT(e,i)}}function cT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=lT(e,t);if(n)return n}let i=TC(t);for(let e of n){let t=uT(e,r);if(t&&Zd(t.address,i))return t}}function lT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return uT(e,r)}function uT(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function dT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=uT(e,r);if(n&&Zd(n.address,t))return n.decimals}}async function fT(e,t){let{address:n,decimals:r}=sT(e,t);return r===void 0?{address:n,decimals:await Um(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function pT(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function V(e){return{...e,data:ya(e),to:e.address}}ha();let mT={0:`secp256k1`,1:`p256`,2:`webAuthn`},hT={true:`limited`,false:`unlimited`};async function gT(e,t){return gT.inner(ch,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await Qw(M(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(gT||={});async function _T(e,t){return _T.inner(z,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return V({address:rT,abi:Sw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(_T||={});async function vT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n),o=await Um(e,{...i,account:null,...vT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:mT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:hT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:rT,abi:Sw,functionName:`getKey`,args:[t,TT(n)]})}e.call=t})(vT||={});async function yT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=M(n),s=e.chain?.hardfork;if(s&&oT(s,`t3`))return{remaining:await Um(e,{...a,...yT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Um(e,{...a,...yT.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:rT,abi:Sw,functionName:`getRemainingLimit`,args:[t,TT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:rT,abi:Sw,functionName:`getRemainingLimitWithPeriod`,args:[t,TT(n),r]})}e.callWithPeriod=n})(yT||={});async function bT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Um(e,{...i,account:null,...bT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:rT,abi:Sw,functionName:`isAdminKey`,args:[t,TT(n)]})}e.call=t})(bT||={});async function xT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Um(e,{...i,account:null,...xT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:rT,abi:Sw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(xT||={});async function ST(e,t){return ST.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:rT,abi:Sw,functionName:`revokeKey`,args:[TT(t)]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(ST||={});async function CT(e,t){return CT.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:rT,abi:Sw,functionName:`updateSpendingLimit`,args:[TT(t),n,r]})}e.call=n;function r(e){let[t]=rf({abi:Sw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(CT||={});async function wT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Um(e,{...o,...wT.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:Ew,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(wT||={});function TT(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ha();async function ET(e,t){return ET.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:iT,abi:Dw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(ET||={});async function DT(e,t){return DT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:iT,abi:Dw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(DT||={});async function OT(e,t){return OT.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:iT,abi:Dw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(OT||={});async function kT(e,t){return kT.inner(z,e,t)}(function(e){async function t(t,n,r){let{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:iT,abi:Dw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(kT||={});async function AT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?M(n).address:void 0;if(!a)throw Error(`account is required.`);return Um(e,{...i,...AT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:iT,abi:Dw,args:[t,n],functionName:`balanceOf`})}e.call=t})(AT||={});async function jT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Um(e,{...a,...jT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:iT,abi:Dw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(jT||={});async function MT(e,t){let{orderId:n,...r}=t;return Um(e,{...r,...MT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:iT,abi:Dw,args:[t],functionName:`getOrder`})}e.call=t})(MT||={});async function NT(e,t){let{base:n,quote:r,...i}=t;return Um(e,{...i,...NT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=BT(t,n);return V({address:iT,abi:Dw,args:[r],functionName:`books`})}e.call=t})(NT||={});async function PT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Um(e,{...a,...PT.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:iT,abi:Dw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(PT||={});async function FT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Um(e,{...a,...FT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:iT,abi:Dw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(FT||={});async function IT(e,t){return IT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:iT,abi:Dw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=rf({abi:Dw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(IT||={});async function LT(e,t){return LT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return V({address:iT,abi:Dw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=rf({abi:Dw,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})(LT||={});async function RT(e,t){return RT.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:iT,abi:Dw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(RT||={});async function zT(e,t){return zT.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:iT,abi:Dw,functionName:`withdraw`,args:[t,n]})}e.call=n})(zT||={});function BT(e,t){return d_(P(e,t))}R(),ha(),ba();async function VT(e,t){return VT.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i});return V({address:a,abi:B,functionName:`approve`,args:[r,tb(n,o)]})}e.call=n;async function r(t,n){return Xd(t,{...pT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...pT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(VT||={});async function HT(e,t){return HT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{from:n,amount:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i});return V({address:a,abi:B,functionName:`burnBlocked`,args:[n,tb(r,o)]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){return UT.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{amount:n,memo:r,token:i}=t,{address:a,decimals:o}=sT(e,{token:i}),s=tb(n,o),c=r?{functionName:`burnWithMemo`,args:[s,dp(r,32)]}:{functionName:`burn`,args:[s]};return V({address:a,abi:B,...c})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(UT||={});async function WT(e,t){return WT.inner(z,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,policyId:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`changeTransferPolicyId`,args:[r]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(WT||={});async function GT(e,t){return GT.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?M(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e,t){let{name:n,symbol:r,currency:i,logoURI:a,quoteToken:o=`0x20c0000000000000000000000000000000000000`,admin:s,salt:c=pp(32)}=t;return V({address:`0x20fc000000000000000000000000000000000000`,abi:kw,args:typeof a==`string`?[n,r,i,sT(e,{token:o}).address,s,c,a]:[n,r,i,sT(e,{token:o}).address,s,c],functionName:`createToken`})}e.call=n;function r(e){let[t]=rf({abi:kw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(GT||={});async function KT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Um(e,{...o,...KT.call(e,{account:n,spender:i,token:a})}),fT(e,{decimals:r,token:a})]);return eb(s,c)}(function(e){function t(e,t){return V({address:sT(e,t).address,abi:B,functionName:`allowance`,args:[t.account,t.spender]})}e.call=t})(KT||={});async function qT(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new rh;let o=M(n).address,[s,{decimals:c}]=await Promise.all([Um(e,{...a,...qT.call(e,{account:o,token:i})}),fT(e,{decimals:r,token:i})]);return eb(s,c)}(function(e){function t(e,t){let n=t.account??e.account;if(!n)throw new rh;let r=M(n).address;return V({address:sT(e,t).address,abi:B,functionName:`balanceOf`,args:[r]})}e.call=t})(qT||={});async function JT(e,t){let{token:n,...r}=t,{address:i}=sT(e,{token:n}),a=B,o=cT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return wC(i)===wC(`0x20c0000000000000000000000000000000000000`)?Oy(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:YT(r),symbol:YT(i),currency:YT(e),decimals:YT(t),logoURI:YT(n,``),totalSupply:YT(a),...s})):Oy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:YT(i),symbol:YT(c),currency:YT(e),decimals:YT(t),logoURI:YT(n,``),quoteToken:YT(r),totalSupply:YT(l),paused:YT(a),supplyCap:YT(o),transferPolicyId:YT(u),...s}))}function YT(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function XT(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Um(e,{...i,...XT.call(e,{token:r})}),fT(e,{decimals:n,token:r})]);return eb(a,o)}(function(e){function t(e,t){return V({address:sT(e,t).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(XT||={});async function ZT(e,t){return Um(e,{...t,...ZT.call(e,t)})}(function(e){function t(e,t){let{role:n,token:r}=t;return V({address:sT(e,{token:r}).address,abi:B,functionName:`getRoleAdmin`,args:[ow(n)]})}e.call=t})(ZT||={});async function QT(e,t){let{account:n=e.account}=t,r=n?M(n).address:void 0;if(!r)throw Error(`account is required.`);return Um(e,{...t,...QT.call(e,{...t,account:r})})}(function(e){function t(e,t){let{account:n,role:r,token:i}=t;return V({address:sT(e,{token:i}).address,abi:B,functionName:`hasRole`,args:[n,ow(r)]})}e.call=t})(QT||={});async function $T(e,t){return $T.inner(ch,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,to:r,role:i}=t,a=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`grantRole`,args:[a,r]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})($T||={});async function eE(e,t){return eE.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(e,t){let{to:n,amount:r,memo:i,token:a}=t,{address:o,decimals:s}=sT(e,{token:a}),c=tb(r,s),l=i?{functionName:`mintWithMemo`,args:[n,c,dp(i,32)]}:{functionName:`mint`,args:[n,c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(eE||={});async function tE(e,t){return tE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(tE||={});async function nE(e,t){return nE.inner(ch,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,role:r}=t,i=ow(r);return V({address:sT(e,{token:n}).address,abi:B,functionName:`renounceRole`,args:[i]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(nE||={});async function rE(e,t){return rE.inner(ch,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ya(i)}})})}e.inner=t;function n(e,t){let{token:n,from:r,role:i}=t,a=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`revokeRole`,args:[a,r]})}e.call=n;function r(e){let t=rf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(rE||={});async function iE(e,t){return iE.inner(z,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,supplyCap:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`setSupplyCap`,args:[r]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(iE||={});async function aE(e,t){return aE.inner(z,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e,t){let{token:n,role:r,adminRole:i}=t,a=ow(r),o=ow(i);return V({address:sT(e,{token:n}).address,abi:B,functionName:`setRoleAdmin`,args:[a,o]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(aE||={});async function oE(e,t){return oE.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){let{from:n,memo:r,to:i,token:a}=t,{address:o,decimals:s}=sT(e,{token:a}),c=tb(t.amount,s),l=r&&n?{functionName:`transferFromWithMemo`,args:[n,i,c,dp(r,32)]}:r?{functionName:`transferWithMemo`,args:[i,c,dp(r,32)]}:n?{functionName:`transferFrom`,args:[n,i,c]}:{functionName:`transfer`,args:[i,c]};return V({address:o,abi:B,...l})}e.call=n;async function r(t,n){return Xd(t,{...pT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Wm(t,{...pT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=rf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(oE||={});async function sE(e,t){return sE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(sE||={});async function cE(e,t){return cE.inner(z,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e,t){let{token:n,quoteToken:r}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`setNextQuoteToken`,args:[sT(e,{token:r}).address]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(cE||={});async function lE(e,t){return lE.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(e,t){let{token:n}=t;return V({address:sT(e,{token:n}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=rf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(lE||={}),R(),ha(),id();function uE(e){if(!Rw(e))return vd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=lw(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:sw[a.type],type:a.type}}function dE(e){return fh(e)}function fE(e,t){let n=e,r=n.account?M(n.account):void 0;if(!Rw(n))return ed(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=uw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,pE(n.keyData)]:[n.keyType,pE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?M(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function pE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let mE=new Map;async function hE(e){mE.set(e,(mE.get(e)??0)+1),await Promise.resolve();let t=(mE.get(e)??0)>1;return queueMicrotask(()=>{let t=mE.get(e)??0;t<=1?mE.delete(e):mE.set(e,t-1)}),t}R(),ud(),Qd(),id(),fi();let gE={blockTime:1e3,extendSchema:qh(),formatters:{transaction:yd({exclude:[`aaAuthorizationList`],format:uE}),transactionReceipt:ph({format:dE}),transactionRequest:rd({format:fE})},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){let e=zS(i);r.multisig=e,r.from=VS(e),r.multisigInit={salt:e.salt??LS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.account?.source!==`multisig`&&delete r.account}if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await T(t,vT,`getMetadata`)({account:i,accessKey:a});Zd(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 hE(e):!1})()?(r.nonceKey=ld,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)=>Bw(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return eC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?di(P(`0x04`,r,n)):r,a=(()=>{try{return QS({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await vT(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:sC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Th(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return sC(o,{address:n,payload:r})}}return await T(e,Wy,`verifyHash`)({...t,chain:null})}},_E=Kh({...gE,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`]}}}),vE=Kh({...gE,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}),yE=Kh({...gE,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}),bE=Kh({...gE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function xE(e){return e.source}function SE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return zb({key:SE.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(zw(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:SE.type})}}Za();let CE={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 wE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function TE(e){let t=e.details??e.shortMessage??e.message,n=EE(e);if(n)try{let e=Xa({abi:Iw,data:n}),r=CE[e.errorName];return{...e,data:n,message:r?wE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in CE?{errorName:`unknown`,message:CE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function EE(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 EE(t.cause);if(t.error)return EE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return EE(e)}return null}function DE(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await FS({extractable:t}),n=b_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!OE(n.keyPair.privateKey))throw new kE(\"`webCryptoP256` key material did not survive storage.\");return Jw(n.keyPair,r)}if(n.jwk)return Jw({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new kE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:v_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function OE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey?!0:!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var kE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function AE(e){return e instanceof kE?!0:e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let jE={p256:DE()};var ME;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var NE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},PE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(ME=globalThis).__zod_globalConfig??(ME.__zod_globalConfig={});let FE=globalThis.__zod_globalConfig;function IE(e){return e&&Object.assign(FE,e),FE}function LE(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 RE(e,t){return typeof t==`bigint`?t.toString():t}function zE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function BE(e){return e==null}function VE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let HE=Symbol(`evaluating`);function UE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==HE)return r===void 0&&(r=HE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function WE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function GE(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let KE=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function qE(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function JE(e){if(qE(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(qE(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let YE=new Set([`string`,`number`,`symbol`]),XE=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function ZE(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function QE(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function $E(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 eD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function tD(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 QE(e,GE(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 WE(this,`shape`,r),r},checks:[]}))}function nD(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 rD(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 iD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function aD(e){return typeof e==`string`?e:e?.message}function oD(e,t,n){let r=e.message?e.message:aD(e.inst?._zod.def?.error?.(e))??aD(t?.error?.(e))??aD(n.customError?.(e))??aD(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 sD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function cD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let lD=(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,RE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},uD=H(`$ZodError`,lD),dD=H(`$ZodError`,lD,{Parent:Error}),fD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new NE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>oD(e,a,IE())));throw KE(t,i?.callee),t}return o.value},pD=fD(dD),mD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>oD(e,a,IE())));throw KE(t,i?.callee),t}return o.value})(dD),hD=(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 NE;return a.issues.length?{success:!1,error:new(e??uD)(a.issues.map(e=>oD(e,i,IE())))}:{success:!0,data:a.value}})(dD),gD=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>oD(e,i,IE())))}:{success:!0,data:a.value}})(dD),_D=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return fD(e)(t,n,i)})(dD),vD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},yD=/^-?\\d+n?$/,bD=/^-?\\d+(?:\\.\\d+)?$/,xD=/^(?:true|false)$/i,SD=/^null$/i,CD=/^undefined$/i,wD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),TD={number:`number`,bigint:`bigint`,object:`date`},ED=H(`$ZodCheckLessThan`,(e,t)=>{wD.init(e,t);let n=TD[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})}}),DD=H(`$ZodCheckGreaterThan`,(e,t)=>{wD.init(e,t);let n=TD[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})}}),OD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;wD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!BE(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=sD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),kD=H(`$ZodCheckMinLength`,(e,t)=>{var n;wD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!BE(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=sD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),AD=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;wD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),jD=H(`$ZodCheckRegex`,(e,t)=>{AD.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})}}),MD={major:4,minor:4,patch:3},ND=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=MD;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=nD(e),i;for(let a of t){if(a._zod.def.when){if(rD(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 NE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=nD(e,t))});else{if(e.issues.length===t)continue;r||=nD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(nD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new NE;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 NE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}UE(e,`~standard`,()=>({validate:t=>{try{let n=hD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return gD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),PD=H(`$ZodString`,(e,t)=>{ND.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??vD(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),FD=H(`$ZodNumber`,(e,t)=>{ND.init(e,t),e._zod.pattern=e._zod.bag.pattern??bD,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}}),ID=H(`$ZodBoolean`,(e,t)=>{ND.init(e,t),e._zod.pattern=xD,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}}),LD=H(`$ZodBigInt`,(e,t)=>{ND.init(e,t),e._zod.pattern=yD,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}}),RD=H(`$ZodUndefined`,(e,t)=>{ND.init(e,t),e._zod.pattern=CD,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}}),zD=H(`$ZodNull`,(e,t)=>{ND.init(e,t),e._zod.pattern=SD,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}}),BD=H(`$ZodUnknown`,(e,t)=>{ND.init(e,t),e._zod.parse=e=>e});function VD(e,t,n){e.issues.length&&t.issues.push(...iD(n,e.issues)),t.value[n]=e.value}let HD=H(`$ZodArray`,(e,t)=>{ND.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=>VD(t,n,e))):VD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function UD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...iD(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 WD(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=eD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function GD(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=>UD(e,n,i,t,u,d))):UD(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 KD=H(`$ZodObject`,(e,t)=>{if(ND.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=zE(()=>WD(t));UE(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=qE,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=>UD(n,t,e,s,r,i))):UD(a,t,e,s,r,i)}return i?GD(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function qD(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=>!nD(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>oD(e,r,IE())))}),t)}let JD=H(`$ZodUnion`,(e,t)=>{ND.init(e,t),UE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),UE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),UE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),UE(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=>VE(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=>qD(t,r,e,i)):qD(o,r,e,i)}}),YD=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,JD.init(e,t);let n=e._zod.parse;UE(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=zE(()=>{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(!qE(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)}}),XD=H(`$ZodTuple`,(e,t)=>{ND.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=ZD(n,`optin`),c=ZD(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=>QD(t,r,e))):QD(a,r,e)}}return o.length?Promise.all(o).then(()=>$D(l,r,n,a,c)):$D(l,r,n,a,c)}});function ZD(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function QD(e,t,n){e.issues.length&&t.issues.push(...iD(n,e.issues)),t.value[n]=e.value}function $D(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(...iD(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 eO=H(`$ZodRecord`,(e,t)=>{ND.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!JE(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>oD(e,r,IE())),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(...iD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...iD(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`&&bD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>oD(e,r,IE())),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(...iD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...iD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),tO=H(`$ZodEnum`,(e,t)=>{ND.init(e,t);let n=LE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>YE.has(typeof e)).map(e=>typeof e==`string`?ZE(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}}),nO=H(`$ZodLiteral`,(e,t)=>{if(ND.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`?ZE(e):e?ZE(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}}),rO=H(`$ZodTransform`,(e,t)=>{ND.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new PE(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 NE;return n.value=i,n.fallback=!0,n}});function iO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let aO=H(`$ZodOptional`,(e,t)=>{ND.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,UE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),UE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${VE(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=>iO(e,r)):iO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),oO=H(`$ZodNullable`,(e,t)=>{ND.init(e,t),UE(e._zod,`optin`,()=>t.innerType._zod.optin),UE(e._zod,`optout`,()=>t.innerType._zod.optout),UE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${VE(e.source)}|null)$`):void 0}),UE(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)}),sO=H(`$ZodPipe`,(e,t)=>{ND.init(e,t),UE(e._zod,`values`,()=>t.in._zod.values),UE(e._zod,`optin`,()=>t.in._zod.optin),UE(e._zod,`optout`,()=>t.out._zod.optout),UE(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=>cO(e,t.in,n)):cO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>cO(e,t.out,n)):cO(r,t.out,n)}});function cO(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 lO=H(`$ZodCodec`,(e,t)=>{ND.init(e,t),UE(e._zod,`values`,()=>t.in._zod.values),UE(e._zod,`optin`,()=>t.in._zod.optin),UE(e._zod,`optout`,()=>t.out._zod.optout),UE(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=>uO(e,t,n)):uO(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>uO(e,t,n)):uO(r,t,n)}}});function uO(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=>dO(e,r,t.out,n)):dO(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>dO(e,r,t.in,n)):dO(e,r,t.in,n)}}function dO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let fO=H(`$ZodReadonly`,(e,t)=>{ND.init(e,t),UE(e._zod,`propValues`,()=>t.innerType._zod.propValues),UE(e._zod,`values`,()=>t.innerType._zod.values),UE(e._zod,`optin`,()=>t.innerType?._zod?.optin),UE(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(pO):pO(r)}});function pO(e){return e.value=Object.freeze(e.value),e}let mO=H(`$ZodTemplateLiteral`,(e,t)=>{ND.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||XE.has(typeof e))n.push(ZE(`${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)}),hO=H(`$ZodCustom`,(e,t)=>{wD.init(e,t),ND.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=>gO(t,n,r,e));gO(i,n,r,e)}});function gO(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(cD(e))}}function _O(e,t){return new e({type:`string`,...$E(t)})}function vO(e,t){return new e({type:`number`,checks:[],...$E(t)})}function yO(e,t){return new e({type:`boolean`,...$E(t)})}function bO(e,t){return new e({type:`bigint`,...$E(t)})}function xO(e,t){return new e({type:`undefined`,...$E(t)})}function SO(e,t){return new e({type:`null`,...$E(t)})}function CO(e){return new e({type:`unknown`})}function wO(e,t){return new ED({check:`less_than`,...$E(t),value:e,inclusive:!0})}function TO(e,t){return new DD({check:`greater_than`,...$E(t),value:e,inclusive:!0})}function EO(e,t){return new OD({check:`max_length`,...$E(t),maximum:e})}function DO(e,t){return new kD({check:`min_length`,...$E(t),minimum:e})}function OO(e,t){return new jD({check:`string_format`,format:`regex`,...$E(t),pattern:e})}function kO(e,t,n){let r=$E(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function AO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$E(n)})}let jO=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);ND.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>pD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>hD(e,t,n),e.parseAsync=async(t,n)=>mD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>gD(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)=>QE(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),MO=H(`ZodMiniString`,(e,t)=>{PD.init(e,t),jO.init(e,t)});function U(e){return _O(MO,e)}let NO=H(`ZodMiniNumber`,(e,t)=>{FD.init(e,t),jO.init(e,t)});function PO(e){return vO(NO,e)}let FO=H(`ZodMiniBoolean`,(e,t)=>{ID.init(e,t),jO.init(e,t)});function IO(e){return yO(FO,e)}let LO=H(`ZodMiniBigInt`,(e,t)=>{LD.init(e,t),jO.init(e,t)});function RO(e){return bO(LO,e)}let zO=H(`ZodMiniUndefined`,(e,t)=>{RD.init(e,t),jO.init(e,t)});function BO(e){return xO(zO,e)}let VO=H(`ZodMiniNull`,(e,t)=>{zD.init(e,t),jO.init(e,t)});function HO(e){return SO(VO,e)}let UO=H(`ZodMiniUnknown`,(e,t)=>{BD.init(e,t),jO.init(e,t)});function WO(){return CO(UO)}let GO=H(`ZodMiniArray`,(e,t)=>{HD.init(e,t),jO.init(e,t)});function W(e,t){return new GO({type:`array`,element:e,...$E(t)})}let KO=H(`ZodMiniObject`,(e,t)=>{KD.init(e,t),jO.init(e,t),UE(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...$E(t)};return new KO(n)}function qO(e,t){return tD(e,t)}let JO=H(`ZodMiniUnion`,(e,t)=>{JD.init(e,t),jO.init(e,t)});function K(e,t){return new JO({type:`union`,options:e,...$E(t)})}let YO=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{YD.init(e,t),jO.init(e,t)});function XO(e,t,n){return new YO({type:`union`,options:t,discriminator:e,...$E(n)})}let ZO=H(`ZodMiniTuple`,(e,t)=>{XD.init(e,t),jO.init(e,t)});function QO(e,t,n){let r=t instanceof ND;return new ZO({type:`tuple`,items:e,rest:r?t:null,...$E(r?n:t)})}let $O=H(`ZodMiniRecord`,(e,t)=>{eO.init(e,t),jO.init(e,t)});function ek(e,t,n){return!t||!t._zod?new $O({type:`record`,keyType:U(),valueType:e,...$E(t)}):new $O({type:`record`,keyType:e,valueType:t,...$E(n)})}let tk=H(`ZodMiniEnum`,(e,t)=>{tO.init(e,t),jO.init(e,t),e.options=Object.values(t.entries)});function nk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new tk({type:`enum`,entries:n,...$E(t)})}let rk=H(`ZodMiniLiteral`,(e,t)=>{nO.init(e,t),jO.init(e,t)});function q(e,t){return new rk({type:`literal`,values:Array.isArray(e)?e:[e],...$E(t)})}let ik=H(`ZodMiniTransform`,(e,t)=>{rO.init(e,t),jO.init(e,t)});function ak(e){return new ik({type:`transform`,transform:e})}let ok=H(`ZodMiniOptional`,(e,t)=>{aO.init(e,t),jO.init(e,t)});function J(e){return new ok({type:`optional`,innerType:e})}let sk=H(`ZodMiniNullable`,(e,t)=>{oO.init(e,t),jO.init(e,t)});function ck(e){return new sk({type:`nullable`,innerType:e})}let lk=H(`ZodMiniPipe`,(e,t)=>{sO.init(e,t),jO.init(e,t)});function uk(e,t){return new lk({type:`pipe`,in:e,out:t})}let dk=H(`ZodMiniCodec`,(e,t)=>{lk.init(e,t),lO.init(e,t)});function fk(e,t,n){return new dk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let pk=H(`ZodMiniReadonly`,(e,t)=>{fO.init(e,t),jO.init(e,t)});function Y(e){return new pk({type:`readonly`,innerType:e})}let mk=H(`ZodMiniTemplateLiteral`,(e,t)=>{mO.init(e,t),jO.init(e,t)});function hk(e,t){return new mk({type:`template_literal`,parts:e,...$E(t)})}let gk=H(`ZodMiniCustom`,(e,t)=>{hO.init(e,t),jO.init(e,t)});function _k(e,t){return kO(gk,e??(()=>!0),t)}function vk(e,t={}){return AO(gk,e,t)}function yk(e){return e}function bk(e){return e}R();let X=()=>hk([`0x`,U().check(OO(/^[0-9a-fA-F]{40}$/))],`Expected address`),xk=()=>fk(K([Z(),RO()]),RO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>F(e)}),Z=()=>hk([`0x`,U()],`Expected hex value`),Sk=()=>fk(K([Z(),PO()]),PO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:_p(e),encode:e=>F(e)});R();let Ck=G({address:X(),blockHash:Z(),blockNumber:xk(),data:Z(),logIndex:Sk(),removed:IO(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Sk()}),wk=G({blobGasPrice:J(xk()),blobGasUsed:J(xk()),blockHash:Z(),blockNumber:xk(),contractAddress:ck(X()),cumulativeGasUsed:xk(),effectiveGasPrice:xk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:xk(),logs:W(Ck),logsBloom:Z(),root:J(Z()),status:fk(Z(),nk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:ck(X()),transactionHash:Z(),transactionIndex:Sk(),type:Z()}),Tk=_k(),Ek=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Dk=fk(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:xk(),expiry:K([Sk(),HO(),BO()]),keyId:X(),keyType:Ek,limits:J(Y(W(G({token:X(),limit:xk(),period:J(Sk())})))),signature:Tk}),_k(),{decode(e){return VC({chainId:F(e.chainId),expiry:e.expiry==null?null:F(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:F(e),...typeof t==`number`?{period:F(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=qC(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:_p(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:L(e),...t?{period:_p(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}:{}}))}:{}}))}:{}}}}),Ok=G({data:J(Z()),to:J(X()),value:J(xk())}),kk=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Ok))),chainId:J(Sk()),data:J(Z()),feePayer:J(K([IO(),U()])),feePayerSignature:J(ek(U(),WO())),feeToken:J(X()),from:J(X()),gas:J(xk()),keyAuthorization:J(Dk),keyData:J(Z()),keyId:J(X()),keyType:J(Ek),maxFeePerGas:J(xk()),maxPriorityFeePerGas:J(xk()),nonce:J(Sk()),nonceKey:J(xk()),to:J(X()),validAfter:J(Sk()),validBefore:J(Sk()),value:J(xk())});var Ak;(function(e){e.schema=yk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(Ak||={});var jk;(function(e){e.schema=yk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(jk||={});var Mk;(function(e){e.schema=yk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(Mk||={});var Nk;(function(e){e.schema=yk({method:q(`eth_sendTransaction`),params:Y(QO([kk])),returns:Z()})})(Nk||={});var Pk;(function(e){let t=G({address:X(),decimals:PO(),direction:nk([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:PO(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=yk({method:q(`eth_fillTransaction`),params:Y(QO([kk])),returns:G({capabilities:G({balanceDiffs:J(ek(X(),Y(W(t)))),error:J(G({abiItem:J(ek(U(),WO())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:PO(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:PO(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:PO()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:IO()}),tx:ek(U(),WO())})})})(Pk||={});var Fk;(function(e){e.schema=yk({method:q(`eth_signTransaction`),params:Y(QO([kk])),returns:Z()})})(Fk||={});var Ik;(function(e){e.schema=yk({method:q(`eth_sendTransactionSync`),params:Y(QO([kk])),returns:wk})})(Ik||={});var Lk;(function(e){e.schema=yk({method:q(`eth_signTypedData_v4`),params:Y(QO([X(),U()])),returns:Z()})})(Lk||={});var Rk;(function(e){e.schema=yk({method:q(`personal_sign`),params:Y(QO([Z(),X()])),returns:Z()})})(Rk||={});let zk=J(G({feePayer:J(K([IO(),U()])),sync:J(IO())}));var Bk;(function(e){e.schema=yk({method:q(`wallet_sendCalls`),params:J(Y(QO([G({atomicRequired:J(IO()),calls:Y(W(Ok)),capabilities:zk,chainId:J(Sk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(IO()),capabilities:zk,chainId:J(Sk()),id:U(),receipts:J(W(wk)),status:J(PO()),version:J(U())})})})(Bk||={});var Vk;(function(e){e.schema=yk({method:q(`wallet_getBalances`),params:J(Y(QO([G({account:J(X()),chainId:J(Sk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:xk(),decimals:PO(),display:U(),name:U(),symbol:U()})))})})(Vk||={});var Hk;(function(e){e.schema=yk({method:q(`wallet_getCapabilities`),params:J(Y(K([QO([X()]),QO([X(),Y(W(Z()))])]))),returns:ek(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`)])}))}))})})(Hk||={});var Uk;(function(e){e.showDeposit=J(K([IO(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(xk()),expiry:PO(),keyType:J(Ek),limits:J(Y(W(G({token:X(),limit:xk(),period:J(PO())})))),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:Dk,rootAddress:X()}),e.schema=yk({method:q(`wallet_authorizeAccessKey`),params:Y(QO([e.parameters])),returns:e.returns})})(Uk||={});var Wk;(function(e){e.parameters=G({address:J(X()),expiry:PO(),keyType:J(Ek),limits:Y(W(G({token:X(),limit:xk(),period:J(PO())})).check(DO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(DO(1))),showDeposit:Uk.showDeposit})})(Wk||={});var Gk;(function(e){e.schema=yk({method:q(`wallet_revokeAccessKey`),params:Y(QO([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(Gk||={});var Kk;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(xk()),limits:Y(W(G({token:X(),limit:xk()})).check(DO(1)))}),e.schema=yk({method:q(`wallet_updateAccessKey`),params:Y(QO([e.parameters])),returns:void 0})})(Kk||={});var qk;(function(e){e.authorizeAccessKey=J(qO(Uk.parameters,{showDeposit:!0})),e.showDeposit=J(K([IO(),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(IO())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([IO(),G({nonce:J(U())})]))})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(U()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(IO()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(ck(U())),idToken:J(U())})),keyAuthorization:J(Dk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(ck(U())),auth:J(G({token:J(U())}))})},e.schema=yk({method:q(`wallet_connect`),params:J(Y(QO([G({capabilities:e.capabilities.request,chainId:J(Sk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(qk||={});var Jk;(function(e){let t=J(qO(Wk.parameters,{showDeposit:!0})),n=qk.auth,r=qk.identity,i=qk.personalSign,a=qk.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(U()),personalSign:i,showDeposit:a,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J(IO()),showDeposit:a})])),chainId:J(Sk()),version:J(U())})})(Jk||={});var Yk;(function(e){e.schema=yk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(Yk||={});var Xk;(function(e){e.schema=yk({method:q(`wallet_getCallsStatus`),params:J(Y(QO([U()]))),returns:G({atomic:IO(),chainId:Sk(),id:U(),receipts:J(W(wk)),status:PO(),version:U()})})})(Xk||={});var Zk;(function(e){e.parameters=XO(`editable`,[G({amount:U(),chainId:J(Sk()),editable:J(q(!1)),feePayer:J(K([IO(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Sk()),editable:q(!0),feePayer:J(K([IO(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=yk({method:q(`wallet_transfer`),params:J(Y(QO([e.parameters]))),returns:G({chainId:Sk(),receipt:wk})})})(Zk||={});let Qk=G({amount:J(U()),pairToken:J(X()),slippage:J(PO().check(TO(0),wO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var $k;(function(e){e.schema=yk({method:q(`wallet_swap`),params:J(Y(QO([Qk]))),returns:G({receipt:wk})})})($k||={});var eA;(function(e){e.schema=yk({method:q(`wallet_switchEthereumChain`),params:Y(QO([G({chainId:Sk()})])),returns:void 0})})(eA||={});var tA;(function(e){e.schema=yk({method:q(`wallet_deposit`),params:J(Y(QO([G({address:J(X()),amount:J(U()),chainId:J(Sk()),displayName:J(U()),intent:J(K([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(wk)))}))})})(tA||={});var nA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([IO(),U()])),token:J(X()),zoneId:J(Sk())}),e.schema=yk({method:q(`wallet_depositZone`),params:J(Y(QO([e.parameters]))),returns:G({receipt:wk})})})(nA||={});var rA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Sk())}),e.schema=yk({method:q(`wallet_withdrawZone`),params:J(Y(QO([e.parameters]))),returns:G({receipt:wk})})})(rA||={}),Wk.parameters,Jk.parameters;let iA=bk([Ak.schema,jk.schema,Pk.schema,Mk.schema,Nk.schema,Ik.schema,Fk.schema,Lk.schema,Rk.schema,Uk.schema,qk.schema,tA.schema,nA.schema,Yk.schema,Vk.schema,Xk.schema,Hk.schema,Gk.schema,Kk.schema,Zk.schema,Bk.schema,$k.schema,eA.schema,rA.schema]),aA=hS();function oA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let sA=XO(`method`,iA.map(oA));function cA(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`},lA={payment:`Payment`},uA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},dA={charge:`charge`,session:`session`,subscription:`subscription`},fA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},pA={v1:`v1`,v2:`v2`};function mA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var hA=class extends Error{status=402;hint;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},gA=class extends hA{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},$=class extends hA{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{reason:t}=e;super(t?`Payment verification failed: ${t}.`:`Payment verification failed.`)}},_A=class extends hA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function vA(e,t){if(!e)throw new gA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new gA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new _A({expires:e})}Nf();function yA(e){let t=rx(e);return JSON.parse(t)}function bA(e){return tx(kf(e),{pad:!1,url:!0})}function xA(){return U().check(OO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function SA(){return U().check(OO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function CA(e=`Invalid ISO 8601 datetime`){return uk(K([SA(),_k(e=>e instanceof Date)]),ak(wA)).check(vk(e=>Number.isFinite(e.getTime()),e))}function wA(e){return e instanceof Date?e:new Date(e)}function TA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function EA(){return U().check(OO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function DA(){return U().check(OO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function OA(){return U().check(OO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}ap();let kA=G({description:J(U()),digest:J(U().check(OO(/^sha-256=/,`Invalid digest format`))),expires:J(SA()),id:U().check(DO(1)),intent:U(),method:U(),meta:J(ek(U(),U())),opaque:J(U()),realm:U(),request:ek(U(),WO())});function AA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?TA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:bA(i)),f=l?VA({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return kA.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 jA(e,t){let n=MA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=NA(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 AA({...a,request:yA(r),...i&&{opaque:i}},t)}function MA(e){let t=lA.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(!IA(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 NA(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]=PA(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function PA(e,t){if(e[t]===`\"`)return FA(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function FA(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 IA(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 LA(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return RA(e.headers,t)}function RA(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return zA(n,t)}function zA(e,t){let n=[],r=RegExp(`${lA.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 jA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function BA(e){return[e.realm,e.method,e.intent,bA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?bA(e.meta):``)].join(`|`)}function VA(e,t){let n=BA(e);return $b(f_(zf(t.secretKey),zf(n),{as:`Bytes`}),{url:!0,pad:!1})}let HA=Symbol.for(`mppx.x402.challenge`);function UA(e){return Object.defineProperty(e,HA,{value:!0}),e}function WA(e){return!!e?.[HA]}function GA(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=XA(n)}return t}function KA(e,t){let n=GA(e),r=rj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[XA(e)]??1,index:t}));return{definition:r,entries:i,header:JA(i),keys:n}}function qA(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)=>tj(e,t))}function JA(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${sj(n)}`}).join(`, `)}function YA(e,t,n){let r=new Map;for(let e of t){let t=XA(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(XA(e));if(!i)return[];let a=ZA(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)=>ej(e.challenge)-ej(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function XA(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function ZA(e,t){let n;for(let r of t){if(!QA(e,r))continue;let t={...r,specificity:$A(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 QA(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function $A(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function ej(e){return+!!WA(e)}function tj(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}`);cj(r,`method`),cj(i,`intent`);let a=1;for(let t of nj(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=aj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function nj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function rj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>XA(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=ij(t,`payment preference \"${e}\"`)}return a}function ij(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return oj(e,t)}function aj(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 oj(Number(e),t)}function oj(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 sj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function cj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var lj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},uj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function dj(e){let t=e.match(RegExp(`^${lA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new lj;try{let e=rx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=fj(r);return{challenge:kA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:yA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new uj}}function fj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!pj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:bA(e)}}function pj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function mj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:bA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:bA(r)},payload:e.payload,...e.source&&{source:e.source}},s=tx(JSON.stringify(o),{pad:!1,url:!0});return`${lA.payment} ${s}`}var hj=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function gj(e){}function _j(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=gj,onError:n=gj,onRetry:r=gj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new hj(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(vj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else yj(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(vj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(yj(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);l=r.includes(`\\0`)?void 0:r;return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:l=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new hj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new hj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function vj(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function yj(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}let bj=[`exact`],xj=`PAYMENT-REQUIRED`,Sj=`PAYMENT-SIGNATURE`,Cj=U().check(DO(1)),wj=PO().check(vk(e=>e>0,`Must be positive`)),Tj=U().check(OO(/^\\d+$/,`Invalid atomic amount`)),Ej=EA(),Dj=U().check(OO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Oj=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Cj}),kj=G({amount:Tj,asset:Cj,extra:J(ek(U(),WO())),maxTimeoutSeconds:wj,network:Dj,payTo:Cj,scheme:nk(bj)}),Aj=ek(U(),G({info:ek(U(),WO()),schema:ek(U(),WO())})),jj=G({accepts:W(kj).check(DO(1)),error:J(U()),extensions:J(Aj),resource:Oj,x402Version:q(2)}),Mj=K([G({authorization:G({from:Ej,nonce:DA(),to:Ej,validAfter:Tj,validBefore:Tj,value:Tj}),signature:OA()}),G({permit2Authorization:G({deadline:Tj,from:Ej,nonce:Tj,permitted:G({amount:Tj,token:Ej}),spender:Ej,witness:G({to:Ej,validAfter:Tj})}),signature:OA()})]),Nj=G({accepted:kj,extensions:J(Aj),payload:Mj,resource:J(Oj),x402Version:q(2)}),Pj=G({amount:J(Tj),errorMessage:J(U()),errorReason:J(U()),extensions:J(Aj),extra:J(ek(U(),WO())),network:Cj,payer:J(U()),success:IO(),transaction:U()}),Fj=[Q.authorization,xj,`PAYMENT-RESPONSE`,Sj];function Ij(e,t,n){let r=new Headers(e.headers);for(let e of Fj)r.delete(e);return r.set(t,n),{...e,headers:r}}function Lj(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 Rj=new WeakMap;function zj(e){let t=Lj(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 Bj(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 Vj(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=kA.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function Hj(e){if(e)return`error`in e?e.error?.code===-32042?Vj(e.error.data):void 0:Vj(e.result?._meta?.[`org.paymentauth/payment-required`])}function Uj(e,t){return!e||e.id!==t?[]:Hj(e)?.challenges??[]}async function Wj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=_j({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=Bj(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 Gj(e){let t=Rj.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(Bj).catch(()=>void 0);if(t.includes(`text/event-stream`))return Wj(e)})();return Rj.set(e,n),n}function Kj(){return{getChallenges(e,t){let n=zj(t);return e.status===402||n===void 0?[]:Gj(e).then(e=>Uj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=dj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function qj(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:LA(e)},setCredential(e,t){return Ij(e,Q.authorization,t)}}}function Jj(e){return{encode(t){return tx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(rx(t)))}catch{throw new Yj}}}}var Yj=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let Xj=Jj(jj),Zj=Jj(Nj),Qj=Jj(Pj);Xj.encode,Xj.decode;function $j(e){try{let t=JSON.parse(rx(e));return eM(t)}catch{throw new Yj}}Zj.encode,Zj.decode,Qj.encode,Qj.decode;let eM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new Yj;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new Yj;let n=Oj.parse(t.resource),r=t.extensions===void 0?void 0:Aj.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function tM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(xj);if(!t)return[];let n=$j(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=kj.safeParse(e);if(!r.success)return[];let i=r.data;return UA(AA({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return Ij(e,Sj,t)}}}function nM(e){return e}function rM(){let e=[qj(),tM(),Kj()],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 nM({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 iM=Symbol.for(`mppx.fetch.wrapper`),aM;function oM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=rM()}=e,l=e.eventDispatcher??lM(),u=t??KA(a),d=kM(r),f=async(e,t)=>{let r=OM(e,t?.headers),f=r.has(Q.acceptPayment),p=NM(r,u),m=EM(e,t,r),h=TM(e,t,r,p.header,f,n),g=await d(AM(h.input),h.init),_=DM(h.init,await m);if(!await c.isPaymentRequired(g,_))return g;let v=t?.context,{context:y,orderChallenges:b,...x}=_??{},S,C,w;try{for(let n=0;n<i;n++){C=c.getChallenges?await c.getChallenges(g,_):[await c.getChallenge(g,_)];let r=(await PM(YA(C,a,p.entries),b??s))[0];if(!r){if(n>0)return g;throw Error(`No method found for challenges: ${C.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let i=r.challenge;S=i,w=r.method,S.expires&&vA(S.expires,S.id);let u=pM(e=>MM(i,r.method,e??v)),f=await l.emit(`challenge.received`,mM({challenge:i,challenges:C,createCredential:u,init:t,input:e,method:r.method,response:g}))??(o?await o(S,{createCredential:u}):void 0)??await u();if(jM(f),await l.emit(`credential.created`,hM({challenge:i,credential:f,init:t,input:e,method:r.method,response:g})),g=await d(zM(g,h.input,h.input),c.setCredential({...x,headers:h.headers},f,{challenge:i})),g.ok&&await l.emit(`payment.response`,gM({challenge:i,credential:f,init:t,input:e,method:r.method,response:g})),!await c.isPaymentRequired(g,_))return g}return g}catch(n){throw await l.emit(`payment.failed`,_M({challenge:S,challenges:C,error:n,init:t,input:e,method:w,response:g})),n}};return f[iM]=d,f}function sM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);aM||=globalThis.fetch,globalThis.fetch=oM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(LM()?`same-origin`:`always`),fetch:globalThis.fetch})}function cM(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 lM(){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 uM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await fM(e[`*`],t,n),r}case`credential.created`:await dM(e[`credential.created`],n),await fM(e[`*`],t,n);return;case`payment.failed`:await dM(e[`payment.failed`],n),await fM(e[`*`],t,n);return;case`payment.response`:await dM(e[`payment.response`],n),await fM(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 uM(e,t){try{return await e(t)}catch{return}}async function dM(e,t){for(let n of e)try{await n(t)}catch{}}async function fM(e,t,n){await dM(e,Object.freeze({name:t,payload:n}))}function pM(e){let t;return n=>(t??=e(n),t)}function mM(e){return Object.freeze({challenge:SM(e.challenge),challenges:e.challenges.map(e=>SM(e)),createCredential:e.createCredential,init:vM(e.init),input:yM(e.input),method:bM(e.method),response:xM(e.response)})}function hM(e){return Object.freeze({challenge:SM(e.challenge),credential:e.credential,init:vM(e.init),input:yM(e.input),method:bM(e.method),...e.response===void 0?{}:{response:xM(e.response)}})}function gM(e){return Object.freeze({challenge:SM(e.challenge),credential:e.credential,init:vM(e.init),input:yM(e.input),method:bM(e.method),response:xM(e.response)})}function _M(e){return Object.freeze({...e.challenge?{challenge:SM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>SM(e))}:{},error:e.error,init:vM(e.init),input:yM(e.input),...e.method?{method:bM(e.method)}:{},...e.response===void 0?{}:{response:xM(e.response)}})}function vM(e){if(e)return wM({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function yM(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function bM(e){return wM(Object.assign({},e))}function xM(e){return e instanceof Response?e.clone():SM(e)}function SM(e){try{return CM(structuredClone(e))}catch{return wM(e)}}function CM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))CM(t);return e}function wM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function TM(e,t,n,r,i,a){let o=!!r&&!i&&FM(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 EM(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 DM(e,t){return t===void 0?e:{...e,body:t}}function OM(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function kM(e){let t=e;for(;t[iM];)t=t[iM];return t}function AM(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function jM(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 MM(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 NM(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:qA(n),header:n}}catch{return t}}async function PM(e,t){return t?t(e):e}function FM(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=RM(e);return t===`same-origin`?LM()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>IM(n,e))}function IM(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 LM(){return globalThis.location!==void 0}function RM(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,LM()?globalThis.location.href:void 0)}function zM(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=RM(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 BM(e){return e}function VM(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function HM(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return M(r)}}function UM(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=Sh({chain:i.chain,transport:SE(Gb(e),Gb(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?SE(Gb(a),Gb(n)):Gb(a);return Sh({chain:{...t,id:r},transport:o})}}let WM={mainnet:4217,testnet:42431},GM={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};WM.mainnet,GM.usdc,WM.testnet,GM.pathUsd;let KM={[WM.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[WM.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},qM={[WM.mainnet]:`https://rpc.tempo.xyz`,[WM.testnet]:`https://rpc.moderato.tempo.xyz`},JM=[`push`,`pull`],YM=G({amount:xA(),memo:J(DA()),recipient:uk(U(),ak(e=>e))}),XM=(1n<<64n)-1n,ZM={dev_second:1n,day:86400n,week:604800n},QM=uk(EA(),ak(e=>e.toLowerCase())),$M=G({accessKeyAddress:QM,keyType:nk([`p256`,`secp256k1`,`webAuthn`])}),eN=G({accessKey:J($M),chainId:J(PO())}),tN=CA(`subscriptionExpires must be a valid date`).check(vk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),nN=nk([`dev_second`,`day`,`week`]),rN=uk(K([U(),RO(),_k(e=>typeof e==`number`&&Number.isSafeInteger(e))]),ak(e=>e.toString())).check(OO(/^[1-9]\\d*$/,`Invalid periodCount`),vk(e=>{try{return BigInt(e)<=XM}catch{return!1}},`periodCount exceeds uint64`));function iN(e){return vk(e=>{let{amount:t,decimals:n}=e;return Ty(t,n)>0n},e)}function aN(e){let{periodCount:t,periodUnit:n}=e;try{let e=ZM[n];return e===void 0?!1:BigInt(t)*e<=XM}catch{return!1}}let oN=BM({name:`tempo`,intent:`charge`,schema:{credential:{payload:XO(`type`,[G({hash:DA(),type:q(`hash`)}),G({signature:OA(),type:q(`transaction`)}),G({signature:OA(),type:q(`proof`)})])},request:uk(G({amount:xA(),chainId:J(PO()),currency:U(),decimals:PO(),description:J(U()),externalId:J(U()),feePayer:J(uk(K([IO(),_k()]),ak(e=>typeof e==`object`?!0:e))),memo:J(DA()),recipient:J(U()),splits:J(W(YM).check(DO(1),EO(10))),supportedModes:J(W(nk(JM)).check(DO(1)))}).check(vk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Ty(e,t),i=n.reduce((e,n)=>e+Ty(n.amount,t),0n);return n.every(e=>Ty(e.amount,t)>0n)&&i<r},`Invalid splits`)),ak(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Ty(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:Ty(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),sN=BM({name:`tempo`,intent:`session`,schema:{credential:{payload:XO(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA(),transaction:OA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:xA(),channelId:DA(),descriptor:J(_k()),transaction:OA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA()}),G({action:q(`close`),channelId:DA(),cumulativeAmount:xA(),descriptor:J(_k()),signature:OA()})])},request:uk(G({amount:xA(),chainId:J(PO()),channelId:J(DA()),currency:U(),decimals:PO(),escrowContract:J(U()),feePayer:J(uk(K([IO(),_k()]),ak(e=>typeof e==`object`?!0:e))),minVoucherDelta:J(xA()),operator:J(EA()),recipient:J(U()),sessionProtocol:J(nk([pA.v2,pA.v1])),sessionSnapshot:J(_k()),suggestedDeposit:J(xA()),unitType:U()}).check(vk(({amount:e,decimals:t})=>Ty(e,t)>0n,`Session amount must be greater than 0`)),ak(({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:Ty(e,r).toString(),...u?{suggestedDeposit:Ty(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Ty(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[fA.sessionProtocol]:c},...l!==void 0&&{[fA.sessionSnapshot]:l}}})))}}),cN=BM({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:OA(),type:q(`keyAuthorization`)})},request:uk(G({amount:xA(),accessKey:J($M),chainId:J(PO()),currency:QM,decimals:PO(),description:J(U()),externalId:J(U()),methodDetails:J(eN),periodCount:rN,periodUnit:nN,recipient:QM,subscriptionExpires:tN}).check(iN(`Subscription amount must be greater than 0`),vk(aN,`Subscription period exceeds uint64`)),ak(({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:Ty(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Fi(),Qd();let lN=(1n<<64n)-1n,uN={dev_second:1n,day:86400n,week:604800n};function dN(e){return e instanceof Date?e:new Date(e)}function fN(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 pN(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=uN[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>lN)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 mN(e){let{challengeExpires:t,request:n}=e;pN(n);let r=fN(dN(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 hN(e){return[{address:DN(e.currency,`currency`),selector:`0x95777d59`,recipients:[DN(e.recipient,`recipient`)]}]}async function gN(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=vN({accessKey:t,chainId:r,request:i});return BC(a,{signature:tC(await n.sign({hash:UC(a)}))})}function _N(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=yN(r.signature),o=bN(a);return xN({accessKey:t,authorization:a,chainId:n}),SN(a,i),wN(CN(a),i),TN(a.scopes,i),{authorization:a,source:{address:EN(a,o),chainId:n}}}function vN(e){let{accessKey:t,chainId:n,request:r}=e;return BC({address:DN(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:fN(dN(r.subscriptionExpires)),limits:[{token:DN(r.currency,`currency`),limit:BigInt(r.amount),period:pN(r)}],scopes:hN(r),type:t.keyType})}function yN(e){try{return WC(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function bN(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function xN(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!Zd(n.address,DN(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function SN(e,t){if(mN({request:t}),e.expiry!==fN(dN(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function CN(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function wN(e,t){if(!Zd(e.token,DN(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==pN(t))throw new $({reason:`keyAuthorization period mismatch`})}function TN(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=DN(t.currency,`currency`),r=DN(t.recipient,`recipient`),i=new Set;for(let t of e){if(!Zd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=ON(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||!Zd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function EN(e,t){let n=UC(e);try{let e=QS({payload:n,signature:t});if(!sC(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 DN(e,t){if(!Mi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function ON(e){return typeof e==`string`?e.toLowerCase():``}R(),Qd();let kN=G({accessKey:J(_k()),account:J(_k())});function AN(e={}){let t=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),n=HM({account:e.account});return VM(cN,{context:kN,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??WM.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.\");MN(r.request),await e.validateRequest?.(r.request);let l=await jN(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Zd(_N({accessKey:c,chainId:a,payload:{signature:KC(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return mj({challenge:r,payload:{signature:KC(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function jN(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await gN({accessKey:n,account:r,chainId:i,request:a})||VC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:fN(dN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:pN(a)}],scopes:hN(a)}]})).keyAuthorization)}function MN(e){pN(e),fN(dN(e.subscriptionExpires))}ap(),R();let NN=I(d_(zf(`mpp`),{as:`Hex`}),0,4);function PN(e){return gp(I(d_(zf(e),{as:`Hex`}),0,10))}function FN(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(gp(NN),0),i[4]=1,i.set(PN(t),5),n&&i.set(PN(n),15),i.set(IN(r),25),lp(i)}function IN(e){return gp(I(d_(zf(e),{as:`Hex`}),0,7))}function LN(e,t){return e.toLowerCase()===t.toLowerCase()}let RN=[GM.pathUsd,GM.usdc];function zN(e,t){let n=qT.call;return n.length>=2?n(e,t):n(t)}function BN(e,t){let n=VT.call;return n.length>=2?n(e,t):n(t)}function VN(e,t){let n=ET.call;return n.length>=2?n(e,t):n(t)}async function HN(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!LN(e,i)),c=await Promise.allSettled([Um(e,zN(e,{account:n,token:i})),...s.map(t=>Um(e,zN(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await jT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[BN(e,{amount:n,spender:iT,token:l}),VN(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new WN({currency:i})}}function UN(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>LN(e,t)))]:t,slippage:e.slippage??1}:!1}var WN=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function GN(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 KN={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function qN(e){return{name:`MPP`,version:`3`,chainId:e}}function JN(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function YN(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:qN(n),types:KN,primaryType:`Proof`,message:JN({account:t,challengeId:r,realm:i})}}function XN(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let ZN=G({account:J(_k()),autoSwap:J(_k()),mode:J(nk(JM))});function QN(e,t){let n=oE.call;return n.length>=2?n(e,t):n(t)}function $N(e={}){let{clientId:t}=e,n=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),r=HM({account:e.account});return VM(oN,{context:ZN,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 mj({challenge:i,payload:{signature:await Pb(c,{account:m,...YN({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:XN({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:FN({challengeId:i.id,clientId:t,serverId:i.realm}),_=GN({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>QN(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=UN(a?.autoSwap??e.autoSwap,RN),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 HN(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 kb(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return mj({challenge:i,payload:{hash:t,type:`hash`},source:XN({address:y.address,chainId:l})})}let C=await Jd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return mj({challenge:i,payload:{signature:await Nb(c,C),type:`transaction`},source:XN({address:y.address,chainId:l})})}})}function eP(e){return`accessKeyAddress`in e}function tP(e){return eP(e)?e.accessKeyAddress:e.address}function nP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let rP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function iP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function aP(e,t,n){return hg({domain:nP(e,t),types:rP,primaryType:`Voucher`,message:iP(n)})}async function oP(e,t,n,r,i){return Pb(e,{account:t,domain:nP(r,i),types:rP,primaryType:`Voucher`,message:iP(n)})}function sP(e){let t=tC(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 Vv(t.inner.signature)}return iC(t)}function cP(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function lP(e){if(!cP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function uP(e,t,n,r,i,a){let o=a??t,s=tP(o),c=aP(r,i,n),l=sP(eP(o)?await o.sign({hash:c,raw:!0}):await oP(e,o,n,r,i)),u=tC(l);if(lP(u),!sC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function dP(e){return d_(fv(mv([`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 fP=[{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:[]}];hm(),ba(),zp(),ma(),ua(),Hm();async function pP(e,t,n){return Um(e,{address:t,abi:fP,functionName:`getChannel`,args:[n]})}da({abi:fP,name:`open`}),da({abi:fP,name:`topUp`}),R(),ba();function mP(e,t){return t??e}function hP(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??KM[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function gP(e,t,n,r){return mj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function _P(e,t,n,r,i,a,o){let s=mP(t,o),c=await uP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function vP(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=mP(t,n.voucherSigner),d=tP(u),f=pp(32),p=dP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=ya({abi:B,functionName:`approve`,args:[r,o]}),h=ya({abi:fP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Jd(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 Nb(e,_),y=await uP(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 yP(e,t,n,r){try{let i=await pP(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 bP=G({account:J(_k()),action:J(nk([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(xA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(xA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function xP(e={}){let{decimals:t=6}=e,n=UM({chain:_E,getClient:e.getClient,rpcUrl:qM}),r=HM({account:e.account}),i=e.maxDeposit===void 0?void 0:Ty(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 hP(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 Ty(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 yP(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Ty(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 _P(h,d,ee.channelId,ee.cumulativeAmount,g,m,C),c(ee);else{let e=await vP(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 gP(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?Ty(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Ty(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 uP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:tP(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 _P(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 uP(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 gP(r,x,d,i)}return VM(sN,{canHandleChallenge({challenge:e}){let t=mA(e.request.methodDetails,fA.sessionProtocol);return t===void 0||t===pA.v1},context:bP,async createCredential({challenge:t,context:a}){let o=t.request.methodDetails?.chainId??0,s=await n({chainId:o}),c=r(s,a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,c,a);if(a?.action)return f(t,c,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let SP=(1n<<96n)-1n;function CP(e){return e>=0n&&e<=SP}function wP(e){return TP(e),e}function TP(e){if(!CP(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function EP(e){return typeof e==`object`&&!!e}function DP(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function OP(e){return EP(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function kP(e){return EP(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 AP(e){let t=rx(e),n=JSON.parse(t);if(!kP(n))throw Error(`Invalid session receipt.`);return n}function jP(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function MP(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=NP(r);return OP(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=NP(r);return kP(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function NP(e){try{return JSON.parse(e)}catch{return null}}function PP(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function FP(){return JSON.stringify({mpp:`payment-close-request`})}function IP(e){let t=LP(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`&&kP(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`&&OP(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&kP(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function LP(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let RP=`0x4d50500000000000000000000000000000000000`,zP={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function BP(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Ty(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=xP({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=oM({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function ee(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function te(e){if(!h)return;let t=h;h=null,t.reject(e)}function ne(e){if(!p)return;let t=p;p=null,t.reject(e)}function re(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function ie(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ae(e){let t=e.headers.get(Q.paymentReceipt),n=t?AP(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function oe(e,t){return o=e,ae(await y(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!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=zP.CLOSED,r=null}if(e===`open`&&(i=zP.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:oe,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await oe(e,{...s,headers:{...cM(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=MP(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);ie(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[Q.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let re=(await VP(YA(LA(C),[v],KA([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!re)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=re;let ae=await v.createCredential({challenge:re,context:{}});f=null,l=re,g=0n,_=BigInt(re.request.amount);let oe=dj(ae);u=oe.payload.channelId;let ce=new n(y,p);d=ce;let le=se(ce),ue=e=>{te(Error(e)),ne(Error(e)),(ce.readyState===zP.CONNECTING||ce.readyState===zP.OPEN)&&ce.close(3008,e)},de=e=>e.challengeId===re.id&&e.channelId===u,fe=new Promise((e,t)=>{let n=()=>{ce.removeEventListener(`error`,r),le.emit(`open`,{type:`open`}),e()},r=()=>{ce.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};ce.addEventListener(`open`,n,{once:!0}),ce.addEventListener(`error`,r,{once:!0})});return ce.addEventListener(`close`,e=>{d===ce&&(d=null),l===re&&(l=null),u===oe.payload.channelId&&(u=null),m=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),le.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ce.addEventListener(`error`,()=>{le.emit(`error`,{type:`error`})}),ce.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=IP(t);if(!n){le.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,le.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!de(n.data)){ue(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ue(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),ee(n.data),le.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){ue(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){ue(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:re,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});ce.send(PP(r));break}case`payment-receipt`:if(!de(n.data)){ue(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){ue(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),ce.close()},{once:!0}),await fe,ce.send(PP(ae)),await S(),le.socket},async close(){let e=l??a,n=u??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(d?.readyState===zP.OPEN){let t=f??await(async()=>(d.send(FP()),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(PP(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(re(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(Q.paymentReceipt);return p?AP(p):void 0}}}async function VP(e,t){let n=t;return n?n(e):e}R();function HP(e){return d_(fv(mv([`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 UP(e){return gw(e)}function WP(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function GP(e,t){return d_(P(UP(e),t.sender))}let KP=[{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`}],qP=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],JP={name:`descriptor`,type:`tuple`,components:KP},YP=[{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:[JP,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[JP,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[JP,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[JP],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[JP],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[JP],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:KP},{name:`state`,type:`tuple`,components:qP}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:qP}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:qP}]},{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 XP(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let ZP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function QP(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function $P(e,t){return Yw(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function eF(e,t,n,r,i){let a=tC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await $P(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Pb(e,{account:t,domain:XP(r,i),types:ZP,primaryType:`Voucher`,message:n})})());if(!QP(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return iC(a)}R(),ba(),Fi();function tF(e){return typeof e==`object`&&!!e}function nF(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function rF(e){return nF(e.accessKeyAddress)}function iF(e){return rF(e)??e.address}async function aF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return Jd(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function oF(e,t){return await Nb(e,t)}function sF(e,t){let n=e.request.methodDetails,r=tF(n)?nF(n.escrowContract)??nF(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function cF(e,t,n,r){return mj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function lF(e,t){return e.toLowerCase()===t.toLowerCase()}async function uF(e,t,n,r,i,a=RP){let o=HP({...n,chainId:i,escrow:a}),s=wP(r),c=await eF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function dF(e,t,n,r,i,a=RP){let o=await uF(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function fF(e,t,n){let r=iF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=pp(32),s=wP(n.deposit),c=wP(n.initialAmount),l=await oF(e,await aF(e,{account:t,calls:[{to:i,data:ya({abi:YP,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=zw(l),d={authorizedSigner:r,expiringNonceHash:GP(WP({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=HP({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await eF(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function pF(e,t,n,r,i,a,o=RP){let s=HP({...n,chainId:i,escrow:o}),c=wP(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await oF(e,await aF(e,{account:t,calls:[{to:o,data:ya({abi:YP,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}function mF(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function hF(e){return mF({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function gF(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(hF(t),t)},delete(t){e.delete(t)}}}Hm();let _F=2n**96n-1n;function vF(e){if(e<0n||e>_F)throw new $({reason:`amount exceeds uint96 range`})}async function yF(e,t,n=RP,r){return bF(await Um(e,{address:n,abi:YP,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function bF(e){return vF(e.settled),vF(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Fi();let xF=_k(e=>typeof e==`string`&&Mi(e,{strict:!1})),SF=_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),CF=Jj(G({acceptedCumulative:U(),chainId:PO(),channelId:SF,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:xF,expiringNonceHash:SF,operator:xF,payee:xF,payer:xF,salt:SF,token:xF}),escrow:xF,requiredCumulative:U(),settled:U(),spent:U(),units:J(PO())}));function wF(e){return CF.encode(e)}function TF(e){return CF.decode(e)}let EF={status:`idle`};function DF(e){return{status:`active`,...e}}function OF(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?NF(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:jF(e.challengeId,t.snapshot),effects:[]}:NF(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:WF({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:MF(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:NF(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?NF(e,t):{state:qF(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?AF({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):NF(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:NF(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?NF(e,t):{state:MF(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}]}:NF(e,t);case`settled`:return e.status===`settling`?{state:MF(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:NF(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:NF(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:NF(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?NF(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`?NF(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function kF(e,t){let n=OF(e.state,t);return e.state=n.state,n}function AF(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 jF(e,t){return DF({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function MF(e,t,n,r){return DF({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function NF(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function PF(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function FF(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`);PF({cumulativeAmount:i,maxVoucherCumulative:n}),PF({cumulativeAmount:a,maxVoucherCumulative:n})}function IF(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;FF({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function LF(e,t){return typeof e==`bigint`?e:Ty(e,t)}function RF(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(zF(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 zF(e,t){PF({cumulativeAmount:e,maxVoucherCumulative:t??null})}function BF(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 VF(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function HF(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>VF({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function UF(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 WF(e){return DF({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 GF(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:EF}}function KF(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=IF({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&kF(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function qF(e,t){return DF({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function JF(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 YF(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 OF(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function XF(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 ZF(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 QF(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(FP()),e.waitForCloseReady()))(),a=BigInt(i.spent);HF({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=>UF({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(PP(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Fi();function $F(e){return`cumulativeAmount`in e}function eI(e){if($F(e))return BigInt(e.cumulativeAmount)}async function tI(e,t){t.opened?await e.store.set(t):await e.store.delete(hF(t)),e.notifyUpdate(t)}async function nI(e,t,n){let r=eI(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 tI(e,i))}let rI=_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),iI=G({account:J(_k()),action:J(nk([`open`,`topUp`,`voucher`,`close`])),channelId:J(_k(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(xA()),cumulativeAmountRaw:J(U()),transaction:J(rI),descriptor:J(_k()),additionalDeposit:J(xA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function aI(e){return e?.action!==void 0}function oI(e){return aI(e)&&e.descriptor!==void 0}function sI(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 Ty(i,t)}function cI(e,t,n,r){let i=sI(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function lI(e){return typeof e==`object`&&!!e}function uI(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function dI(e){let t=e.request.methodDetails;return lI(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:uI(t.escrowContract),escrow:uI(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:uI(t.operator),sessionSnapshot:mA(t,fA.sessionSnapshot)}:{}}function fI(e,t){if(typeof e==`string`&&Mi(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function pI(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function mI(e){return typeof e==`string`?e:void 0}async function hI(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=dI(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=sF(t,n),c=fI(t.request.recipient,`recipient`),l=fI(t.request.currency,`currency`);return{amount:pI(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:mF({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:mI(t.request.suggestedDeposit),token:l}}async function gI(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=yF}=e,o=HP({...r,chainId:i.chainId,escrow:i.escrow});_I({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 _I(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(!lF(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!lF(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!lF(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!lF(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function vI(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function yI(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=sI(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function bI(e,t){if(!lF(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||lF(n,t.payer)?!0:lF(iF(e),n)}function xI(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(aI(r)){if(!oI(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=vI({context:r,snapshot:o.snapshot});return!n&&s&&bI(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&bI(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 SI(e,t){switch(e.type){case`open`:return CI(e,t);case`recover`:return wI(e,t);case`voucher`:return TI(e,t);case`manual`:return EI(e,t)}}async function CI(e,t){let{account:n,resolved:r}=e,i=RF({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await fF(r.client,n,{chainId:r.chainId,deposit:i,escrow:r.escrow,feePayer:r.feePayer,initialAmount:r.amount,operator:r.operator,payee:r.payee,token:r.token});return await tI(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function wI(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await gI({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:iF(n),token:o.token}}),l=yI({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`);zF(l,a);let u=await uF(o.client,n,s,l,o.chainId,o.escrow);return await tI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function TI(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;zF(a,e.maxDeposit);let o=await uF(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await tI(t,r),o}async function EI(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=HP({...o,chainId:a.chainId,escrow:a.escrow});_I({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:iF(n),token:a.token});let c=await DI({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await nI(t,a.key,c),c}async function DI(e){switch(e.context.action){case`open`:return OI(e);case`topUp`:return kI(e);case`voucher`:return AI(e);case`close`:return jI(e)}}async function OI(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=cI(r,i,`cumulativeAmount`,`open`),c=await uF(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 kI(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=cI(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:pF(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function AI(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return uF(a.client,t,i,cI(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function jI(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return dF(a.client,t,i,cI(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function MI(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=UM({chain:_E,getClient:a,rpcUrl:qM}),u=HM({account:t}),d=o===void 0?void 0:Ty(o,r),f=n??gF(),p={store:f,notifyUpdate:e=>s?.(e)};return VM(sN,{canHandleChallenge({challenge:e}){return mA(e.request.methodDetails,fA.sessionProtocol)===pA.v2},context:iI,async createCredential({challenge:e,context:t}){let n=await hI({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=vI({context:t,snapshot:n.snapshot}),m=t?.action?t.descriptor:o?.descriptor??s?.descriptor,h=await c?.({account:a,chainId:n.chainId,operation:{kind:`authorizePaymentChannel`,...m?{authority:m.authorizedSigner}:{}}})??a;return cF(e,await SI(xI({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}})}function NI(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 PI(e){let t=NI(`close-ready`),n=NI(`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 FI={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function II(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=FI.CLOSED,r=null}if(a.type===`open`&&(i=FI.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 LI(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function RI(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=LF(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 zI(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:qF(o,n)}:i?{channel:n,state:WF({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function BI(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=LI(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:wP(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function VI(e){return e.method===uA.tempo&&e.intent===dA.session}function HI(e){return mA(e.request.methodDetails,fA.sessionSnapshot)}function UI(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...cM(r),...cM(t?.headers),[Q.authorization]:n}}}function WI(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 GI(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function KI(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 qI(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(WI(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?AP(a):void 0}async function JI(e){let t=YI({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,UI(e.input,e.init,l));return!u.ok&&!u.headers.get(Q.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function YI(e){let t=LA(e.response).find(VI);if(!t)return;let n=HI(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function XI(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=LA(n).find(VI);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await KI(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?AP(r):void 0}async function ZI(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...cM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!jP(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!jP(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return QI({onNeedVoucher:t=>eL({challenge:c,driver:n,input:e},t),onReceipt(e){n.acceptReceipt(e),r?.(e)},response:s,signal:i})}async function*QI(e){for await(let t of $I(e))t.data!==void 0&&(yield t.data)}async function*$I(e){if(!e.response.body)throw Error(`Response has no body.`);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=MP(t),r=`${t}\\n\\n`;if(!n){yield{raw:r};continue}switch(n.type){case`message`:yield{data:n.data,raw:r};break;case`payment-need-voucher`:await e.onNeedVoucher(n.data);break;case`payment-receipt`:e.onReceipt(n.data);break}}}}finally{t.releaseLock()}}async function eL(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await BI({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 tL(e){let t=new URL(e.input.toString()),n=GI(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=LA(r).find(VI);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 nL(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:dj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:DP(t)}}function rL(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function iL(e){if(!rL(e))return`received mismatched payment-close-ready frame`;if(BigInt(e.receipt.spent)>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function aL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!rL(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!UF({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function oL(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=nL({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=II(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===FI.CONNECTING||o.readyState===FI.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 cL({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 sL(o,c.emit,a),o.send(PP(n)),await e.waitForReceipt(),c.socket}function sL(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 cL(e){let t=IP(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`:lL(e,t.data);return;case`payment-error`:e.driver.rejectReceipt(Error(t.message)),e.driver.rejectCloseReady(Error(t.message));return;case`payment-need-voucher`:await uL(e,t.data);return;case`payment-receipt`:dL(e,t.data);return}}function lL(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=iL({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,cumulativeAmount:n,receipt:t});if(r){e.failSocketFlow(r);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleCloseReady(t),e.managedEmit(`close`,{code:1e3,reason:`stream complete`,type:`close`,wasClean:!0})}async function uL(e,t){try{let n=await BI({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(PP(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function dL(e,t){let n=aL({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}function fL(e){return e.method===uA.tempo&&e.intent===dA.charge}function pL(e){if(!fL(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function mL(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 hL(e,t,n){if(!n)return t;let r={...cM(e instanceof Request?e.headers:void 0),...cM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function gL(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:Ty(e.maxDeposit,t),WebSocket:n}}function _L(e){let t=gL(e),n=GF(),r=PI({getSocketSession:()=>n.socketSession}),i=e.channelStore??gF(),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.created.has(e)||(o.resumed??=t)),t},async set(e){let t=hF(e);e.opened&&a.delete(e.channelId),o?.trackCreates&&!o.seenExisting.has(t)&&o.created.set(t,e),await i.set(e)},delete:e=>i.delete(e)};async function l(e){a.add(e.channelId),await Promise.resolve(i.delete(hF(e))).catch(()=>void 0)}async function u(){let e=o;if(e?.created.size){for(let[t,n]of e.created)a.add(n.channelId),await Promise.resolve(i.delete(t)).catch(()=>void 0);e.created.clear(),ne(e.previous)}}function d(e){let t=mA(e.request.methodDetails,fA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=o;if(!n?.created.size)return!1;for(let e of n.created.values())if(e.channelId.toLowerCase()===t.channelId.toLowerCase())return!0;return!1}function f(e){return kF(n,e)}let p=MI({account:e.account,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,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&&f({type:`activated`,challengeId:n.lastChallenge.id,entry:e,spent:n.spent.toString(),units:0})}}),m=$N({account:e.account,getClient:e.client?()=>e.client:e.getClient}),h=oM({fetch:t.fetch,methods:[p],onChallenge:async(e,t)=>{if(!VI(e))return;let r=o,i=r&&r.challengesReceived>0&&e.id===n.lastChallenge?.id;if(d(e)||(r?.created.size?await u():i&&ne(r.previous)),r&&r.challengesReceived++,n.lastChallenge=e,f({type:`challengeReceived`,challengeId:e.id}),n.channel?.opened&&n.lastUrl){let t=n.channel.cumulativeAmount+DP(e);await ee({challenge:e,input:n.lastUrl,channelId:n.channel.channelId,deposit:n.channel.deposit,requiredCumulative:t})}}});function g(e,t){return p.createCredential({challenge:e,context:t})}function _(e){KF({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:n})}function v(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`||f({type:`activated`,challengeId:n.lastChallenge.id,entry:n.channel,spent:n.spent.toString(),units:e})}async function y(e){let t=e.headers.get(Q.paymentSessionSnapshot);if(!t)return;let n=mL(TF(t));return await Promise.resolve(c.set(n)).catch(()=>void 0),n}async function b(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:{...cM(a),...cM(i?.headers),[Q.acceptPayment]:`${uA.tempo}/${dA.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await y(e);let n=LA(e).find(fL);if(!n||!pL(n))return;let r=await m.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...cM(u.headers),[Q.authorization]:r}});return i.ok?await y(i):void 0}catch{return}}function x(e,t){let r=n.socketSession;return JF({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 S(e){let t=x(e.challenge,e.channelId);if(t>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return C(t),t.toString()}function C(e){PF({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function w(e){let r=await qI({...e,channel:n.channel,createSessionCredential:g,fetch:t.fetch});_(r);let i=zI({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&&f({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 ee(e){e.requiredCumulative<=e.deposit||(C(e.requiredCumulative),await w({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:e.requiredCumulative-e.deposit}))}function te(e,t){let r=YF({channel:n.channel,channelId:e,challengeId:n.lastChallenge?.id,cumulativeAmount:t,spent:n.spent,state:n.state});r&&n.channel&&f({type:`activated`,challengeId:r.challengeId,entry:n.channel,spent:r.spent,units:r.units})}function ne(e){let t=ZF(e,n.channel);n.channel=t.channel,n.spent=t.spent,n.state=t.state}function re(e){let t=e.headers.get(Q.paymentReceipt),r=t?AP(t):null;return _(r),Object.assign(e,{receipt:r,challenge:n.lastChallenge,channelId:n.channel?.channelId??null,cumulative:n.channel?.cumulativeAmount??0n})}async function ie(e,r){if(o)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);n.lastUrl=e;let i=XF({channel:n.channel,spent:n.spent,state:n.state}),a={challengesReceived:0,created:new Map,previous:i,seenExisting:new Set,resumed:void 0,trackCreates:!1};o=a;let s=n.channel?.opened?n.channel.channelId:void 0;try{await b(e,r),a.trackCreates=!0;let o=hL(e,r,s),c=!i.channel?.opened;async function u(){let t=a.resumed;return!c||!t?!1:(c=!1,await l(t),o=hL(e,r,void 0),!0)}for(;;){let r;try{r=await h(e,o)}catch(e){if(ne(i),await u())continue;throw e}let a=re(r),s=!1;if(a.status===402){let r=await JI({input:e,init:o,response:a,createSessionCredential:g,fetch:t.fetch,getChannel:()=>n.channel,restoreCumulative:te,setChallenge(e){n.lastChallenge=e},topUpIfNeeded:ee});r&&(s=!0,a=re(r))}if(!s&&!a.ok&&!a.receipt){if(ne(i),await u())continue;return a}return a}}finally{o=void 0}}async function ae(e){let r=await XI({createSessionCredential:g,fetch:t.fetch,lastUrl:n.lastUrl,signedCloseAmount:S(e),setChallenge(e){n.lastChallenge=e},target:e});return r&&(v(),f({type:`closeStarted`}),f({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:ie,async topUp(e){let r=RI({amount:e,assertVoucherWithinLocalLimit:C,channel:n.channel,decimals:t.decimals,lastChallenge:n.lastChallenge,lastUrl:n.lastUrl});return w({additionalDeposit:r.additionalDeposit,challenge:r.challenge,channelId:r.channelId,input:r.input})},async sse(e,r){return ZI(e,r,{createSessionCredential:g,doFetch:ie,fetch:t.fetch,getChannel:()=>n.channel,getChallenge:()=>n.lastChallenge,assertVoucherWithinLocalLimit:C,managementInput:WI,acceptReceipt(e){_(e)},topUpIfNeeded:ee})},async ws(e,i){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let a=GI(e),o=i?.signal?{signal:i.signal}:void 0;await b(a,o);let s=n.channel?.opened?n.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await tL({createSessionCredential:g,fetch:t.fetch,input:e,onProbeUrl(e){n.lastUrl=e.toString()},probeInit:hL(a,o,s),signal:i?.signal});return n.lastChallenge=c,oL({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:i,createSessionCredential:g,getChannel:()=>n.channel,setSocketSession(e){n.socketSession=e},assertVoucherWithinLocalLimit:C,acceptReceipt:_,rejectCloseReady:r.rejectCloseReady,rejectReceipt:r.rejectReceipt,settleCloseReady:r.settleCloseReady,settleReceipt:r.settleReceipt,topUpIfNeeded:ee,waitForReceipt:r.waitForReceipt})},async close(){let e=n.socketSession,t=BF({channel:n.channel,currentSocket:e,lastChallenge:n.lastChallenge});if(!t)return;let i=e?.socket;if(e&&i?.readyState===FI.OPEN){let a=await QF({activeSocket:i,createSessionCredential:g,currentSocket:e,spent:n.spent,target:t,waitForCloseReady:r.waitForCloseReady,waitForReceipt:r.waitForReceipt});return v(),f({type:`closeStarted`}),f({type:`closed`,receipt:a}),a}return ae(t)}}}(function(e){e.serializeSnapshot=wF,e.deserializeSnapshot=TF})(_L||={});let vL=Object.assign(MI,{manager:_L}),yL=Object.assign(BP,{method:xP});function bL(e={}){return[$N(e),vL(e)]}(function(e){e.charge=$N,e.common=bL,e.session=vL,e.sessionLegacy=yL,e.subscription=AN})(bL||={});function xL(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=rM()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=KA(c,e.paymentPreferences),u=lM(),d=n,f={acceptPayment:l,acceptPaymentPolicy:a,...e.fetch&&{fetch:e.fetch},eventDispatcher:u,...t!==void 0&&{maxPaymentRetries:t},...d&&{onChallenge:d},...r&&{orderChallenges:r},methods:c,transport:o},p=oM(f);i&&sM(f);function m(e){return u.on(`challenge.received`,e)}function h(e){return u.on(`credential.created`,e)}function g(e){return u.on(`payment.failed`,e)}function _(e){return u.on(`payment.response`,e)}return{fetch:p,rawFetch:s,methods:c,transport:o,on:u.on,onChallengeReceived:m,onCredentialCreated:h,onPaymentFailed:g,onPaymentResponse:_,async createCredential(e,t,n){let i=o.getChallenges?await o.getChallenges(e):[await o.getChallenge(e)],a=jL(l.entries,n?.acceptPayment),s,d;try{let o=(await ML(YA(i,c,a),n?.orderChallenges??r))[0];if(!o)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${c.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=o.challenge;s=l,d=o.method,s.expires&&vA(s.expires,s.id);let f=SL(e=>NL(l,d,e??t)),p=await u.emit(`challenge.received`,CL({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return jM(p),await u.emit(`credential.created`,wL({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,TL({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function SL(e){let t;return n=>(t??=e(n),t)}function CL(e){return Object.freeze({challenge:OL(e.challenge),challenges:e.challenges.map(e=>OL(e)),createCredential:e.createCredential,method:EL(e.method),response:DL(e.response)})}function wL(e){return Object.freeze({challenge:OL(e.challenge),credential:e.credential,method:EL(e.method),response:DL(e.response)})}function TL(e){return Object.freeze({...e.challenge?{challenge:OL(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>OL(e))}:{},error:e.error,...e.method?{method:EL(e.method)}:{},response:DL(e.response)})}function EL(e){return AL(Object.assign({},e))}function DL(e){return e instanceof Response?e.clone():OL(e)}function OL(e){try{return kL(structuredClone(e))}catch{return AL(e)}}function kL(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))kL(t);return e}function AL(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function jL(e,t){return t?typeof t==`string`?qA(t):t:e}async function ML(e,t){return t?t(e):e}async function NL(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}R(),O();let PL={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},FL=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function IL(e){return{add:t=>GL({...t,store:e}),authorize:t=>RL({...t,store:e}),clear:()=>YL({store:e}),get:t=>UL({...t,store:e}),prepareAuthorization:t=>LL({...t,keystores:e.keystores}),getStatus:t=>VL({...t,store:e}),list:t=>dR({...t,store:e}),remove:t=>JL({...t,store:e}),select:t=>HL({...t,store:e}),updateAuthorization:t=>qL({...t,store:e})}}async function LL(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:BC({address:(()=>{switch(e){case`secp256k1`:return Kw(s);case`p256`:return Gw(s);case`webAuthn`:throw new Kx({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:BC({address:t??A_(g_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??jE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Kx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=BC({address:A_(v_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function RL(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await LL({...r,chainId:r.chainId??n,keystores:i.keystores}),o=UC(a.keyAuthorization),s=await t.sign({hash:o}),c=BC(a.keyAuthorization,{signature:tC(s)});return GL({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),qC(c)}async function zL(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=dR({account:t,chainId:r,store:a});for(let e of s)if(!lR(e.expiry,o)&&$L(e,i)&&!(n&&!ZL(e,{calls:n}))&&await cR(e,a))return!0;return!1}function BL(e){return QL(e.parameters.scopes,{calls:e.calls})}async function VL(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=dR({account:n,accessKey:t,chainId:i,store:o}).find(e=>ZL(e,{calls:r}));if(c){if(lR(c.expiry,s))return PL.expired;if(c.keyAuthorization){let e=await uR(a,{accessKey:c.address,account:n,now:s}).catch(()=>PL.pending);return e===PL.published&&KL({accessKey:c.address,account:n,chainId:i,store:o}),e===PL.published?PL.published:PL.pending}return await uR(a,{accessKey:c.address,account:n,now:s})}return t?await uR(a,{accessKey:t,account:n,now:s}):PL.missing}async function HL(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=dR({account:t,chainId:r,store:i});for(let e of o){if(!ZL(e,{calls:n}))continue;if(lR(e.expiry,a)){await JL({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await cR(e,i);if(t)return t}}async function UL(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=dR({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(lR(o.expiry,a)){await JL({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await cR(o,i)}}function WL(e){return xE({source:{get(t){return dR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){KL({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){qL({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function GL(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!pR(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function KL(e){let{store:t,...n}=e;fR({...n,patch:{keyAuthorization:void 0},store:t})}function qL(e){let{authorization:t,store:n,...r}=e;fR({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function JL(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!pR(e,n))}))}function YL(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function XL(e){return e instanceof D&&e.walk(e=>{let t=e.data?.errorName;return!!t&&FL.has(t)})?!0:e instanceof Error?FL.has(TE(e).errorName):!1}function ZL(e,t){return QL(e.scopes,t)}function QL(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(!oR(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return e.recipients?e.recipients.length===0:!0;let a=rR(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 M_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function $L(e,t){return!(!eR(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!aR(e.limits,t.reuse?.minLimits))}function eR(e,t){return!t||!e?!0:t.every(t=>e.some(e=>tR(e,t)))}function tR(e,t){return!oR(e)||!oR(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!nR(e.selector,t.selector)?!1:iR(e.recipients,t.recipients)}function nR(e,t){if(!e)return!0;if(!t)return!1;let n=rR(e),r=rR(t);return!!n&&n===r}function rR(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Ry(e)).toLowerCase()}catch{return}}function iR(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function aR(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 oR(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!M_(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=>!M_(e))))}let sR=new WeakMap;async function cR(e,t){let n=WL(t);if(`keyPair`in e&&e.keyPair)return Jw(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return Kw(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return Gw(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=sR.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),sR.set(e,i));try{return await i}catch(n){sR.delete(e),AE(n)&&JL({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function lR(e,t){return typeof e==`number`&&e<t}async function uR(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await vT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?PL.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?PL.expired:PL.published}catch(e){if(XL(e))return PL.missing;throw e}}function dR(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>pR(e,n))}function fR(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!pR(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 pR(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 mR(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function hR(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 Zx({message:`Account \"${t}\" not found.`}):new $x({message:`No active account.`});return gR(s,{signable:n})}function gR(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new Zx({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return Kw(e.privateKey);case`p256`:return Gw(e.privateKey);case`webCrypto`:return Jw(e.keyPair);case`webAuthn`:return qw(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return Ww(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new Zx({message:`Unknown key type.`})}}let _R=new Map;function vR(e,t){let n=xR(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>CR(e,t),onResponse:t=>wR(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 TR(e),()=>{n.attachments.delete(r),SR(e)}}function yR(e,t){let n=xR(e),r=n.ids.prepare(t.request);return new Promise((i,a)=>{n.requestQueue.push({account:t.account,chainId:t.chainId,reject:a,request:r,resolve:i,status:`pending`,synced:!1}),TR(e)})}function bR(e){return new URL(e).host}function xR(e){let t=bR(e),n=_R.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:pS(),requestQueue:[],synced:!1};return _R.set(t,r),r}function SR(e){let t=xR(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function CR(e,t){if(t.length===0)return;let n=xR(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new Xx);TR(e,{force:!0})}}function wR(e,t){let n=xR(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(dS(t.error)):r.resolve(t.result),TR(e,{force:!0}))}function TR(e,t={}){let n=xR(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,SR(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:[ER(a)]}))}function ER(e){return{request:e.request,status:e.status}}R();function DR(e={}){let{dialog:t=w()?re():ne(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=vR(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=uS({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):yR(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:aA});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:[_D(Zk.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[_D(nA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[_D(rA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Bb(s)}}}})}let OR=new Map,kR=new WeakMap;function AR(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return MR(r);if(r?.url)return MR(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 OR;let e=kR.get(d);return e||(e=new Map,kR.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Gb(),r=i?jR(i,t):t;p=Sh({chain:e,transport:s?NR(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function jR(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function MR(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function NR(e,t,n){return r=>{let i=e(r),a=Gb(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=zw(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 PR=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function FR(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 IR({account:o,address:t,chainId:r,client:i,store:a})}function IR(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Jd(i,{account:t,...e,parameters:[],type:`tempo`});return await RR(i,n)}catch(e){throw zR(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Jd(i,{account:t,...e,type:`tempo`});return LR({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw zR(e,{account:t,address:n,chainId:r,store:a}),e}}}}function LR(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 zR(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 zR(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 zR(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function RR(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 zR(e,t){BR(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function BR(e){if(!(e instanceof Error))return!1;let t=TE(e);if(PR.has(t.errorName))return!0;let n=VR(e);return[...PR].some(e=>n.includes(e))}function VR(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:``,VR(r)].join(`\n`)}function HR(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(HR.cache.get(n))return HR.cache.get(n);let r=e().finally(()=>HR.cache.delete(n));return HR.cache.set(n,r),r}HR.cache=new Map;function UR(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function WR(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=UR(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let GR;function KR(){return GR||=WR(`keyval-store`,`keyval`),GR}function qR(e,t=KR()){return t(`readonly`,t=>UR(t.get(e)))}function JR(e,t,n=KR()){return n(`readwrite`,n=>(n.put(t,e),UR(n.transaction)))}function YR(e,t=KR()){return t(`readwrite`,t=>(t.delete(e),UR(t.transaction)))}let XR=Symbol.for(`accounts.storage.supportsStructuredClone`);function ZR(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 QR(e)?$R(r):r}function QR(e){return e[XR]===!0}function $R(e){return Object.assign(e,{[XR]:!0})}function ez(e={}){let t=typeof indexedDB<`u`?WR(`tempo`,`store`):void 0;return $R(ZR({async getItem(e){let n=await qR(e,t);return n===null?null:n},async setItem(e,n){await JR(e,n,t)},async removeItem(e){await YR(e,t)}},e))}function tz(e={}){let t=new Map;return $R(ZR({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let nz=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 rz(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 iz=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return iz(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return iz(t)(e)}}}},az=(e,t)=>(n,r,i)=>{let a={storage:rz(()=>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 iz(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},oz=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},sz=(e=>e?oz(e):oz),cz=Symbol.for(`accounts.storage.supportsStructuredClone`);function lz(e){let{chainId:t,keystores:n=jE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?ez({key:`tempo`}):tz({key:`tempo`})}=e,s=sz(nz(az(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>dz(e,t,{schema:a}),name:`store`,partialize:e=>uz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:gz(o)}),storage:o,version:0}))),c=s;return c.accessKeys=IL({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function uz(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>mz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function dz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(pz):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>hD(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:fz(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function fz(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 pz(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function mz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&hz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function hz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function gz(e){return e[cz]===!0}async function _z(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let vz=new Map;async function yz(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=vz.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 vz.set(r,a),a.then(e=>{e.length===0&&vz.delete(r)}),a}async function bz(e){let{symbol:t,...n}=e,r=await yz(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function xz(e,t){let n=hD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Qx({message:`Unsupported method \"${t?.method}\".`}):new Yx(-32602,`Invalid params: ${Sz(n.error.issues)}`)}return{...t,_decoded:n.data}}function Sz(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?Sz([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Nf();let Cz=new Set;function wz(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function Tz(e={}){let{adapter:t=DR(),chains:n=[_E,vE,yE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?ez():tz()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Gb(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),f=lz({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>hR({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return AR(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??jE);let y=lS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,F(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:F(f.getState().chainId)}):y.emit(`disconnect`,new $x)});function b(){if(f.getState().accounts.length===0)throw new $x({message:`No accounts connected.`})}function x(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function S(e){throw new Qx({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Rb({account:e.account,chain:t.chain,transport:e.transport??Bb({request:t.request})})}async function ee(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Jd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await FR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await ee(e);return r.account.type===`json-rpc`?await Nb(t,n):await r.account.signTransaction(n)}async function ne(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await FR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from});return await ch(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...t?{feePayer:!0}:{}})}async function re(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await FR({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[_D(kk,a)]});let o=await hb(i,{account:r.account,...a});return _D(wk,o)}async function ie(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:sg({raw:e.data})})}async function ae(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:hg(t)})}async function oe(e){let t=await C(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await se(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[_D(Uk.parameters,r.parameters)]});return await le({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function se(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await LL({...e,chainId:n});return{parameters:ce(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!wz())return{parameters:e};let{key:r,keyAuthorization:i}=await LL({...e,chainId:n,keystores:l});if(!r)throw new qx({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...ce(e,i),publicKey:r.publicKey}}}function ce(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function le(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:VC(r),...o})}async function ue(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await ST(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!XL(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function de(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[_D(Kk.parameters,e)]});return}let r=e.limits.map(t=>CT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await hb(h({chainId:n}),{account:t.account,calls:r})}async function fe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function pe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function me(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function he(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function ge(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function _e(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await oe(e);S(`authorizeAccessKey`)}async function ve(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ue(e);S(`revokeAccessKey`)}async function ye(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await de(e);S(`updateAccessKey`)}function be(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function xe(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function Se(e){let{reuse:t,...n}=e;return n}function Ce(){return typeof c==`function`?c():c}async function we(e){let t=Ce();if(!t)return;let n=Te(e.capabilities);if(!(n&&await zL({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Se(t)}function Te(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function Ee(e){let t=Ce();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!BL({parameters:t,calls:e.calls}))return;let n=Se(t);await _e(n,{method:`wallet_authorizeAccessKey`,params:[_D(Uk.parameters,n)]})}let De=Object.assign(uS({...y,async request({method:t,params:r}){return await _z(f),HR(async()=>{let i;try{i=xz(sA,{method:t,params:r})}catch(e){if(!(e instanceof Qx))throw e;return await AR(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return F(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:be(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=xe(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??mR(a.accounts.find(e=>e.address.toLowerCase()===s.toLowerCase()));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await FR({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await fe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Ee({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await ge({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await he({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=xe(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Ee({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await pe(l,{method:`eth_sendTransaction`,params:[_D(kk,l)]}),dp(F(f.getState().chainId),32),Dz);return{capabilities:{sync:a},id:e}}let u=await me(l,{method:`eth_sendTransactionSync`,params:[_D(kk,l)]}),p=u.transactionHash,m=F(f.getState().chainId),h=P(p,dp(m,32),Dz);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw Oz(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new $x({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Kx({message:\"`tokens` is required.\"});let s=AR(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([qT(s,{account:a,token:e}),JT(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(Dz.slice(2)))throw Error(\"`id` not supported\");op(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await AR(Number(r),{chains:n,store:f,transports:u}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=f.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new Zx({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(F(e.id))):n,o={};for(let e of a)o[F(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await we({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?Mz(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Kx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Kx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await se(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:_D(qk.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!g.forwardsAuth?await Fz(o,t??f.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:p,keyAuthorization:m,personalSign:h,signature:v,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??pp(16),...l?{personalSign:l}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:be(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await le({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??h?.message,C=o&&x&&S&&v&&b?await Iz(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},...h?.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}):void 0;return{accounts:u.map(e=>({address:e.address,capabilities:e.address===b?{...m?{keyAuthorization:{...m,address:m.keyId}}:{},...v&&(!o||C||!x)?{signature:v}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...p?{identity:p}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=Mz(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await _e(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new Qx({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new Qx({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=xe(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(M_(s)){let e=await JT(d,{token:s});return{address:s,decimals:e.decimals}}let e=await bz({chainId:d.chain.id,symbol:s});if(!e)throw new Yx(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ty(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[oE.call({amount:g,...y?{from:y}:{},memo:a?up(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await me(x,{method:`eth_sendTransactionSync`,params:[_D(kk,x)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new Qx({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new Qx({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new Qx({message:\"`withdrawZone` not supported by adapter.\"});return await _.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new rS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:jf({method:t,params:r})})}},{schema:aA}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:De.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return AR(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},store:f});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;Cz.has(e)||(Cz.add(e),cA({info:{icon:t.icon??Ez,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:De}))}let Oe=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Oe){let{mode:e=`push`,polyfill:t,...n}=Oe,r=t??kz(),i=({chainId:e})=>{let t=De.getClient({chainId:e}),n=f.getState().accounts[f.getState().activeAccount];if(!n)throw new $x({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};xL({methods:[bL({...n,getClient:i,mode:e}),bL.subscription({getClient:i})],polyfill:r})}return m=De,De}let Ez=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,Dz=d_(up(`TEMPO_5792`));function Oz(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 kz(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function Az(){return typeof document<`u`&&typeof document.cookie==`string`}function jz(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 Kx({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 Mz(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:jz(e,`challenge`)}:{},...r?{verify:jz(e,`verify`)}:{},...i?{logout:jz(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return Nz(a),a}function Nz(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 Kx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Kx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let Pz=' 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 Fz(e,t){let n=typeof e==`object`?e.challenge:jz(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=Zy(i.message),o=new URL(n);if(a.version!==`1`)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${Pz}`});if(a.uri!==o.origin)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${Pz}`});if(a.chainId!==t)throw new Kx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function Iz(e,t){let n=typeof e==`object`?e.verify:jz(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!Az(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new qx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let Lz={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},Rz={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},zz={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var Bz=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Vz={accent:new Bz(`accent`),background:new Bz(`background`),border:new Bz(`border`),foreground:new Bz(`foreground`),muted:new Bz(`muted`),negative:new Bz(`negative`),positive:new Bz(`positive`),surface:new Bz(`surface`),fontFamily:new Bz(`font-family`),fontSizeBase:new Bz(`font-size-base`),radius:new Bz(`radius`),spacingUnit:new Bz(`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: ${Vz.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 Hz(e){let t=new URL(location.href);t.searchParams.set(Rz.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()}Nf();function Uz(e){let t=document.getElementById(Lz.data),n=Af(t.textContent),r=t.getAttribute(zz.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(zz.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(zz.challengeId),o=a?(i.removeAttribute(zz.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(Lz.error)?.remove();return}let t=document.getElementById(Lz.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=Lz.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:Hz,vars:Vz}}let Wz=Uz(`tempo`),Gz=String.raw,Kz=document.createElement(`style`);Kz.textContent=Gz`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Wz.vars.spacingUnit} * 8);\n }\n button {\n background: ${Wz.vars.accent};\n border-radius: ${Wz.vars.radius};\n color: ${Wz.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Wz.vars.spacingUnit} * 4) calc(${Wz.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`,Wz.root.append(Kz);let qz=Tz({testnet:Wz.challenge.request.methodDetails?.chainId===vE.id||Wz.challenge.request.methodDetails?.chainId===bE.id}),Jz=document.createElement(`button`);Jz.innerHTML=`${Wz.text.pay===`Pay`?`Continue with`:Wz.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>`,Jz.onclick=async()=>{try{Wz.error(),Jz.disabled=!0;let e=await(async()=>{let e=await qz.request({method:`eth_accounts`});return e.length>0?e.at(0):(await qz.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await bL({account:e,getClient:e=>{let t=e.chainId??Wz.challenge.request.methodDetails?.chainId;return Sh({chain:[...qz?.chains??[],vE,bE].find(e=>e.id===t),transport:Bb(qz)})}})[0].createCredential({challenge:Wz.challenge,context:{}});await Wz.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Wz.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{Jz.disabled=!1}},Wz.root.appendChild(Jz)})();</script>";
3
3
  //# sourceMappingURL=html.gen.js.map