mppx 0.8.3 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/plugins/stripe.d.ts.map +1 -1
- package/dist/cli/plugins/stripe.js +32 -12
- package/dist/cli/plugins/stripe.js.map +1 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +1 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/cli/validate/challenge.d.ts +14 -0
- package/dist/cli/validate/challenge.d.ts.map +1 -0
- package/dist/cli/validate/challenge.js +211 -0
- package/dist/cli/validate/challenge.js.map +1 -0
- package/dist/cli/validate/discovery.d.ts +10 -0
- package/dist/cli/validate/discovery.d.ts.map +1 -0
- package/dist/cli/validate/discovery.js +128 -0
- package/dist/cli/validate/discovery.js.map +1 -0
- package/dist/cli/validate/helpers.d.ts +33 -0
- package/dist/cli/validate/helpers.d.ts.map +1 -0
- package/dist/cli/validate/helpers.js +136 -0
- package/dist/cli/validate/helpers.js.map +1 -0
- package/dist/cli/validate/index.d.ts +17 -0
- package/dist/cli/validate/index.d.ts.map +1 -0
- package/dist/cli/validate/index.js +224 -0
- package/dist/cli/validate/index.js.map +1 -0
- package/dist/cli/validate/payment.d.ts +7 -0
- package/dist/cli/validate/payment.d.ts.map +1 -0
- package/dist/cli/validate/payment.js +381 -0
- package/dist/cli/validate/payment.js.map +1 -0
- package/dist/tempo/internal/auto-swap.d.ts.map +1 -1
- package/dist/tempo/internal/auto-swap.js +6 -1
- package/dist/tempo/internal/auto-swap.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/cli.test.ts +134 -29
- package/src/cli/cli.ts +2 -0
- package/src/cli/mcp.test.ts +1 -0
- package/src/cli/plugins/stripe.ts +31 -12
- package/src/cli/utils.test.ts +36 -2
- package/src/cli/utils.ts +2 -1
- package/src/cli/validate/challenge.ts +335 -0
- package/src/cli/validate/discovery.ts +120 -0
- package/src/cli/validate/helpers.ts +154 -0
- package/src/cli/validate/index.ts +348 -0
- package/src/cli/validate/payment.ts +488 -0
- package/src/cli/validate.test.ts +539 -0
- package/src/tempo/internal/auto-swap.test.ts +26 -9
- package/src/tempo/internal/auto-swap.ts +15 -2
- package/src/tempo/server/internal/html.gen.ts +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated — do not edit.
|
|
2
|
-
export const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,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){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}function f(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var p=o((()=>{}));let m=256,h;function g(e=11){if(!h||m+e>256*2){h=``,m=0;for(let e=0;e<256;e++)h+=(256+Math.random()*256|0).toString(16).substring(1)}return h.substring(m,m+++e)}p();function _(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,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),p=e.pollingInterval??d,m=e.cacheTime??p,h=e.account?f(e.account):void 0,{config:_,request:y,value:b}=e.transport({account:h,chain:n,pollingInterval:p}),x={account:h,batch:t,cacheTime:m,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:p,request:y,tokens:s,transport:{..._,...b},type:c,uid:g(),...l?{experimental_blockTag:l}:{}};function S(e){return t=>{let n=t(e);for(let e in x)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];v(i)&&v(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:S(r)})}}return Object.assign(x,{extend:S(x)})}function v(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function y(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`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}var b,x,S=o((()=>{b={gwei:9,wei:18},x={ether:-9,wei:9}}));function C(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 w=o((()=>{}));function T(e,t=`wei`){return C(e,x[t])}var ee=o((()=>{S(),w()})),te,ne=o((()=>{te=`2.54.1`}));function re(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?re(e.cause,t):t?null:e}var ie,E,D=o((()=>{ne(),ie={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${te}`},E=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=ie.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...ie.version?[`Version: ${ie.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=te}walk(e){return re(this,e)}}}));ee(),D();var ae=class extends E{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},oe=class extends E{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},se=class extends E{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${T(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}},ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be=o((()=>{ee(),D(),ce=class extends E{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(ce,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(ce,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),le=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${T(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(le,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),ue=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${T(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(ue,\"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/}),de=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(de,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),fe=class extends E{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(fe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),pe=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(pe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),me=class extends E{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(me,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),he=class extends E{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(he,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),ge=class extends E{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(ge,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),_e=class extends E{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(_e,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),ve=class extends E{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${T(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${T(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(ve,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),ye=class extends E{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function xe(e,t=`wei`){return C(e,b[t])}var Se=o((()=>{S(),w()}));function Ce(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 we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe=o((()=>{Se(),ee(),D(),we=class extends E{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},Te=class extends E{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Ee=class extends E{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,Ce(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`})}},De=class extends E{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},Oe=class extends E{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},ke=class extends E{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Ae=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=Ce({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(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}},je=class extends E{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`})}},Me=class extends E{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`})}},Ne=class extends E{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}},Pe=class extends E{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}})),Ie,Le=o((()=>{Ie=(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 Re(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 ze(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Be,Ve,He=o((()=>{Be=e=>e,Ve=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ue,We,Ge,Ke,qe=o((()=>{Le(),D(),He(),Ue=class extends E{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Ve(a)}`,e&&`Request body: ${Ie(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}},We=class extends E{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}},Ge=class extends E{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Ve(n)}`,`Request body: ${Ie(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}},Ke=class extends E{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Ve(t)}`,`Request body: ${Ie(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt=o((()=>{D(),qe(),Je=-1,Ye=class extends E{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Ge?e.code:t??Je}},Xe=class extends Ye{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Ze=class e extends Ye{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(Ze,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Qe=class e extends Ye{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Qe,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),$e=class e extends Ye{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty($e,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),et=class e extends Ye{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(et,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),tt=class e extends Ye{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(tt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),nt=class e extends Ye{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(nt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),rt=class e extends Ye{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(rt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),it=class e extends Ye{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(it,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),at=class e extends Ye{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(at,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ot=class e extends Ye{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ot,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),st=class e extends Ye{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(st,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ct=class e extends Ye{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ct,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),lt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(lt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ut=class e extends Xe{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(ut,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),dt=class e extends Xe{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(dt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ft=class e extends Xe{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ft,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),pt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(pt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),mt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(mt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ht=class e extends Xe{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(ht,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),gt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(gt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),_t=class e extends Xe{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(_t,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),vt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(vt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),yt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(yt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),bt=class e extends Xe{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(bt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),xt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(xt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),St=class e extends Xe{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(St,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ct=class extends Ye{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));function Tt(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof E?e.walk(e=>e?.code===ce.code):e;return r instanceof E?new ce({cause:e,message:r.details}):ce.nodeMessage.test(n)?new ce({cause:e,message:e.details}):le.nodeMessage.test(n)?new le({cause:e,maxFeePerGas:t?.maxFeePerGas}):ue.nodeMessage.test(n)?new ue({cause:e,maxFeePerGas:t?.maxFeePerGas}):de.nodeMessage.test(n)?new de({cause:e,nonce:t?.nonce}):fe.nodeMessage.test(n)?new fe({cause:e,nonce:t?.nonce}):pe.nodeMessage.test(n)?new pe({cause:e,nonce:t?.nonce}):me.nodeMessage.test(n)?new me({cause:e}):he.nodeMessage.test(n)?new he({cause:e,gas:t?.gas}):ge.nodeMessage.test(n)?new ge({cause:e,gas:t?.gas}):_e.nodeMessage.test(n)?new _e({cause:e}):ve.nodeMessage.test(n)?new ve({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ye({cause:e})}var Et=o((()=>{D(),be()}));be(),Fe(),Et();function Dt(e,{docsPath:t,...n}){return new Ae((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}function Ot(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 kt=o((()=>{})),At,jt,Mt,Nt,Pt,Ft,It=o((()=>{D(),At=class extends E{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},jt=class extends E{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Mt=class extends E{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Nt=class extends E{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Pt=class extends E{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},Ft=class extends E{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function O(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Lt=o((()=>{}));function Rt(e){return O(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var zt=o((()=>{Lt()}));function Bt(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 Vt=o((()=>{})),Ht,Ut,Wt,Gt=o((()=>{D(),Ht=class extends E{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},Ut=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Wt=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function Kt(e,{dir:t,size:n=32}={}){return typeof e==`string`?qt(e,{dir:t,size:n}):Jt(e,{dir:t,size:n})}function qt(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Ut({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Jt(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ut({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 Yt=o((()=>{Gt()}));function Xt(e,t={}){return typeof e==`number`||typeof e==`bigint`?k(e,t):typeof e==`string`?$t(e,t):typeof e==`boolean`?Zt(e,t):Qt(e,t)}function Zt(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{size:t.size})):n}function Qt(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=en[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(fn(r,{size:t.size}),Kt(r,{dir:`right`,size:t.size})):r}function k(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new At({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?Kt(s,{size:r}):s}function $t(e,t={}){return Qt(tn.encode(e),t)}var en,tn,A=o((()=>{It(),Yt(),hn(),en=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),tn=new TextEncoder}));function nn(e,t={}){return typeof e==`number`||typeof e==`bigint`?sn(e,t):typeof e==`boolean`?rn(e,t):O(e)?on(e,t):cn(e,t)}function rn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{size:t.size})):n}function an(e){if(e>=un.zero&&e<=un.nine)return e-un.zero;if(e>=un.A&&e<=un.F)return e-(un.A-10);if(e>=un.a&&e<=un.f)return e-(un.a-10)}function on(e,t={}){let n=e;t.size&&(fn(n,{size:t.size}),n=Kt(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=an(r.charCodeAt(t++)),i=an(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new E(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function sn(e,t){return on(k(e,t))}function cn(e,t={}){let n=ln.encode(e);return typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{dir:`right`,size:t.size})):n}var ln,un,dn=o((()=>{D(),Lt(),Yt(),hn(),A(),ln=new TextEncoder,un={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function fn(e,{size:t}){if(Rt(e)>t)throw new Ft({givenSize:Rt(e),maxSize:t})}function j(e,t={}){let{signed:n}=t;t.size&&fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function pn(e,t={}){let n=e;if(t.size&&(fn(n,{size:t.size}),n=Bt(n)),Bt(n)===`0x00`)return!1;if(Bt(n)===`0x01`)return!0;throw new Mt(n)}function mn(e,t={}){let n=j(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new At({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var hn=o((()=>{It(),zt(),Vt()}));function gn(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 _n=o((()=>{}));hn(),_n();let vn={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function yn(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?mn(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?mn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?vn[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=xn(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 bn=gn(`transaction`,yn);function xn(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 Sn(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=Cn(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=>Qt(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=k(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=k(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=k(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=k(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=k(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=k(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=wn[e.type]),e.value!==void 0&&(n.value=k(e.value)),n}function Cn(e){return e.map(e=>({address:e.address,r:e.r?k(BigInt(e.r)):e.r,s:e.s?k(BigInt(e.s)):e.s,chainId:k(e.chainId),nonce:k(e.nonce),...e.yParity===void 0?{}:{yParity:k(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:k(e.v)}:{}}))}var wn,Tn,En=o((()=>{A(),_n(),wn={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Tn=gn(`transactionRequest`,Sn)}));function M(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}var Dn,On=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)),Dn=2n**256n-1n})),kn,An=o((()=>{D(),kn=class extends E{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),jn,Mn=o((()=>{jn=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 Nn(e,t=!1){return t?{h:Number(e&In),l:Number(e>>Ln&In)}:{h:Number(e>>Ln&In)|0,l:Number(e&In)|0}}function Pn(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}=Nn(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function Fn(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er=o((()=>{In=BigInt(2**32-1),Ln=BigInt(32),Rn=(e,t,n)=>e>>>n,zn=(e,t,n)=>e<<32-n|t>>>n,Bn=(e,t,n)=>e>>>n|t<<32-n,Vn=(e,t,n)=>e<<32-n|t>>>n,Hn=(e,t,n)=>e<<64-n|t>>>n-32,Un=(e,t,n)=>e>>>n-32|t<<64-n,Wn=(e,t,n)=>e<<n|t>>>32-n,Gn=(e,t,n)=>t<<n|e>>>32-n,Kn=(e,t,n)=>t<<n-32|e>>>64-n,qn=(e,t,n)=>e<<n-32|t>>>64-n,Jn=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Yn=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Xn=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Zn=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Qn=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),$n=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),tr,nr=o((()=>{tr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction rr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ir(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function ar(e,...t){if(!rr(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`);ir(e.outputLen),ir(e.blockLen)}function sr(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 cr(e,t){ar(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function lr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function ur(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function dr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function fr(e,t){return e<<32-t|e>>>t}function pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function mr(e){for(let t=0;t<e.length;t++)e[t]=pr(e[t]);return e}function hr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gr(e){return typeof e==`string`&&(e=hr(e)),ar(e),e}function _r(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ar(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 vr(e){let t=t=>e().update(gr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function yr(e=32){if(tr&&typeof tr.getRandomValues==`function`)return tr.getRandomValues(new Uint8Array(e));if(tr&&typeof tr.randomBytes==`function`)return Uint8Array.from(tr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var br,xr,Sr,Cr=o((()=>{nr(),br=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,xr=br?e=>e:mr,Sr=class{}}));function wr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Lr(a,o,1)^n[r],c=Rr(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=Mr[n],a=Lr(t,i,r),o=Rr(t,i,r),s=jr[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]^=Fr[r],e[1]^=Ir[r]}ur(n)}var Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr=o((()=>{er(),Cr(),Tr=BigInt(0),Er=BigInt(1),Dr=BigInt(2),Or=BigInt(7),kr=BigInt(256),Ar=BigInt(113),jr=[],Mr=[],Nr=[];for(let e=0,t=Er,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],jr.push(2*(5*r+n)),Mr.push((e+1)*(e+2)/2%64);let i=Tr;for(let e=0;e<7;e++)t=(t<<Er^(t>>Or)*Ar)%kr,t&Dr&&(i^=Er<<(Er<<BigInt(e))-Er);Nr.push(i)}Pr=Pn(Nr,!0),Fr=Pr[0],Ir=Pr[1],Lr=(e,t,n)=>n>32?Kn(e,t,n):Wn(e,t,n),Rr=(e,t,n)=>n>32?qn(e,t,n):Gn(e,t,n),zr=class e extends Sr{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,ir(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=lr(this.state)}clone(){return this._cloneInto()}keccak(){xr(this.state32),wr(this.state32,this.rounds),xr(this.state32),this.posOut=0,this.pos=0}update(e){sr(this),e=gr(e),ar(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){sr(this,!1),ar(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 ir(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(cr(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,ur(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}},Br=(e,t,n)=>vr(()=>new zr(t,e,n)),Vr=Br(1,136,256/8)}));function Ur(e,t){let n=t||`hex`,r=Vr(O(e,{strict:!1})?nn(e):e);return n===`bytes`?r:Xt(r)}var Wr=o((()=>{Hr(),Lt(),dn(),A()}));function Gr(e,t){if(qr.has(`${e}.${t}`))return qr.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=Ur(cn(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 qr.set(`${e}.${t}`,a),a}function Kr(e,t){if(!Yr(e,{strict:!1}))throw new kn({address:e});return Gr(e,t)}var qr,Jr=o((()=>{An(),dn(),Wr(),Mn(),Qr(),qr=new jn(8192)}));function Yr(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Zr.has(r))return Zr.get(r);let i=Xr.test(e)?e.toLowerCase()===e?!0:n?Gr(e)===e:!0:!1;return Zr.set(r,i),i}var Xr,Zr,Qr=o((()=>{Mn(),Jr(),Xr=/^0x[a-fA-F0-9]{40}$/,Zr=new jn(8192)}));function $r(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?f(t):void 0;if(a&&!Yr(a.address))throw new kn({address:a.address});if(i&&!Yr(i))throw new kn({address:i});if(n&&n>Dn)throw new le({maxFeePerGas:n});if(r&&n&&r>n)throw new ve({maxFeePerGas:n,maxPriorityFeePerGas:r})}var ei=o((()=>{p(),On(),An(),be(),Qr()}));D();var ti=class extends E{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};function ni(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:yn(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}A();async function ri(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:k(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new ti({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||ni)(s,`getBlock`)}hn();async function ii(e){return mn(await e.request({method:`eth_chainId`},{dedupe:!0}))}p(),kt(),En(),ei();async function ai(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:g,to:_,type:v,value:y,...b}=t,x=await(async()=>{if(!n||!g||h!==void 0)return h;let t=f(n),r=a?a.id:await M(e,ii,`getChainId`)({});return await g.consume({address:t.address,chainId:r,client:e})})();$r(t);let S=a?.formatters?.transactionRequest?.format,C=(S||Sn)({...Ot(b,{format:S}),account:n?f(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:x,to:_,type:v,value:y},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[C]}),r=(a?.formatters?.transaction?.format||yn)(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 M(e,ri,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new ae;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:C.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Dt(n,{...t,chain:e.chain})}}var oi,si,ci,li,ui,di,fi=o((()=>{oi=[{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`}],si=[{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`}]}],ci=[{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`}],[...ci],[...ci],li=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],ui=[{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`}],di=[{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`}]}]}));function pi(e,t){if(!Yr(e,{strict:!1}))throw new kn({address:e});if(!Yr(t,{strict:!1}))throw new kn({address:t});return e.toLowerCase()===t.toLowerCase()}var mi=o((()=>{An(),Qr()}));function hi(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}:{}}}function gi(e){return _i(e)}var _i,vi=o((()=>{dn(),Wr(),_i=e=>Ur(nn(e))}));function yi(e,t){return e.exec(t)?.groups}var bi,xi,Si,Ci=o((()=>{bi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xi=/^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)?$/,Si=/^\\(.+?\\).*?$/}));function wi(e){let t=e.type;if(Ti.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+=wi(i),r<n-1&&(t+=`, `)}let r=yi(Ti,e.type);return t+=`)${r?.array||``}`,wi({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Ti,Ei=o((()=>{Ci(),Ti=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function Di(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=wi(i),r!==n-1&&(t+=`, `)}return t}var Oi=o((()=>{Ei()}));function ki(e){return e.type===`function`?`function ${e.name}(${Di(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Di(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Di(e.inputs)})`:e.type===`error`?`error ${e.name}(${Di(e.inputs)})`:e.type===`constructor`?`constructor(${Di(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Ai=o((()=>{Oi()}));function ji(e){return Wi.test(e)}function Mi(e){return yi(Wi,e)}function Ni(e){return Gi.test(e)}function Pi(e){return yi(Gi,e)}function Fi(e){return Ki.test(e)}function Ii(e){return yi(Ki,e)}function Li(e){return qi.test(e)}function Ri(e){return yi(qi,e)}function zi(e){return Ji.test(e)}function Bi(e){return yi(Ji,e)}function Vi(e){return Yi.test(e)}function Hi(e){return yi(Yi,e)}function Ui(e){return Xi.test(e)}var Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i=o((()=>{Ci(),Wi=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Gi=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ki=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,qi=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Ji=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Yi=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Xi=/^receive\\(\\) external payable$/,Zi=new Set([`indexed`]),Qi=new Set([`calldata`,`memory`,`storage`])})),ea,ta=o((()=>{ea=`1.2.3`})),na,ra=o((()=>{ta(),na=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@${ea}`].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}}})),ia,aa,oa=o((()=>{ra(),ia=class extends na{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`})}},aa=class extends na{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`})}}})),sa,ca,la,ua,da,fa=o((()=>{ra(),sa=class extends na{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},ca=class extends na{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`})}},la=class extends na{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`})}},ua=class extends na{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`})}},da=class extends na{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`})}}})),pa,ma,ha,ga=o((()=>{ra(),pa=class extends na{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},ma=class extends na{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},ha=class extends na{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`})}}})),_a,va=o((()=>{ra(),_a=class extends na{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`})}}})),ya,ba=o((()=>{ra(),ya=class extends na{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 xa(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 Sa,Ca=o((()=>{Sa=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 wa(e,t={}){if(Fi(e))return Ta(e,t);if(Ni(e))return Ea(e,t);if(ji(e))return Da(e,t);if(zi(e))return Oa(e,t);if(Vi(e))return ka(e);if(Ui(e))return{type:`receive`,stateMutability:`payable`};throw new ma({signature:e})}function Ta(e,t={}){let n=Ii(e);if(!n)throw new pa({signature:e,type:`function`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{modifiers:Qi,structs:t,type:`function`}));let o=[];if(n.returns){let e=ja(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Aa(e[n],{modifiers:Qi,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function Ea(e,t={}){let n=Pi(e);if(!n)throw new pa({signature:e,type:`event`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{modifiers:Zi,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function Da(e,t={}){let n=Mi(e);if(!n)throw new pa({signature:e,type:`error`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function Oa(e,t={}){let n=Bi(e);if(!n)throw new pa({signature:e,type:`constructor`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function ka(e){let t=Hi(e);if(!t)throw new pa({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Aa(e,t){let n=xa(e,t?.type,t?.structs);if(Sa.has(n))return Sa.get(n);let r=Si.test(e),i=yi(r?Ia:Fa,e);if(!i)throw new sa({param:e});if(i.name&&Na(i.name))throw new ca({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=ja(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Aa(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(La.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Ma(c))throw new aa({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new la({param:e,type:t?.type,modifier:i.modifier});if(Qi.has(i.modifier)&&!Pa(c,!!i.array))throw new ua({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Sa.set(n,u),u}function ja(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?ja(o,[...t,n.trim()]):ja(o,t,`${n}${i}`,r);case`(`:return ja(o,t,`${n}${i}`,r+1);case`)`:return ja(o,t,`${n}${i}`,r-1);default:return ja(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ya({current:n,depth:r});return t.push(n.trim()),t}function Ma(e){return e===`address`||e===`bool`||e===`function`||e===`string`||bi.test(e)||xi.test(e)}function Na(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||bi.test(e)||xi.test(e)||Ra.test(e)}function Pa(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Fa,Ia,La,Ra,za=o((()=>{Ci(),oa(),fa(),ga(),ba(),Ca(),$i(),Fa=/^(?<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$_]*))?$/,Ia=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,La=/^u?int$/,Ra=/^(?: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 Ba(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Li(n))continue;let i=Ri(n);if(!i)throw new pa({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=Aa(t,{type:`struct`});o.push(n)}if(!o.length)throw new ha({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]=Va(a,t)}return r}function Va(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Si.test(i.type))r.push(i);else{let e=yi(Ha,i.type);if(!e?.type)throw new da({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new _a({type:o});r.push({...i,type:`tuple${a??``}`,components:Va(t[o],t,new Set([...n,o]))})}else if(Ma(o))r.push(i);else throw new ia({type:o})}}return r}var Ha,Ua=o((()=>{Ci(),oa(),fa(),ga(),va(),$i(),za(),Ha=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Wa(e){let t=Ba(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Li(r)||n.push(wa(r,t))}return n}var Ga=o((()=>{$i(),Ua(),za()})),Ka=o((()=>{Ai(),Ga()}));function qa(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new E(`Unable to normalize signature.`);return i}var Ja=o((()=>{D()})),Ya,Xa=o((()=>{Ka(),Ja(),Ya=e=>qa(typeof e==`string`?e:ki(e))}));function Za(e){return gi(Ya(e))}var Qa=o((()=>{vi(),Xa()})),$a,eo=o((()=>{Qa(),$a=Za}));function to(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new Oo(e.type);return`${e.name}(${no(e.inputs,{includeName:t})})`}function no(e,{includeName:t=!1}={}){return e?e.map(e=>ro(e,{includeName:t})).join(t?`, `:`,`):``}function ro(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${no(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var io=o((()=>{ko()})),ao,oo,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko=o((()=>{io(),zt(),D(),ao=class extends E{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},oo=class extends E{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},so=class extends E{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${no(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}},co=class extends E{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},lo=class extends E{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},uo=class extends E{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Rt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},fo=class extends E{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},po=class extends E{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},mo=class extends E{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},ho=class extends E{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},go=class extends E{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},_o=class extends E{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},vo=class extends E{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},yo=class extends E{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},bo=class extends E{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},xo=class extends E{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${to(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${to(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},So=class extends E{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},Co=class extends E{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${no(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}},wo=class extends E{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${to(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},To=class extends E{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},Eo=class extends E{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},Do=class extends E{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},Oo=class extends E{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Ao,jo,Mo,No=o((()=>{D(),Ao=class extends E{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},jo=class extends E{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Mo=class extends E{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Po(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Fo);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Fo,Io=o((()=>{No(),Fo={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 Mo({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new jo({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ao({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 Ao({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 Lo(e,t,n,{strict:r}={}){return O(e,{strict:!1})?Vo(e,t,n,{strict:r}):Bo(e,t,n,{strict:r})}function Ro(e,t){if(typeof t==`number`&&t>0&&t>Rt(e)-1)throw new Ht({offset:t,position:`start`,size:Rt(e)})}function zo(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Rt(e)!==n-t)throw new Ht({offset:n,position:`end`,size:Rt(e)})}function Bo(e,t,n,{strict:r}={}){Ro(e,t);let i=e.slice(t,n);return r&&zo(i,t,n),i}function Vo(e,t,n,{strict:r}={}){Ro(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&zo(i,t,n),i}var Ho=o((()=>{Gt(),Lt(),zt()}));function Uo(e,t={}){return t.size!==void 0&&fn(e,{size:t.size}),j(Qt(e,t),t)}function Wo(e,t={}){let n=e;if(t.size!==void 0&&(fn(n,{size:t.size}),n=Bt(n)),n.length>1||n[0]>1)throw new jt(n);return!!n[0]}function Go(e,t={}){return t.size!==void 0&&fn(e,{size:t.size}),mn(Qt(e,t),t)}function Ko(e,t={}){let n=e;return t.size!==void 0&&(fn(n,{size:t.size}),n=Bt(n,{dir:`right`})),new TextDecoder().decode(n)}var qo=o((()=>{It(),Vt(),hn(),A()}));function Jo(e){return typeof e[0]==`string`?Xo(e):Yo(e)}function Yo(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 Xo(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Zo=o((()=>{})),Qo,$o,es=o((()=>{Qo=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,$o=/^(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 ts(e,t){if(e.length!==t.length)throw new fo({expectedLength:e.length,givenLength:t.length});let n=is(ns({params:e,values:t}));return n.length===0?`0x`:n}function ns({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(rs({param:e[r],value:t[r]}));return n}function rs({param:e,value:t}){let n=fs(e.type);if(n){let[r,i]=n;return os(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ds(t,{param:e});if(e.type===`address`)return as(t);if(e.type===`bool`)return cs(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=$o.exec(e.type)??[];return ls(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ss(t,{param:e});if(e.type===`string`)return us(t);throw new To(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function is(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Rt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(k(t+i,{size:32})),r.push(s),i+=Rt(s)):n.push(s)}return Jo([...n,...r])}function as(e){if(!Yr(e))throw new kn({address:e});return{dynamic:!1,encoded:qt(e.toLowerCase())}}function os(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new Do(e);if(!r&&e.length!==t)throw new lo({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=rs({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=is(a);if(r){let t=k(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Jo([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Jo(a.map(({encoded:e})=>e))}}function ss(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Rt(e);if(!n){let t=e;return r%32!=0&&(t=qt(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Jo([qt(k(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new uo({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:qt(e,{dir:`right`})}}function cs(e){if(typeof e!=`boolean`)throw new E(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:qt(Zt(e))}}function ls(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 At({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:k(e,{size:32,signed:t})}}function us(e){let t=$t(e),n=Math.ceil(Rt(t)/32),r=[];for(let e=0;e<n;e++)r.push(qt(Lo(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Jo([qt(k(Rt(t),{size:32})),...r])}}function ds(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=rs({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?is(r):Jo(r.map(({encoded:e})=>e))}}function fs(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var ps=o((()=>{ko(),An(),D(),It(),Qr(),Zo(),Yt(),zt(),Ho(),A(),es()}));function ms(e,t){let n=typeof t==`string`?on(t):t,r=Po(n);if(Rt(n)===0&&e.length>0)throw new co;if(Rt(t)&&Rt(t)<32)throw new so({data:typeof t==`string`?t:Qt(t),params:e,size:Rt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=hs(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function hs(e,t,{staticPosition:n}){let r=fs(t.type);if(r){let[i,a]=r;return _s(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return xs(e,t,{staticPosition:n});if(t.type===`address`)return gs(e);if(t.type===`bool`)return vs(e);if(t.type.startsWith(`bytes`))return ys(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return bs(e,t);if(t.type===`string`)return Ss(e,{staticPosition:n});throw new Eo(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function gs(e){return[Gr(Qt(Bo(e.readBytes(32),-20))),32]}function _s(e,t,{length:n,staticPosition:r}){if(!n){let n=r+Go(e.readBytes(Ts)),i=n+ws;e.setPosition(n);let a=Go(e.readBytes(ws)),o=Cs(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=hs(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Cs(t)){let i=r+Go(e.readBytes(Ts)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=hs(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]=hs(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function vs(e){return[Wo(e.readBytes(32),{size:32}),32]}function ys(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Go(e.readBytes(32));e.setPosition(n+t);let r=Go(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Qt(i),32]}return[Qt(e.readBytes(Number.parseInt(i,10),32)),32]}function bs(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?Uo(i,{signed:n}):Go(i,{signed:n}),32]}function xs(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Cs(t)){let o=n+Go(e.readBytes(Ts));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=hs(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]=hs(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ss(e,{staticPosition:t}){let n=t+Go(e.readBytes(32));e.setPosition(n);let r=Go(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ko(Bt(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Cs(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Cs);let n=fs(e.type);return!!(n&&Cs({...e,type:n[1]}))}var ws,Ts,Es=o((()=>{ko(),Jr(),Io(),zt(),Ho(),Vt(),qo(),dn(),A(),ps(),ws=32,Ts=32}));ko(),No(),zt(),eo(),Es(),io();let Ds=`/docs/contract/decodeEventLog`;function Os(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new go({docsPath:Ds});let c=t.find(e=>e.type===`event`&&o===$a(to(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new _o(o,{docsPath:Ds});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 wo({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=ks({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=ms(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 so||e instanceof jo?new Co({abiItem:c,data:n,params:g,size:Rt(n)}):e}else if(a)throw new Co({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function ks({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(ms([e],t)||[])[0]}mi(),dn(),Wr(),eo();function As(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:$a(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?hi(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=Os({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Os({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)||!js({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function js(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`?pi(t,n):e.type===`string`||e.type===`bytes`?Ur(nn(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}var Ms,Ns=o((()=>{Ho(),Qa(),Ms=e=>Lo(Za(e),0,4)}));function Ps(e){let{abi:t,args:n=[],name:r}=e,i=O(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?Ms(e)===r:e.type===`event`?$a(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?Fs(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=Is(e.inputs,o.inputs,n);if(t)throw new xo({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function Fs(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Yr(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`&&Fs(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=>Fs(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Is(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 Is(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`))&&Yr(n[r],{strict:!1}))return o}}var Ls=o((()=>{ko(),Lt(),Qr(),eo(),Ns()}));function Rs(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=Ps({abi:t,args:n,name:r});if(!e)throw new vo(r,{docsPath:zs});i=e}if(i.type!==`function`)throw new vo(void 0,{docsPath:zs});return{abi:[i],functionName:Ms(to(i))}}var zs,Bs=o((()=>{ko(),Ns(),io(),Ls(),zs=`/docs/contract/encodeFunctionData`}));function Vs(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:Rs(e),i=n[0];return Xo([r,(`inputs`in i&&i.inputs?ts(i.inputs,t??[]):void 0)??`0x`])}var Hs=o((()=>{Zo(),ps(),Bs()})),Us,Ws,Gs,Ks=o((()=>{Us={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.`},Ws={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Gs={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}}));function qs(e){let{abi:t,data:n,cause:r}=e,i=Lo(n,0,4);if(i===`0x`)throw new co({cause:r});let a=[...t||[],Ws,Gs].find(e=>e.type===`error`&&i===Ms(to(e)));if(!a)throw new ho(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?ms(a.inputs,Lo(n,4)):void 0,errorName:a.name}}var Js=o((()=>{Ks(),ko(),Ho(),Ns(),Es(),io()}));function Ys({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`?Ie(t[n]):t[n]}`).join(`, `)})`}var Xs=o((()=>{Le()}));function Zs(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function Qs(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+=Zs(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=Zs(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var $s,ec,tc=o((()=>{D(),$s=class extends E{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},ec=class extends E{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}})),nc,rc,ic,ac,oc,sc,cc=o((()=>{p(),Ks(),Js(),io(),Xs(),Ls(),Se(),ee(),ko(),D(),tc(),Fe(),He(),nc=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:p}){let m=Ce({from:(t?f(t):void 0)?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(c)} gwei`,nonce:l});p&&(m+=`\\n${Qs(p)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,m].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},rc=class extends E{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=Ps({abi:t,args:n,name:a}),c=s?Ys({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?to(s,{includeName:!0}):void 0,u=Ce({address:r&&Be(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}},ic=class extends E{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=qs({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=Us[e]}else{let e=n?to(n,{includeName:!0}):void 0,t=n&&a?Ys({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 ho&&(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}},ac=class extends E{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},oc=class extends E{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},sc=class extends E{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}}));ko(),D(),cc(),qe(),wt();function lc(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof sc?e:e instanceof E?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new rc(e instanceof co?new ac({functionName:a,cause:e}):[3,tt.code].includes(c)&&(l||u||d||f)||c===nt.code&&u===`execution reverted`&&l?new ic({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Ge?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Jr(),Wr();function uc(e){return Gr(`0x${Ur(`0x${e.substring(4)}`).substring(26)}`)}function dc(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 fc(e,t,n){return e&t^~e&n}function pc(e,t,n){return e&t^e&n^t&n}var mc,hc,gc,_c,vc=o((()=>{Cr(),mc=class extends Sr{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=dr(this.buffer)}update(e){sr(this),e=gr(e),ar(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=dr(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){sr(this),cr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,ur(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;dc(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=dr(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()}},hc=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),gc=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),_c=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{vc(),er(),Cr(),yc=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]),bc=new Uint32Array(64),xc=class extends mc{constructor(e=32){super(64,e,8,!1),this.A=hc[0]|0,this.B=hc[1]|0,this.C=hc[2]|0,this.D=hc[3]|0,this.E=hc[4]|0,this.F=hc[5]|0,this.G=hc[6]|0,this.H=hc[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)bc[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=bc[e-15],n=bc[e-2],r=fr(t,7)^fr(t,18)^t>>>3;bc[e]=(fr(n,17)^fr(n,19)^n>>>10)+bc[e-7]+r+bc[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=fr(o,6)^fr(o,11)^fr(o,25),u=l+t+fc(o,s,c)+yc[e]+bc[e]|0,d=(fr(n,2)^fr(n,13)^fr(n,22))+pc(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(){ur(bc)}destroy(){this.set(0,0,0,0,0,0,0,0),ur(this.buffer)}},Sc=Pn(`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))),Cc=Sc[0],wc=Sc[1],Tc=new Uint32Array(80),Ec=new Uint32Array(80),Dc=class extends mc{constructor(e=64){super(128,e,16,!1),this.Ah=_c[0]|0,this.Al=_c[1]|0,this.Bh=_c[2]|0,this.Bl=_c[3]|0,this.Ch=_c[4]|0,this.Cl=_c[5]|0,this.Dh=_c[6]|0,this.Dl=_c[7]|0,this.Eh=_c[8]|0,this.El=_c[9]|0,this.Fh=_c[10]|0,this.Fl=_c[11]|0,this.Gh=_c[12]|0,this.Gl=_c[13]|0,this.Hh=_c[14]|0,this.Hl=_c[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)Tc[n]=e.getUint32(t),Ec[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Tc[e-15]|0,n=Ec[e-15]|0,r=Bn(t,n,1)^Bn(t,n,8)^Rn(t,n,7),i=Vn(t,n,1)^Vn(t,n,8)^zn(t,n,7),a=Tc[e-2]|0,o=Ec[e-2]|0,s=Bn(a,o,19)^Hn(a,o,61)^Rn(a,o,6),c=Vn(a,o,19)^Un(a,o,61)^zn(a,o,6),l=Xn(i,c,Ec[e-7],Ec[e-16]);Tc[e]=Zn(l,r,s,Tc[e-7],Tc[e-16])|0,Ec[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=Bn(u,d,14)^Bn(u,d,18)^Hn(u,d,41),v=Vn(u,d,14)^Vn(u,d,18)^Un(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Qn(_,v,b,wc[e],Ec[e]),S=$n(x,g,t,y,Cc[e],Tc[e]),C=x|0,w=Bn(n,r,28)^Hn(n,r,34)^Hn(n,r,39),T=Vn(n,r,28)^Un(n,r,34)^Un(n,r,39),ee=n&i^n&o^i&o,te=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=Fn(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ne=Jn(C,T,te);n=Yn(ne,S,w,ee),r=ne|0}({h:n,l:r}=Fn(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=Fn(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=Fn(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=Fn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=Fn(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=Fn(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=Fn(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=Fn(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(){ur(Tc,Ec)}destroy(){ur(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Oc=class extends Dc{constructor(){super(48),this.Ah=gc[0]|0,this.Al=gc[1]|0,this.Bh=gc[2]|0,this.Bl=gc[3]|0,this.Ch=gc[4]|0,this.Cl=gc[5]|0,this.Dh=gc[6]|0,this.Dl=gc[7]|0,this.Eh=gc[8]|0,this.El=gc[9]|0,this.Fh=gc[10]|0,this.Fl=gc[11]|0,this.Gh=gc[12]|0,this.Gl=gc[13]|0,this.Hh=gc[14]|0,this.Hl=gc[15]|0}},kc=vr(()=>new xc),Ac=vr(()=>new Dc),jc=vr(()=>new Oc)})),Nc,Pc,Fc=o((()=>{Cr(),Nc=class extends Sr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,or(e);let n=gr(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),ur(i)}update(e){return sr(this),this.iHash.update(e),this}digestInto(e){sr(this),ar(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()}},Pc=(e,t,n)=>new Nc(e,t).update(n).digest(),Pc.create=(e,t)=>new Nc(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ic(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Lc(e){if(!Ic(e))throw Error(`Uint8Array expected`)}function Rc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function zc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Bc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?il:BigInt(`0x`+e)}function Vc(e){if(Lc(e),ol)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=sl[e[n]];return t}function Hc(e){if(e>=cl._0&&e<=cl._9)return e-cl._0;if(e>=cl.A&&e<=cl.F)return e-(cl.A-10);if(e>=cl.a&&e<=cl.f)return e-(cl.a-10)}function Uc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(ol)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=Hc(e.charCodeAt(i)),a=Hc(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 Wc(e){return Bc(Vc(e))}function Gc(e){return Lc(e),Bc(Vc(Uint8Array.from(e).reverse()))}function Kc(e,t){return Uc(e.toString(16).padStart(t*2,`0`))}function qc(e,t){return Kc(e,t).reverse()}function Jc(e,t,n){let r;if(typeof t==`string`)try{r=Uc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Ic(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 Yc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Lc(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 Xc(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 Zc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Qc(e,t,n){return ll(e)&&ll(t)&&ll(n)&&t<=e&&e<n}function $c(e,t,n,r){if(!Qc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function el(e){let t;for(t=0;e>il;e>>=al,t+=1);return t}function tl(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=dl(e),i=dl(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=dl(0))=>{i=s(fl([0]),e),r=s(),e.length!==0&&(i=s(fl([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 Yc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function nl(e,t,n={}){let r=(t,n,r)=>{let i=pl[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 rl(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 il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml=o((()=>{il=BigInt(0),al=BigInt(1),ol=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,sl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),cl={_0:48,_9:57,A:65,F:70,a:97,f:102},ll=e=>typeof e==`bigint`&&il<=e,ul=e=>(al<<BigInt(e))-al,dl=e=>new Uint8Array(e),fl=e=>Uint8Array.from(e),pl={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`||Ic(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 hl(e,t){let n=e%t;return n>=jl?n:t+n}function gl(e,t,n){let r=e;for(;t-->jl;)r*=r,r%=n;return r}function _l(e,t){if(e===jl)throw Error(`invert: expected non-zero number`);if(t<=jl)throw Error(`invert: expected positive modulus, got `+t);let n=hl(e,t),r=t,i=jl,a=Ml,o=Ml,s=jl;for(;n!==jl;){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!==Ml)throw Error(`invert: does not exist`);return hl(i,t)}function vl(e,t){let n=(e.ORDER+Ml)/Fl,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function yl(e,t){let n=(e.ORDER-Il)/Ll,r=e.mul(t,Nl),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Nl),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 bl(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Ml,n=0;for(;t%Nl===jl;)t/=Nl,n++;let r=Nl,i=Dl(e);for(;Tl(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return vl;let a=i.pow(r,t),o=(t+Ml)/Nl;return function(e,r){if(e.is0(r))return r;if(Tl(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=Ml<<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 xl(e){return e%Fl===Pl?vl:e%Ll===Il?yl:bl(e)}function Sl(e){return nl(e,Rl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Cl(e,t,n){if(n<jl)throw Error(`invalid exponent, negatives unsupported`);if(n===jl)return e.ONE;if(n===Ml)return t;let r=e.ONE,i=t;for(;n>jl;)n&Ml&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Ml;return r}function wl(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 Tl(e,t){let n=(e.ORDER-Ml)/Nl,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 El(e,t){t!==void 0&&ir(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Dl(e,t,n=!1,r={}){if(e<=jl)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=El(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:ul(i),ZERO:jl,ONE:Ml,create:t=>hl(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return jl<=t&&t<e},is0:e=>e===jl,isOdd:e=>(e&Ml)===Ml,neg:t=>hl(-t,e),eql:(e,t)=>e===t,sqr:t=>hl(t*t,e),add:(t,n)=>hl(t+n,e),sub:(t,n)=>hl(t-n,e),mul:(t,n)=>hl(t*n,e),pow:(e,t)=>Cl(s,e,t),div:(t,n)=>hl(t*_l(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>_l(t,e),sqrt:r.sqrt||(t=>(o||=xl(e),o(s,t))),toBytes:e=>n?qc(e,a):Kc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?Gc(e):Wc(e)},invertBatch:e=>wl(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Ol(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function kl(e){let t=Ol(e);return t+Math.ceil(t/2)}function Al(e,t,n=!1){let r=e.length,i=Ol(t),a=kl(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=hl(n?Gc(e):Wc(e),t-Ml)+Ml;return n?qc(o,i):Kc(o,i)}var jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl=o((()=>{Cr(),ml(),jl=BigInt(0),Ml=BigInt(1),Nl=BigInt(2),Pl=BigInt(3),Fl=BigInt(4),Il=BigInt(5),Ll=BigInt(8),Rl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Bl(e,t){let n=t.negate();return e?n:t}function Vl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Hl(e,t){Vl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:ul(e),maxNumber:i,shiftBy:BigInt(e)}}function Ul(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+=Zl);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 Wl(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 Gl(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 Kl(e){return $l.get(e)||1}function ql(e,t){return{constTimeNegate:Bl,hasPrecomputes(e){return Kl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Xl;)n&Zl&&(r=r.add(i)),i=i.double(),n>>=Zl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Hl(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=Hl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Ul(i,e,s);i=t,c?o=o.add(Bl(u,r[d])):a=a.add(Bl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=Hl(n,t);for(let e=0;e<o.windows&&i!==Xl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=Ul(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=Ql.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Ql.set(t,n(r))),r},wNAFCached(e,t,n){let r=Kl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Kl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Vl(n,t),$l.set(e,n),Ql.delete(e)}}}function Jl(e,t,n,r){Wl(n,e),Gl(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=el(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=ul(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 Yl(e){return Sl(e.Fp),nl(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...El(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Xl,Zl,Ql,$l,eu=o((()=>{zl(),ml(),Xl=BigInt(0),Zl=BigInt(1),Ql=new WeakMap,$l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction tu(e){e.lowS!==void 0&&Rc(`lowS`,e.lowS),e.prehash!==void 0&&Rc(`prehash`,e.prehash)}function nu(e){let t=Yl(e);nl(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 ru(e,t){return Vc(Kc(e,t))}function iu(e){let t=nu(e),{Fp:n}=t,r=Dl(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return Yc(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,mu),hu),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 Qc(e,fu,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Ic(e)&&(e=Vc(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:Wc(Jc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=hl(o,a)),$c(`private key`,o,fu,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=rl((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=rl(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=wl(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(Jc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return Jl(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,mu),{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,mu),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;$c(`scalar`,e,du,i);let a=h.ZERO;if(e===du)return a;if(this.is0()||e===fu)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>du||l>du;)s&fu&&(u=u.add(f)),l&fu&&(d=d.add(f)),f=f.double(),s>>=fu,l>>=fu;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;$c(`scalar`,e,fu,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===du||t===fu||!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===fu)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===fu?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Rc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Rc(`isCompressed`,e),Vc(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=ql(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function au(e){let t=Yl(e);return nl(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function ou(e){let t=au(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return hl(e,r)}function l(e){return _l(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=iu({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=Yc;return Rc(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=Wc(i);if(!Qc(e,fu,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&fu)===fu;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>>fu}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>Wc(e.slice(t,n));class _{constructor(e,t,n){$c(`r`,e,fu,r),$c(`s`,t,fu,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=Jc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=uu.toSig(Jc(`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(Jc(`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+ru(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 Uc(this.toDERHex())}toDERHex(){return uu.hexFromSig(this)}toCompactRawBytes(){return Uc(this.toCompactHex())}toCompactHex(){let e=i;return ru(this.r,e)+ru(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=kl(t.n);return Al(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=Jc(`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=Wc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=ul(a);function T(e){return $c(`num < 2^`+a,e,du,w),Kc(e,i)}function ee(e,r,i=te){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=Jc(`msgHash`,e),tu(i),f&&(e=Jc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(Jc(`extraEntropy`,e))}let x=Yc(...b),w=v;function ee(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===du)return;let a=c(n*c(w+i*y));if(a===du)return;let o=(r.x===i?0:2)|Number(r.y&fu),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return tl(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=Jc(`msgHash`,n),r=Jc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(tu(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`||Ic(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 uu.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function su(e,t){let n=e.ORDER,r=du;for(let e=n-fu;e%pu===du;e/=pu)r+=fu;let i=r,a=pu<<i-fu-fu,o=a*pu,s=(n-fu)/o,c=(s-fu)/pu,l=o-fu,u=a,d=e.pow(t,s),f=e.pow(t,(s+fu)/pu),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>fu;t--){let n=t-pu;n=pu<<n-fu;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%hu===mu){let n=(e.ORDER-mu)/hu,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 cu(e,t){if(Sl(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=su(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=wl(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var lu,uu,du,fu,pu,mu,hu,gu=o((()=>{eu(),zl(),ml(),lu=class extends Error{constructor(e=``){super(e)}},uu={Err:lu,_tlv:{encode:(e,t)=>{let{Err:n}=uu;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=zc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?zc(i.length/2|128):``;return zc(e)+a+i+t},decode(e,t){let{Err:n}=uu,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}=uu;if(e<du)throw new t(`integer: negative integers are not allowed`);let n=zc(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}=uu;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 Wc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=uu,i=Jc(`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}=uu,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},du=BigInt(0),fu=BigInt(1),pu=BigInt(2),mu=BigInt(3),hu=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction _u(e){return{hash:e,hmac:(t,...n)=>Pc(e,t,_r(...n)),randomBytes:yr}}function vu(e,t){let n=t=>ou({...e,..._u(t)});return{...n(t),create:n}}var yu=o((()=>{Fc(),Cr(),gu()}));function bu(e,t){if(Su(e),Su(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 xu(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 Su(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Cu(e,t,n,r){Lc(e),Lc(t),Su(n),t.length>255&&(t=r(Yc(Zc(`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=Yc(t,bu(t.length,1)),c=bu(0,a),l=bu(n,2),u=Array(o),d=r(Yc(c,e,l,bu(0,1),s));u[0]=r(Yc(d,bu(1,1),s));for(let e=1;e<=o;e++)u[e]=r(Yc(xu(d,u[e-1]),bu(e+1,1),s));return Yc(...u).slice(0,n)}function wu(e,t,n,r,i){if(Lc(e),Lc(t),Su(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(Zc(`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(bu(n,2)).update(t).update(bu(t.length,1)).digest()}function Tu(e,t,n){nl(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;Lc(e),Su(t);let l=typeof c==`string`?Zc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Cu(e,l,f,o);else if(s===`xof`)p=wu(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=hl(Ou(p.subarray(i,i+d)),r)}m[e]=t}return m}function Eu(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]=wl(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Du(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=Tu(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(Tu(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 Ou,ku=o((()=>{zl(),ml(),Ou=Wc})),Au=c({encodeToCurve:()=>od,hashToCurve:()=>ad,schnorr:()=>td,secp256k1:()=>Ku,secp256k1_hasher:()=>id});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ju(e){let t=zu,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=gl(gl(gl(u,n,t)*u%t,n,t)*u%t,Uu,t)*l%t,f=gl(d,i,t)*d%t,p=gl(f,a,t)*f%t,m=gl(p,s,t)*p%t,h=gl(gl(gl(gl(gl(gl(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,Uu,t);if(!Gu.eql(Gu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Mu(e,...t){let n=qu[e];if(n===void 0){let t=kc(Uint8Array.from(e,e=>e.charCodeAt(0)));n=Yc(t,t),qu[e]=n}return kc(Yc(n,...t))}function Nu(e){let t=Ku.utils.normPrivateKeyToScalar(e),n=Qu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Zu(-t),bytes:Ju(n)}}function Pu(e){$c(`x`,e,Hu,zu);let t=ju(Xu(Xu(e*e)*e+BigInt(7)));t%Uu!==Vu&&(t=Xu(-t));let n=new Qu(e,t,Hu);return n.assertValidity(),n}function Fu(...e){return Zu(ed(Mu(`BIP0340/challenge`,...e)))}function Iu(e){return Nu(e).bytes}function Lu(e,t,n=yr(32)){let r=Jc(`message`,e),{bytes:i,scalar:a}=Nu(t),o=Zu(ed(Mu(`BIP0340/nonce`,Yu(a^ed(Mu(`BIP0340/aux`,Jc(`auxRand`,n,32)))),i,r)));if(o===Vu)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Nu(o),l=Fu(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(Yu(Zu(c+l*a)),32),!Ru(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Ru(e,t,n){let r=Jc(`signature`,e,64),i=Jc(`message`,t),a=Jc(`publicKey`,n,32);try{let e=Pu(ed(a)),t=ed(r.subarray(0,32));if(!Qc(t,Hu,zu))return!1;let n=ed(r.subarray(32,64));if(!Qc(n,Hu,Bu))return!1;let o=$u(e,n,Zu(-Fu(Yu(t),Ju(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd=o((()=>{Mc(),Cr(),yu(),ku(),zl(),ml(),gu(),zu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Bu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),Vu=BigInt(0),Hu=BigInt(1),Uu=BigInt(2),Wu=(e,t)=>(e+t/Uu)/t,Gu=Dl(zu,void 0,void 0,{sqrt:ju}),Ku=vu({a:Vu,b:BigInt(7),Fp:Gu,n:Bu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Bu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-Hu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=Wu(a*e,t),c=Wu(-r*e,t),l=hl(e-s*n-c*i,t),u=hl(-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}}}},kc),qu={},Ju=e=>e.toRawBytes(!0).slice(1),Yu=e=>Kc(e,32),Xu=e=>hl(e,zu),Zu=e=>hl(e,Bu),Qu=Ku.ProjectivePoint,$u=(e,t,n)=>Qu.BASE.multiplyAndAddUnsafe(e,t,n),ed=Wc,td={getPublicKey:Iu,sign:Lu,verify:Ru,utils:{randomPrivateKey:Ku.utils.randomPrivateKey,lift_x:Pu,pointToBytes:Ju,numberToBytesBE:Kc,bytesToNumberBE:Wc,taggedHash:Mu,mod:hl}},nd=Eu(Gu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),rd=cu(Gu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:Gu.create(BigInt(`-11`))}),id=Du(Ku.ProjectivePoint,e=>{let{x:t,y:n}=rd(Gu.create(e[0]));return nd(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:Gu.ORDER,m:1,k:128,expand:`xmd`,hash:kc}),ad=id.hashToCurve,od=id.encodeToCurve}));Lt(),zt(),hn(),A();async function cd({hash:e,signature:t}){let n=O(e)?e:Xt(e),{secp256k1:r}=await Promise.resolve().then(()=>(sd(),Au));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=ld(Number(a??i));return new r.Signature(j(e),j(n)).addRecoveryBit(o)}let e=O(t)?t:Xt(t);if(Rt(e)!==65)throw Error(`invalid signature length`);let n=ld(mn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function ld(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 ud({hash:e,signature:t}){return uc(await cd({hash:e,signature:t}))}D(),Io(),dn(),A();function dd(e,t=`hex`){let n=fd(e),r=Po(new Uint8Array(n.length));return n.encode(r),t===`hex`?Qt(r.bytes):r.bytes}function fd(e){return Array.isArray(e)?pd(e.map(e=>fd(e))):md(e)}function pd(e){let t=e.reduce((e,t)=>e+t.length,0),n=hd(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 md(e){let t=typeof e==`string`?on(e):e,n=hd(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 hd(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new E(`Length is too large.`)}Zo(),dn(),A(),Wr();function gd(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=Ur(Xo([`0x05`,dd([t?k(t):`0x`,i,n?k(n):`0x`])]));return r===`bytes`?on(a):a}async function _d(e){let{authorization:t,signature:n}=e;return ud({hash:gd(t),signature:n??t})}Se(),ee(),D(),Fe();var vd=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=Ce({from:t?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(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}};be(),Et();function yd(e,{docsPath:t,...n}){return new vd((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}function bd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Wt({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Wt({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function xd(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=k(t)),n!==void 0&&(o.nonce=k(n)),r!==void 0&&(o.state=bd(r)),i!==void 0){if(o.state)throw new ec;o.stateDiff=bd(i)}return o}function Sd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Yr(n,{strict:!1}))throw new kn({address:n});if(t[n])throw new $s({address:n});t[n]=xd(r)}return t}var Cd=o((()=>{An(),Gt(),tc(),Qr(),A()}));async function wd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}hn();async function Td(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 M(e,ri,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?j(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):M(e,ri,`getBlock`)({}),M(e,wd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new oe;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Ed(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 ae;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await M(e,ri,`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 oe;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Td(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 M(e,wd,`getGasPrice`)({}))}}function Dd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new E(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?k(n):r??`latest`}var Od=o((()=>{D(),A()}));Od(),hn();async function kd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Dd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return mn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}dn(),A();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=>on(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Qt(e))}dn(),A();function jd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>on(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>on(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=>Qt(e))}Mc();let Md=kc;Lt(),dn(),A();function Nd(e,t){let n=t||`hex`,r=Md(O(e,{strict:!1})?nn(e):e);return n===`bytes`?r:Xt(r)}A();function Pd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Nd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Qt(i)}function Fd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Pd({commitment:e,to:r,version:n}));return i}D();var Id=class extends E{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Ld=class extends E{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Rd=class extends E{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},zd=class extends E{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Io(),zt(),dn(),A();function Bd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?on(e.data):e.data,r=Rt(n);if(!r)throw new Ld;if(r>761855)throw new Id({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Po(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=>Qt(e.bytes))}function Vd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Bd({data:t,to:r}),a=e.commitments??Ad({blobs:i,kzg:n,to:r}),o=e.proofs??jd({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}Fe();function Hd(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 Ee({transaction:e})}p(),Mn(),ei();let Ud=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Wd=new Map,Gd=new jn(128);async function Kd(e,t){let n=t;n.account??=e.account,n.parameters??=Ud;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await M(e,ii,`getChainId`)({}),c):n.chainId)}let u=r&&f(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let p=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Gd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await M(e,ai,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return Gd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Gd.set(e.uid,!1),n}):n;d??=p.nonce,n={...p,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:m,gas:h,kzg:g,type:_}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let v;async function y(){return v||(v=await M(e,ri,`getBlock`)({blockTag:`latest`}),v)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await M(e,kd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&m&&g){let e=Ad({blobs:m,kzg:g});if(o.includes(`blobVersionedHashes`)){let t=Fd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Vd({blobs:m,commitments:e,proofs:jd({blobs:m,commitments:e,kzg:g}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&_===void 0)try{n.type=Hd(n)}catch{let t=Wd.get(e.uid);t===void 0&&(t=typeof(await y())?.baseFeePerGas==`bigint`,Wd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Ed(e,{block:await y(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new se({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new oe;if(n.gasPrice===void 0){let{gasPrice:t}=await Ed(e,{block:await y(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&h===void 0&&(n.gas=await M(e,qd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),$r(n),delete n.parameters,n}p(),D(),A(),kt(),En(),Cd(),ei();async function qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?f(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await _d({authorization:t.authorizationList[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Kd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?k(u):void 0)||d,C=Sd(b);$r(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||Sn)({...Ot(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw yd(n,{...t,account:i,chain:e.chain})}}p(),Hs();async function Jd(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=Vs({abi:n,args:i,functionName:a});try{return await M(e,qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?f(s.account):void 0)?.address})}}function Yd(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=Ps({abi:t,args:n,name:r});if(!e)throw new vo(r,{docsPath:Xd});a=e}if(a.type!==`function`)throw new vo(void 0,{docsPath:Xd});if(!a.outputs)throw new yo(a.name,{docsPath:Xd});let o=ms(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var Xd,Zd=o((()=>{ko(),Es(),Ls(),Xd=`/docs/contract/decodeFunctionResult`})),Qd,$d=o((()=>{Qd=`0.1.1`}));function ef(){return Qd}var tf=o((()=>{$d()}));function nf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?nf(e.cause,t):t?null:e}var N,rf=o((()=>{tf(),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 nf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${ef()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function af(e,t){if(Nf(e)>t)throw new Kf({givenSize:Nf(e),maxSize:t})}function of(e,t){if(typeof t==`number`&&t>0&&t>Nf(e)-1)throw new qf({offset:t,position:`start`,size:Nf(e)})}function sf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Nf(e)!==n-t)throw new qf({offset:n,position:`end`,size:Nf(e)})}function cf(e){if(e>=df.zero&&e<=df.nine)return e-df.zero;if(e>=df.A&&e<=df.F)return e-(df.A-10);if(e>=df.a&&e<=df.f)return e-(df.a-10)}function lf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Jf({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 uf(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 df,ff=o((()=>{Yf(),df={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function pf(e,t){if(ip(e)>t)throw new gp({givenSize:ip(e),maxSize:t})}function mf(e,t){if(typeof t==`number`&&t>0&&t>ip(e)-1)throw new _p({offset:t,position:`start`,size:ip(e)})}function hf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&ip(e)!==n-t)throw new _p({offset:n,position:`end`,size:ip(e)})}function gf(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 vp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function _f(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 vf=o((()=>{R()}));function yf(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=>yf(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)}:${yf(r)}`),t},[]).join(`,`)}}`}function bf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Sf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function xf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Sf:n,n)}var Sf,Cf=o((()=>{Sf=`#__bigint`}));function wf(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 Gf(e)}function Tf(...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 Ef(e){return e instanceof Uint8Array?e:typeof e==`string`?Of(e):Df(e)}function Df(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Of(e,t={}){let{size:n}=t,r=e;n&&(pf(e,n),r=np(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=cf(i.charCodeAt(t++)),r=cf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function kf(e,t={}){let{size:n}=t,r=Uf.encode(e);return typeof n==`number`?(af(r,n),jf(r,n)):r}function Af(e,t){return Xc(e,t)}function jf(e,t){return lf(e,{dir:`right`,size:t})}function Mf(e){return crypto.getRandomValues(new Uint8Array(e))}function Nf(e){return e.length}function Pf(e,t,n,r={}){let{strict:i}=r;of(e,t);let a=e.slice(t,n);return i&&sf(a,t,n),a}function Ff(e,t={}){let{size:n}=t;return n!==void 0&&af(e,n),L($f(e,t),t)}function If(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(af(r,n),r=zf(r)),r.length>1||r[0]>1)throw new Wf(r);return!!r[0]}function Lf(e,t={}){let{size:n}=t;return n!==void 0&&af(e,n),sp($f(e,t),t)}function Rf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(af(r,n),r=Bf(r)),Hf.decode(r)}function zf(e){return uf(e,{dir:`left`})}function Bf(e){return uf(e,{dir:`right`})}function Vf(e){try{return wf(e),!0}catch{return!1}}var Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf=o((()=>{ml(),rf(),R(),ff(),vf(),Cf(),Hf=new TextDecoder,Uf=new TextEncoder,Wf=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`})}},Gf=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?xf(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`})}},Kf=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`})}},qf=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`})}},Jf=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 Xf(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new pp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new mp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function Zf(e){return e instanceof Uint8Array?$f(e):Array.isArray(e)?$f(new Uint8Array(e)):e}function Qf(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(pf(n,t.size),tp(n,t.size)):n}function $f(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=dp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(pf(r,t.size),np(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 fp({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?tp(s,r):s}function ep(e,t={}){return $f(up.encode(e),t)}function tp(e,t){return gf(e,{dir:`left`,size:t})}function np(e,t){return gf(e,{dir:`right`,size:t})}function rp(e){return $f(Mf(e))}function I(e,t,n,r={}){let{strict:i}=r;mf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&hf(a,t,n),a}function ip(e){return Math.ceil((e.length-2)/2)}function ap(e){return _f(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&pf(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 op(e,t={}){return Of(e,t)}function sp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function cp(e,t={}){let{size:n}=t,r=Of(e);return n&&(af(r,n),r=Bf(r)),new TextDecoder().decode(r)}function lp(e,t={}){let{strict:n=!1}=t;try{return Xf(e,{strict:n}),!0}catch{return!1}}var up,dp,fp,pp,mp,hp,gp,_p,vp,R=o((()=>{Yf(),rf(),ff(),vf(),Cf(),up=new TextEncoder,dp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),fp=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`})}},pp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?xf(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`})}},mp=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`})}},hp=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`})}},gp=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`})}},_p=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`})}},vp=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 yp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var bp=o((()=>{R()}));function xp(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(yp)}}}var Sp=o((()=>{R(),bp()})),Cp=o((()=>{})),wp,Tp,Ep,Dp,Op=o((()=>{wp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Tp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Ep=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Dp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),kp,Ap,jp,Mp,Np,Pp=o((()=>{D(),kp=class extends E{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Ap=class extends E{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},jp=class extends E{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Mp=class extends E{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Np=class extends E{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Fp(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 ao({docsPath:Ip});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new oo({docsPath:Ip});return Xo([r,ts(i.inputs,n)])}var Ip,Lp=o((()=>{ko(),Zo(),ps(),Ip=`/docs/contract/encodeDeployData`}));function Rp({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 zp=o((()=>{Pp()}));function Bp(e,{docsPath:t,...n}){return new nc((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}var Vp=o((()=>{cc(),be(),Et()}));function Hp(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Up=o((()=>{}));function Wp({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=()=>Gp.delete(t),s=()=>c().map(({args:e})=>e),c=()=>Gp.get(t)||[],l=e=>Gp.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=Hp();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 Gp,Kp=o((()=>{Up(),Gp=new Map})),qp,Jp,Yp,Xp=o((()=>{Le(),D(),He(),qp=class extends E{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Ve(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},Jp=class extends E{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Ve(t)}`,`Response: ${Ie(e)}`],name:`OffchainLookupResponseMalformedError`})}},Yp=class extends E{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function Zp(e){let{abi:t,data:n}=e,r=Lo(n,0,4),i=t.find(e=>e.type===`function`&&r===Ms(to(e)));if(!i)throw new bo(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?ms(i.inputs,Lo(n,4)):void 0}}var Qp=o((()=>{ko(),Ho(),Ns(),Es(),io()}));function $p(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=Ps({abi:t,args:r,name:n});if(!e)throw new mo(n,{docsPath:em});i=e}if(i.type!==`error`)throw new mo(void 0,{docsPath:em});let a=Ms(to(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new po(i.name,{docsPath:em});o=ts(i.inputs,r)}return Xo([a,o])}var em,tm=o((()=>{ko(),Zo(),Ns(),ps(),io(),Ls(),em=`/docs/contract/encodeErrorResult`}));function nm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=Ps({abi:t,name:n});if(!e)throw new vo(n,{docsPath:rm});i=e}if(i.type!==`function`)throw new vo(void 0,{docsPath:rm});if(!i.outputs)throw new yo(i.name,{docsPath:rm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Do(r)})();return ts(i.outputs,a)}var rm,im=o((()=>{ko(),ps(),Ls(),rm=`/docs/contract/encodeFunctionResult`}));async function am(e){let{data:t,ccipRequest:n}=e,{args:[r]}=Zp({abi:si,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await am({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=om(e)}})),nm({abi:si,functionName:`query`,result:[i,a]})}function om(e){return e.name===`HttpRequestError`&&e.status?$p({abi:si,errorName:`HttpError`,args:[e.status,e.shortMessage]}):$p({abi:[Ws],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var sm=o((()=>{fi(),Ks(),Qp(),tm(),im()})),cm=c({ccipRequest:()=>um,offchainLookup:()=>lm,offchainLookupAbiItem:()=>fm,offchainLookupSignature:()=>dm});async function lm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=qs({data:r,abi:[fm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:um;try{if(!pi(a,s))throw new Yp({sender:s,to:a});let{data:r}=await mm(e,{blockNumber:t,blockTag:n,data:Jo([u,ts([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await am({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?Re(i.signal):ze(e)?e:new qp({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function um({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 Re(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 Ue({body:c,details:a?.error?Ie(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!O(a)){i=new Jp({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Re(t.signal);if(ze(e))throw e;i=new Ue({body:c,details:e.message,url:o})}}throw i}var dm,fm,pm=o((()=>{Tm(),Xp(),qe(),He(),Js(),ps(),mi(),Zo(),Lt(),sm(),Le(),dm=`0x556f1830`,fm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function mm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:p,data:m,factory:h,factoryData:g,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,requestOptions:C,to:w,value:T,stateOverride:ee,...te}=t,ne=n?f(n):void 0;if(p&&(h||g))throw new E(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(p&&w)throw new E(\"Cannot provide both `code` & `to` as parameters.\");let re=p&&m,ie=h&&g&&w&&m,D=re||ie,ae=re?bm({code:p,data:m}):ie?xm({data:m,factory:h,factoryData:g,to:w}):m;try{$r(t);let n=Dd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?xp(d):void 0,p=Sd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||Sn)({...Ot(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:ae,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,to:D?void 0:w,value:T},`call`);if(i&&hm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=vm(e,{blockNumber:o,deployless:t});if(!n||!ym(p,n))return await _m(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:C,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Mp)&&!(e instanceof kp))throw e}let g=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:g},C);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(C?.signal?.aborted)throw Re(C.signal);if(ze(n))throw n;let r=Sm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(pm(),cm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&w)return{data:await i(e,{data:r,requestOptions:C,to:w})};throw D&&r?.slice(0,10)===`0x101bb98d`?new oc({factory:h}):Bp(n,{...t,account:ne,chain:e.chain})}}function hm({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 gm(e){if(!e)return`default`;let t=wm.get(e);if(t!==void 0)return t;let n=Cm++;return wm.set(e,n),n}async function _m(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?vm(e,{blockNumber:o,deployless:r}):u,h=Dd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=Wp({id:`${e.uid}.${g}.${gm(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=Vs({abi:oi,args:[n],functionName:`aggregate3`}),i={...m===null?{data:bm({code:Dp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return Yd({abi:oi,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new sc({data:y});return y===`0x`?{data:void 0}:{data:y}}function vm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return Rp({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Mp}function ym(e,t){return e?Object.keys(e).some(e=>pi(e,t)):!1}function bm(e){let{code:t,data:n}=e;return Fp({abi:Wa([`constructor(bytes, bytes)`]),bytecode:wp,args:[t,n]})}function xm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Fp({abi:Wa([`constructor(address, bytes, address, bytes)`]),bytecode:Tp,args:[i,t,n,r]})}function Sm(e){if(!(e instanceof E))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Cm,wm,Tm=o((()=>{Ka(),Sp(),p(),fi(),Cp(),Op(),D(),Pp(),cc(),He(),Zd(),Lp(),Hs(),mi(),Od(),zp(),Vp(),kt(),En(),Kp(),Cd(),ei(),Cm=0,wm=new WeakMap}));p(),Zd(),Hs(),Tm();async function Em(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?f(s.account):e.account,l=Vs({abi:n,args:i,functionName:a});try{let{data:u}=await M(e,mm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:Yd({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 lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}D();var Dm=class extends E{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},Om=class extends E{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Pp();function km({chain:e,currentChainId:t}){if(!e)throw new jp;if(t!==e.id)throw new Ap({chain:e,currentChainId:t})}async function Am(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}p(),D(),Zo(),kt(),En(),Mn(),ei();let jm=new jn(128);async function Mm(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,type:_,value:v,...y}=t;if(n===void 0)throw new Dm({docsPath:`/docs/actions/wallet/sendTransaction`});let b=n?f(n):null,x;try{$r(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await _d({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(b?.type===`json-rpc`||b===null){let t;i!==null&&(t=await M(e,ii,`getChainId`)({}),r&&km({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,x=(f||Sn)({...Ot(y,{format:f}),accessList:a,account:b,authorizationList:o,blobs:s,chainId:t,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:_,value:v},`sendTransaction`),S=jm.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=>(jm.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(jm.set(e.uid,!1),n):r});throw n}}if(b?.type===`local`){if(b.nonceManager&&g===void 0){let t=y.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:M(e,ii,`getChainId`)({}))();x={address:b.address,chainId:n}}let t=await M(e,Kd,`prepareTransactionRequest`)({account:b,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:b.nonceManager,parameters:[...Ud,`sidecars`],type:_,value:v,...y,to:n}),r=i?.serializers?.transaction,f=await b.signTransaction(t,{serializer:r});return await M(e,Am,`sendRawTransaction`)({serializedTransaction:f})}throw b?.type===`smart`?new Om({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Om({docsPath:`/docs/actions/wallet/sendTransaction`,type:b?.type})}catch(e){throw e instanceof Om?e:(x&&b?.nonceManager?.reset(x),Dt(e,{...t,account:b,chain:t.chain||void 0}))}}p(),Hs();async function z(e,t){return z.internal(e,Mm,`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 Dm({docsPath:`/docs/contract/writeContract`});let u=a?f(a):null,d=Vs({abi:i,args:s,functionName:c});try{return await M(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw lc(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),D();var Nm=class extends E{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function Pm(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new Nm({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}`)}Zd(),Hs(),Tm();async function Fm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=Vs({abi:n,args:i,functionName:a});try{let{data:t}=await M(e,mm,`call`)({...o,data:s,to:r});return Yd({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}Qr(),mi(),Hs(),w();function Im(e,t){return{amount:e,decimals:t,formatted:C(e,t)}}function Lm(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Pm(e.formatted,Rm(n))}function Rm(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function zm(e,t){return typeof e==`bigint`?t:e.decimals??t}function Bm(e,t){let{decimals:n,token:r}=t,i=Vm(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Yr(r,{strict:!1}))return{address:r,decimals:n??Wm(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 Vm(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=Um(n,t);if(i)return Hm(i,r);if(Yr(t,{strict:!1}))for(let e of n){let n=Hm(e,r);if(n&&pi(n.address,t))return n}}function Hm(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 Um(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function Wm(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=Hm(e,r);if(n&&pi(n.address,t))return n.decimals}}function Gm(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 Km(e){return{...e,data:Vs(e),to:e.address}}fi();async function qm(e,t){return qm.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 Km(Jm(e,t))}e.call=n;async function r(t,n){return Jd(t,{...Gm(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...Gm(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:di,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(qm||={});function Jm(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=Bm(e,{token:i});return{abi:di,address:a,args:[r,Lm(n,o)],functionName:`approve`}}let Ym=new Map,Xm=new Map,Zm=0;function Qm(e,t,n){let r=++Zm,i=()=>Ym.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Ym.delete(e),Xm.delete(e);return}Ym.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Xm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Ym.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Xm.set(e,l),o}He();async function $m(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Re(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Re(t))};t?.addEventListener(`abort`,o,{once:!0})})}He();function eh(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Re(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await $m(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Re(i));return}if(ze(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Fe(),A();async function th(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:k(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,k(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,k(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,k(s)]},{dedupe:!0})),!u)throw new je({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||yn)(u,`getTransaction`)}hn(),_n();let nh={\"0x0\":`reverted`,\"0x1\":`success`};function rh(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=>hi(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?mn(e.transactionIndex):null,status:e.status?nh[e.status]:null,type:e.type?vn[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let ih=gn(`transactionReceipt`,rh);Fe();async function ah(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Me({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||rh)(n,`getTransactionReceipt`)}function oh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await $m(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await $m(r),s())};s()})(),a}let sh=new Map,ch=new Map;function lh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,sh),r=t(e,ch);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function uh(e,{cacheKey:t,cacheTime:n=1/0}){let r=lh(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 dh=e=>`blockNumber.${e}`;async function fh(e,{cacheTime:t=e.cacheTime}={}){let n=await uh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:dh(e.uid),cacheTime:t});return BigInt(n)}hn(),Le();function ph(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?!(e.transport.type===`webSocket`||e.transport.type===`ipc`||e.transport.type===`fallback`&&(e.transport.transports[0].config.type===`webSocket`||e.transport.transports[0].config.type===`ipc`)):a,c;return s?Qm(Ie([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>oh(async()=>{try{let t=await M(e,fh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Qm(Ie([`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=j(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Fe(),Up(),Le();async function mh(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=Ie([`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}=Hp(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Pe({hash:i}))},c):void 0;return h=Qm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await M(e,ah,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=M(e,ph,`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 eh(async()=>{d=await M(e,th,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await M(e,ah,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof je||n instanceof Me){if(!d){m=!1;return}try{f=d,m=!0;let n=await eh(()=>M(e,ri,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof ti});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await M(e,ah,`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))}}})}),_}Fe();async function hh(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||rh)(i);if(a.status===`reverted`&&n)throw new Ne({receipt:a});return a}p(),D(),Fe(),Zo(),kt(),En(),Mn(),ei();let gh=new jn(128);async function _h(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,pollingInterval:_,throwOnReceiptRevert:v,type:y,value:b,...x}=t,S=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new Dm({docsPath:`/docs/actions/wallet/sendTransactionSync`});let C=n?f(n):null,w;try{$r(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await _d({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(C?.type===`json-rpc`||C===null){let t;i!==null&&(t=await M(e,ii,`getChainId`)({}),r&&km({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,w=(f||Sn)({...Ot(x,{format:f}),accessList:a,account:C,authorizationList:o,blobs:s,chainId:t,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:y,value:b},`sendTransaction`),T=gh.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[w]},{retryCount:0}).then(t=>(gh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(gh.set(e.uid,!1),n):r});throw n}})(),ne=await M(e,mh,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:_,timeout:S});if(v&&ne.status===`reverted`)throw new Ne({receipt:ne});return ne}if(C?.type===`local`){if(C.nonceManager&&g===void 0){let t=x.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:M(e,ii,`getChainId`)({}))();w={address:C.address,chainId:n}}let r=await M(e,Kd,`prepareTransactionRequest`)({account:C,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:C.nonceManager,parameters:[...Ud,`sidecars`],type:y,value:b,...x,to:n}),f=i?.serializers?.transaction,_=await C.signTransaction(r,{serializer:f});return await M(e,hh,`sendRawTransactionSync`)({serializedTransaction:_,throwOnReceiptRevert:v,timeout:t.timeout})}throw C?.type===`smart`?new Om({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Om({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:C?.type})}catch(e){throw e instanceof Om?e:(w&&!(e instanceof Ne)&&C?.nonceManager?.reset(w),Dt(e,{...t,account:C,chain:t.chain||void 0}))}}async function vh(e,t){return z.internal(e,_h,`sendTransactionSync`,t)}w();async function yh(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Bm(e,{token:r}),o=zm(n,a),s=await qm.inner(vh,e,{...t,throwOnReceiptRevert:i}),{args:c}=qm.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:C(c.value,o)},receipt:s}}fi();async function bh(e,t){return bh.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 Km(xh(e,t))}e.call=n;async function r(t,n){return Jd(t,{...Gm(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...Gm(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:di,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(bh||={});function xh(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=Bm(e,{token:a}),c=Lm(n,s);return r?{abi:di,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:di,address:o,args:[i,c],functionName:`transfer`}}w();async function Sh(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Bm(e,{token:r}),o=zm(n,a),s=await bh.inner(vh,e,{...t,throwOnReceiptRevert:i}),{args:c}=bh.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:C(c.value,o)},receipt:s}}A();async function Ch(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:k(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}Lp();function wh(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=Fp({abi:n,args:r,bytecode:i});return Mm(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Jr();async function Th(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Gr(e))}p(),D(),wt(),Hs(),Zo(),hn(),A();let Eh=k(0,{size:32});async function Dh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?f(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?Vs({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Jo([n,t.dataSuffix]):n,to:t.to,value:t.value?k(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:k(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new ht(new E(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new xt(new E(e,{details:e}))}let t=[];for(let n of d){try{let i=await Mm(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?j(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:Jo([...t.map(e=>e.status===`fulfilled`?e.value:Eh),k(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Dt(n,{...t,account:l,chain:t.chain})}}Ho(),Vt(),hn();async function Oh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Bt(Vo(t,-64,-32)),r=Vo(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>Eh.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:mn(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?mn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:j(e.blockNumber),gasUsed:j(e.gasUsed),status:nh[e.status]}))??[],statusCode:l,status:c,version:o}}p(),A();async function kh(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?f(n):void 0,a=r?[i?.address,[k(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 Ah(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}p(),mi();async function jh(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new Dm({docsPath:`/docs/eip7702/prepareAuthorization`});let a=f(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:f(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await M(e,ii,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await M(e,kd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&pi(o.address,a.address))&&(s.nonce+=1)),s}Jr();async function Mh(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Kr(e))}async function Nh(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}D();var Ph=class extends E{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};D(),Up(),Le();async function Fh(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=Ie([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=Hp(),p,m=Qm(l,{resolve:d,reject:f},t=>{let s=oh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await eh(async()=>{let t=await M(e,Oh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Ph(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Ih({id:n}))},s):void 0,await u}var Ih=class extends E{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};async function Lh(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await M(e,Dh,`sendCalls`)(t);return await M(e,Fh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Rh(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}p();async function zh(e,t){let{account:n=e.account}=t;if(!n)throw new Dm({docsPath:`/docs/eip7702/signAuthorization`});let r=f(n);if(!r.signAuthorization)throw new Om({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await jh(e,t);return r.signAuthorization(i)}p(),A();async function Bh(e,{account:t=e.account,message:n}){if(!t)throw new Dm({docsPath:`/docs/actions/wallet/signMessage`});let r=f(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?$t(n):n.raw instanceof Uint8Array?Xt(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}p(),A(),En(),ei();async function Vh(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Dm({docsPath:`/docs/actions/wallet/signTransaction`});let a=f(n);$r({account:a,...t});let o=await M(e,ii,`getChainId`)({});r!==null&&km({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Sn;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:k(o),from:a.address}]},{retryCount:0})}Le(),D();var Hh=class extends E{constructor({domain:e}){super(`Invalid domain \"${Ie(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Uh=class extends E{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},Wh=class extends E{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};ps(),Zo(),A(),Wr();function Gh(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:tg({domain:t}),...e.types};eg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(Kh({domain:t,types:i})),r!==`EIP712Domain`&&a.push(qh({data:n,primaryType:r,types:i})),Ur(Jo(a))}function Kh({domain:e,types:t}){return qh({data:e,primaryType:`EIP712Domain`,types:t})}function qh({data:e,primaryType:t,types:n}){return Ur(Jh({data:e,primaryType:t,types:n}))}function Jh({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Yh({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Qh({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ts(r,i)}function Yh({primaryType:e,types:t}){return Ur(Xt(Xh({primaryType:e,types:t})))}function Xh({primaryType:e,types:t}){let n=``,r=Zh({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 Zh({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])Zh({primaryType:e.type,types:t},n);return n}function Qh({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},Ur(Jh({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},Ur(r)];if(n===`string`)return[{type:`bytes32`},Ur(Xt(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Qh({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},Ur(ts(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}ko(),An(),Qr(),zt(),A(),es(),Le();function $h(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 Ie({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function eg(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($o);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;k(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Yr(o))throw new kn({address:o});let c=r.match(Qo);if(c){let[e,t]=c;if(t&&Rt(o)!==Number.parseInt(t,10))throw new So({expectedSize:Number.parseInt(t,10),givenSize:Rt(o)})}let l=i[r];l&&(ng(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Hh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Uh({primaryType:r,types:i})}function tg({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 ng(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Wh({type:e})}p();async function rg(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Dm({docsPath:`/docs/actions/wallet/signTypedData`});let o=f(n),s={EIP712Domain:tg({domain:r}),...t.types};if(eg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=$h({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}A();async function ig(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:k(t)}]},{retryCount:0})}async function ag(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function og(e){return{addChain:t=>Ch(e,t),deployContract:t=>wh(e,t),fillTransaction:t=>ai(e,t),getAddresses:()=>Th(e),getCallsStatus:t=>Oh(e,t),getCapabilities:t=>kh(e,t),getChainId:()=>ii(e),getPermissions:()=>Ah(e),prepareAuthorization:t=>jh(e,t),prepareTransactionRequest:t=>Kd(e,t),requestAddresses:()=>Mh(e),requestPermissions:t=>Nh(e,t),sendCalls:t=>Dh(e,t),sendCallsSync:t=>Lh(e,t),sendRawTransaction:t=>Am(e,t),sendRawTransactionSync:t=>hh(e,t),sendTransaction:t=>Mm(e,t),sendTransactionSync:t=>_h(e,t),showCallsStatus:t=>Rh(e,t),signAuthorization:t=>zh(e,t),signMessage:t=>Bh(e,t),signTransaction:t=>Vh(e,t),signTypedData:t=>rg(e,t),switchChain:t=>ig(e,t),waitForCallsStatus:t=>Fh(e,t),watchAsset:t=>ag(e,t),writeContract:t=>z(e,t),writeContractSync:t=>vh(e,t),token:{approve:y(e,qm),approveSync:y(e,yh),transfer:y(e,bh),transferSync:y(e,Sh)}}}function sg(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return _({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(og)}Mn();let cg=new jn(8192);function lg(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(cg.get(n))return cg.get(n);let r=e().finally(()=>cg.delete(n));return cg.set(n,r),r}D(),qe(),wt(),He(),Le();function ug(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 ot(Error(`method not supported`),{method:u});if(c?.aborted)throw Re(c);return lg(()=>eh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Re(c);if(ze(e))throw e;let t=e;switch(t.code){case Ze.code:throw new Ze(t);case Qe.code:throw new Qe(t);case $e.code:throw new $e(t,{method:n.method});case et.code:throw new et(t);case tt.code:throw new tt(t);case nt.code:throw new nt(t);case rt.code:throw new rt(t);case it.code:throw new it(t);case at.code:throw new at(t);case ot.code:throw new ot(t,{method:n.method});case st.code:throw new st(t);case ct.code:throw new ct(t);case lt.code:throw new lt(t);case ut.code:throw new ut(t);case dt.code:throw new dt(t);case ft.code:throw new ft(t);case pt.code:throw new pt(t);case mt.code:throw new mt(t);case ht.code:throw new ht(t);case gt.code:throw new gt(t);case _t.code:throw new _t(t);case vt.code:throw new vt(t);case yt.code:throw new yt(t);case bt.code:throw new bt(t);case xt.code:throw new xt(t);case 5e3:throw new lt(t);case St.code:throw new St(t);default:throw e instanceof E?e:new Ct(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Ue){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})=>dg(e)}),{enabled:i,id:i?fg(`${l}.${Ie(n)}`):void 0})}}function dg(e){return ze(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===st.code||e.code===tt.code||e.code===429:e instanceof Ue&&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 fg(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 pg({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=g();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:ug(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function mg(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>pg({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}D();var hg=class extends E{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};He();function gg(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&&ze(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function _g(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let vg=_g();qe(),He(),Le();function yg(e,t={}){let{url:n,headers:r}=xg(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 gg(async({signal:e})=>{let t={...u,body:Ie(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??vg.take(),...e})):{jsonrpc:`2.0`,id:i.id??vg.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 Ke({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await bg(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 Ue({body:i,details:Ie(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Re(p):ze(e)||e instanceof Ue||e instanceof We||e instanceof Ke?e:new Ue({body:i,cause:e,url:n})}}}}async function bg(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 We({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new We({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 We({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function xg(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}}}qe(),Kp();let Sg=0,Cg=new WeakMap;function wg(e){if(!e)return`default`;let t=Cg.get(e);if(t!==void 0)return t;let n=Sg++;return Cg.set(e,n),n}function Tg(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 hg;let x=yg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return pg({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}=Wp({id:`${b}.${wg(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 Ge({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}Zo(),zt(),A();function Eg(e){let t=typeof e==`string`?$t(e):typeof e.raw==`string`?e.raw:Qt(e.raw);return Jo([$t(`\u0019Ethereum Signed Message:\n${Rt(t)}`),t])}Wr();function Dg(e,t){return Ur(Eg(e),t)}var Og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.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 kg(e,t){return e.exec(t)?.groups}let Ag=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,jg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Mg=/^\\(.+?\\).*?$/,Ng=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Pg(e){let t=e.type;if(Ng.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Pg(i),r<n-1&&(t+=`, `)}let r=kg(Ng,e.type);return t+=`)${r?.array||``}`,Pg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Fg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Pg(i),r!==n-1&&(t+=`, `)}return t}function Ig(e){return e.type===`function`?`function ${e.name}(${Fg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Fg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Fg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Fg(e.inputs)})`:e.type===`constructor`?`constructor(${Fg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Lg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Rg(e){return Lg.test(e)}function zg(e){return kg(Lg,e)}let Bg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Vg=new Set([`calldata`,`memory`,`storage`]);var Hg=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ug=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Wg=class extends Og{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Gg=class extends Og{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Kg=class extends Og{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},qg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Jg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Yg=class extends Og{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Xg=class extends Og{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Zg=class extends Og{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Qg=class extends Og{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},$g=class extends Og{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function e_(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let t_=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]]),n_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,r_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,i_=/^u?int$/;function a_(e,t){let n=e_(e,t?.type,t?.structs);if(t_.has(n))return t_.get(n);let r=Mg.test(e),i=kg(r?r_:n_,e);if(!i)throw new Gg({param:e});if(i.name&&l_(i.name))throw new Kg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=o_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(a_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(i_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!s_(c))throw new Ug({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new qg({param:e,type:t?.type,modifier:i.modifier});if(Vg.has(i.modifier)&&!u_(c,!!i.array))throw new Jg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return t_.set(n,u),u}function o_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?o_(o,[...t,n.trim()]):o_(o,t,`${n}${i}`,r);case`(`:return o_(o,t,`${n}${i}`,r+1);case`)`:return o_(o,t,`${n}${i}`,r-1);default:return o_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new $g({current:n,depth:r});return t.push(n.trim()),t}function s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ag.test(e)||jg.test(e)}let c_=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function l_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ag.test(e)||jg.test(e)||c_.test(e)}function u_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function d_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Rg(n))continue;let i=zg(n);if(!i)throw new Xg({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=a_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Zg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=p_(a,t)}return r}let f_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function p_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Mg.test(i.type))r.push(i);else{let e=kg(f_,i.type);if(!e?.type)throw new Yg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Qg({type:o});r.push({...i,type:`tuple${a??``}`,components:p_(t[o],t,new Set([...n,o]))})}else if(s_(o))r.push(i);else throw new Hg({type:o})}}return r}function m_(e){let t=[];if(typeof e==`string`){let n=o_(e),r=n.length;for(let e=0;e<r;e++)t.push(a_(n[e],{modifiers:Bg}))}else{let n=d_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Rg(r))continue;let a=o_(r),o=a.length;for(let e=0;e<o;e++)t.push(a_(a[e],{modifiers:Bg,structs:n}))}}if(t.length===0)throw new Wg({params:e});return t}let h_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;Fc(),Hr(),Yf(),R();function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Vr(Ef(e));return n===`Bytes`?r:$f(r)}function __(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Pc(Md,Ef(e),Ef(t));return r===`Bytes`?i:$f(i)}function v_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Md(Ef(e));return n===`Bytes`?r:$f(r)}function y_(e){return lp(e)&&ip(e)===32}Yf(),rf(),R(),Cf();function b_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new D_({prefix:r,cause:new k_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new D_({prefix:r,cause:new O_});return}throw new E_({publicKey:e})}function x_(e){let t=(()=>{if(lp(e))return C_(e);if(Vf(e))return S_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return b_(t),t}function S_(e){return C_($f(e))}function C_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new A_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(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 w_(e,t={}){return Of(T_(e,t))}function T_(e,t={}){b_(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 E_=class extends N{constructor({publicKey:e}){super(`Value \\`${xf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},D_=class extends 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`})}},O_=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`})}},k_=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`})}},A_=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 ${ip(Zf(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};Yf(),rf();let j_=/^0x[a-fA-F0-9]{40}$/;function M_(e,t={}){let{strict:n=!0}=t;if(!j_.test(e))throw new R_({address:e,cause:new z_});if(n){if(e.toLowerCase()===e)return;if(N_(e)!==e)throw new R_({address:e,cause:new B_})}}function N_(e){if(h_.has(e))return h_.get(e);M_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=g_(kf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return h_.set(e,i),i}function P_(e,t={}){let{checksum:n=!1}=t;return M_(e),n?N_(e):e}function F_(e,t={}){return P_(`0x${g_(`0x${T_(e).slice(4)}`).substring(26)}`,t)}function I_(e,t){return M_(e,{strict:!1}),M_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function L_(e,t={}){let{strict:n=!0}=t??{};try{return M_(e,{strict:n}),!0}catch{return!1}}var R_=class extends 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`})}},z_=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`})}},B_=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 V_=/^(.*)\\[([0-9]*)\\]$/,H_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,U_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let W_=2n**256n-1n;Yf(),rf(),R();function G_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=lv(t.type);if(a){let[n,o]=a;return q_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Z_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return K_(e,{checksum:r});if(t.type===`bool`)return J_(e);if(t.type.startsWith(`bytes`))return Y_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return X_(e,t);if(t.type===`string`)return Q_(e,{staticPosition:i});throw new Ev(t.type)}function K_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?N_(e):e)($f(Pf(e.readBytes(32),-20))),32]}function q_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Lf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Lf(e.readBytes(32)),s=uv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=G_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(uv(t)){let n=a+Lf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=G_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=G_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function J_(e){return[If(e.readBytes(32),{size:32}),32]}function Y_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Lf(e.readBytes(32));e.setPosition(n+t);let r=Lf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[$f(i),32]}return[$f(e.readBytes(Number.parseInt(i,10),32)),32]}function X_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Ff(i,{signed:n}):Lf(i,{signed:n}),32]}function Z_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(uv(t)){let n=i+Lf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=G_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=G_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Q_(e,{staticPosition:t}){let n=t+Lf(e.readBytes(32));e.setPosition(n);let r=Lf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Rf(zf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function $_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(ev({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function ev({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=lv(r.type);if(i){let[t,a]=i;return rv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return cv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return nv(n,{checksum:e});if(r.type===`bool`)return av(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=U_.exec(r.type)??[];return ov(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return iv(n,{type:r.type});if(r.type===`string`)return sv(n);throw new Ev(r.type)}function tv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=ip(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+=ip(s)):n.push(s)}return P(...n,...r)}function nv(e,t){let{checksum:n=!1}=t;return M_(e,{strict:n}),{dynamic:!1,encoded:tp(e.toLowerCase())}}function rv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Tv(e);if(!a&&e.length!==r)throw new Sv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=ev({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=tv(s);if(a){let t=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 iv(e,{type:t}){let[,n]=t.split(`bytes`),r=ip(e);if(!n){let t=e;return r%32!=0&&(t=np(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(tp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Cv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:np(e)}}function av(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:tp(Qf(e))}}function ov(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new fp({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 sv(e){let t=ep(e),n=Math.ceil(ip(t)/32),r=[];for(let e=0;e<n;e++)r.push(np(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(np(F(ip(t),{size:32})),...r)}}function cv(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=ev({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?tv(a):P(...a.map(({encoded:e})=>e))}}function lv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function uv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(uv);let n=lv(e.type);return!!(n&&uv({...e,type:n[1]}))}rf();let dv={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new hv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new mv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new pv({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new pv({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function fv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(dv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var pv=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},mv=class extends 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`})}},hv=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`})}};Yf(),rf(),R();function gv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Of(t):t,o=fv(a);if(Nf(a)===0&&e.length>0)throw new xv;if(Nf(a)&&Nf(a)<32)throw new bv({data:typeof t==`string`?t:$f(t),parameters:e,size:Nf(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]=G_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function _v(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let i=tv($_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function vv(e,t){if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(vv.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return M_(e),tp(e.toLowerCase(),r?32:0)}if(e===`string`)return ep(n);if(e===`bytes`)return n;if(e===`bool`)return tp(Qf(n),r?32:1);let i=e.match(U_);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(H_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Cv({expectedSize:Number.parseInt(t,10),value:n});return np(n,r?32:0)}let o=e.match(V_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new Ev(e)}e.encode=t})(vv||={});function yv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?m_(e):e}var bv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Fg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},xv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Sv=class extends 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`})}},Cv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${ip(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},wv=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`})}},Tv=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`})}},Ev=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`})}};rf(),R();function Dv(e){return e.startsWith(`tempo`)?Ov(e).address:e}function Ov(e){if(!e.startsWith(`tempox`))throw new kv({address:e});let t=e.slice(6);return Xf(t,{strict:!0}),{address:N_(t)}}var kv=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();let Av=`0x20c0`;function jv(e){let t=Dv(e);if(!t.toLowerCase().startsWith(Av))throw Error(`invalid tip20 address.`);return L(I(t,6))}function Mv(e){if(typeof e==`string`){let t=Dv(e);return M_(t),t}return P(Av,F(e,{size:18}))}R();let Nv=yv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),Pv=yv(`bytes32, bytes32, bytes32, uint256, address`),Fv=yv(`bytes32, bytes32, uint96`),Iv=g_(ep(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),Lv=g_(ep(`TIP20 Channel Reserve`)),Rv=g_(ep(`1`)),zv=`0x0000000000000000000000000000000000000000`,Bv=`0x4d50500000000000000000000000000000000000`,Vv=g_(ep(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function Hv(e){let{authorizedSigner:t=zv,expiringNonceHash:n,operator:r=zv,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:Kv(t),expiringNonceHash:n,operator:Kv(r),payee:Kv(i),payer:Kv(a),salt:o,token:typeof s==`string`?Kv(s):Mv(s)}}function Uv(e,t){let n=Hv(e);return g_(_v(Nv,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,Bv,BigInt(t.chainId)]))}function Wv(e){return g_(_v(Pv,[Iv,Lv,Rv,BigInt(e.chainId),Bv]))}function Gv(e){let t=g_(_v(Fv,[Vv,e.channelId,e.cumulativeAmount]));return g_(P(`0x1901`,Wv({chainId:e.chainId}),t))}function Kv(e){return P_(e)}rf();function qv(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 Jv(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return L_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Jv(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=>Jv(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Yv(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 Yv(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&L_(n[r],{strict:!1}))return o}}rf(),R();function Xv(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=lp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Zv(e)===I(t,0,4):e.type===`event`?$v(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new ty({name:t});if(o.length===1)return{...o[0],...i?{hash:$v(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:$v(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?Jv(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Yv(e.inputs,s.inputs,r);if(t)throw new ey({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 ty({name:t});return{...c,...i?{hash:$v(c)}:{}}}function Zv(...e){return I($v((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})()),0,4)}function Qv(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})();return qv(typeof t==`string`?t:Ig(t))}function $v(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:g_(ep(Qv(t)))}var ey=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${qv(Ig(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${qv(Ig(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},ty=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`})}};Yf(),rf(),R();function ny(e){return ry(e,`Hex`)}function ry(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return iy(fv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new hp(e);return Of(e)}return e})(),{recursiveReadLimit:1/0}),n)}function iy(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?$f(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=ay(e,n,128),i=e.readBytes(r);return t===`Hex`?$f(i):i}return oy(e,ay(e,n,192),t)}function ay(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 oy(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(iy(e,n));return i}function sy(e,t){let{as:n}=t,r=ly(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?$f(i.bytes):i.bytes}function cy(e,t={}){let{as:n=`Hex`}=t;return sy(e,{as:n})}function ly(e){return Array.isArray(e)?uy(e.map(e=>ly(e))):dy(e)}function uy(e){let t=e.reduce((e,t)=>e+t.length,0),n=fy(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 dy(e){let t=typeof e==`string`?Of(e):e,n=fy(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 fy(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.`)}Mc(),yu(),zl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet py=Dl(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),my=vu({a:py.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:py,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},kc),hy=Dl(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));vu({a:hy.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:hy,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},jc);let gy=Dl(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));vu({a:gy.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:gy,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Ac);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet _y=my,vy=my;Yf(),R();function yy(e){let{privateKey:t}=e;return x_(vy.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):$f(t).slice(2)))}function by(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=vy.sign(r instanceof Uint8Array?r:Of(r),i instanceof Uint8Array?i:Of(i),{extraEntropy:typeof t==`boolean`?t:Zf(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function xy(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return vy.verify(i,n instanceof Uint8Array?n:Of(n),T_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}sd(),Yf(),R();function Sy(e){let{privateKey:t}=e;return x_(Ku.ProjectivePoint.fromPrivateKey(Zf(t).slice(2)))}function Cy(e){return F_(wy(e))}function wy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return x_(new Ku.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(Zf(t).substring(2)))}function Ty(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Ku.sign(Ef(r),Ef(i),{extraEntropy:typeof t==`boolean`?t:Zf(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Ey(e){let{hash:t,payload:n}=e;return e.address?I_(e.address,Cy({payload:n,signature:e.signature})):Ku.verify(e.signature,Ef(n),w_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}rf(),R(),Cf();function Dy(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Vy({signature:e});if(e.r<0n||e.r>W_)throw new Hy({value:e.r});if(e.s<0n||e.s>W_)throw new Uy({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Wy({value:e.yParity})}function Oy(e){return ky($f(e))}function ky(e){if(e.length!==130&&e.length!==132)throw new By({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 Ry(t)}catch{throw new Wy({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Ay(e){if(e.r!==void 0&&e.s!==void 0)return jy(e)}function jy(e){let t=typeof e==`string`?ky(e):e instanceof Uint8Array?Oy(e):typeof e.r==`string`?Ny(e):e.v?My(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Dy(t),t}function My(e){return{r:e.r,s:e.s,yParity:Ry(e.v)}}function Ny(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=Ry(t)),typeof n!=`number`)throw new Wy({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Py(e){let[t,n,r]=e;return jy({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Fy(e){Dy(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(zy(e.yParity),{size:1}):`0x`)}function Iy(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 Ly(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:ap(F(t)),n===0n?`0x`:ap(F(n))]}function Ry(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Gy({value:e})}function zy(e){if(e===0)return 27;if(e===1)return 28;throw new Wy({value:e})}var By=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${ip(Zf(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Vy=class extends N{constructor({signature:e}){super(`Signature \\`${xf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Hy=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`})}},Uy=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`})}},Wy=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`})}},Gy=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`})}};Yf();let Ky=new TextEncoder,qy=new TextDecoder,Jy=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Yy={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Xy(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]=Jy[r>>18],i[t+1]=Jy[r>>12&63],i[t+2]=Jy[r>>6&63],i[t+3]=Jy[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=qy.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function Zy(e,t={}){return Xy(Of(e),t)}function Qy(e,t={}){return Xy(kf(e),t)}function $y(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Ky.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Yy[r[e]]<<18)+(Yy[r[e+1]]<<12)+(Yy[r[e+2]]<<6)+Yy[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 eb(e){return Rf($y(e))}Yf(),rf(),R();function tb(e,t={}){let{as:n=`Hex`}=t,r=hb(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?$f(i.bytes):i.bytes}var nb=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`})}},rb=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`})}},ib=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`})}},ab=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`})}},ob=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`})}},sb=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`})}},cb=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`})}},lb=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},ub=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`})}},db=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`})}},fb=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`})}},pb=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`})}},mb=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 hb(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 hb.number(e);if(typeof e==`bigint`)throw new cb;if(typeof e==`string`)return hb.string(e);if(Array.isArray(e))return hb.array(e);if(e instanceof Uint8Array)return hb.byteString(e);if(e instanceof ArrayBuffer)return hb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return hb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return hb.map(e);if(typeof e==`object`)return hb.object(e);throw new lb({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 ub({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 ub({number:e.toString(10)})}e.number=t;function n(e){let t=kf(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 db({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 fb({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 mb({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 pb({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 pb({size:i})}e.map=o})(hb||={});function gb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return gb.readUnsignedInteger(e,r);case 1:return gb.readNegativeInteger(e,r);case 2:return gb.readByteString(e,r);case 3:return gb.readTextString(e,r);case 4:return gb.readArray(e,r);case 5:return gb.readMap(e,r);case 6:throw new ab({tag:r});case 7:return gb.readSimpleOrFloat(e,r);default:throw new nb({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 ib:new rb({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 ob({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 ob({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Rf(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 sb({value:t});return}throw new rb({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}})(gb||={}),rf();function _b(e){let t=w_(e),n=t.slice(1,33),r=t.slice(33,65);return tb(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}function vb(e){let t=_y.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function yb(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(v_(ep(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=$f(new Uint8Array(16)),s=$f(t.id);return P(a,o,F(t.id.length,{size:2}),s,_b(t.publicKey))}function bb(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:Zy(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}Yf(),rf(),R();function xb(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:$y(e),type:`public-key`})):[{id:$y(t),type:`public-key`}]}:{},challenge:Of(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Sb(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=yb({flag:i,rpId:o,signCount:s}),u=bb({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=v_(ep(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function Cb(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:xb(n);try{let e=await t(r);if(!e)throw new wb;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=vb(o);return{id:s,metadata:{authenticatorData:$f(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new wb({cause:e})}}var wb=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 Tb(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Of(s);if(u.length<37||a!==void 0&&!Af(u.slice(0,32),v_(ep(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||$f($y(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:xy({hash:!0,payload:Tf(u,v_(kf(c),{as:`Bytes`})),publicKey:i,signature:o})}let Eb=Sb;async function Db(e){return Cb(e)}function Ob(e){return Tb(e)}rf(),R();let kb=`0x${`00`.repeat(32)}`;function Ab(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&ip(t)!==32)throw new Lb({reason:`salt must be 32 bytes`});if(r.length===0)throw new Lb({reason:`owners cannot be empty`});if(r.length>10)throw new Lb({reason:`too many owners`});if(Number(n)<1)throw new Lb({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!L_(e.owner)||L(e.owner)===0n)throw new Lb({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new Lb({reason:`owner weight cannot be zero`});let t=L(e.owner);if(a!==void 0&&a>=t)throw new Lb({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new Lb({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new Lb({reason:`threshold exceeds total owner weight`})}function jb(e){let t=[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),n={salt:e.salt?tp(e.salt,32):kb,threshold:e.threshold,owners:t};return Ab(n),n}function Mb(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?tp(t,32):kb,threshold:n===`0x`?0:sp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:sp(n)}})}}function Nb(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:Fb(e);return P_(I(g_(P(ep(`tempo:multisig:account`),t)),12,32))}function Pb(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:Nb(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:Fb(e.genesisConfig);return g_(P(ep(`tempo:multisig:signature`),Zf(t),n,r))}function Fb(e){Ab(e);let t=g_(P(ep(`tempo:multisig:config`),tp(e.salt??kb,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 Lb({reason:`config ID cannot be zero`});return t}function Ib(e){Ab(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]);return[e.salt?tp(e.salt,32):kb,F(e.threshold),t]}var Lb=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`})}};rf(),R(),Cf();let Rb=`0x01`,zb=`0x02`,Bb=`0x03`,Vb=`0x04`,Hb=`0x05`,Ub=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Wb(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Wb({...e,signature:t.inner}):t.type===`multisig`?t.account:F_(Gb(e))}function Gb(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return wy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Gb({payload:t,signature:n.inner});case`multisig`:throw new ex({envelope:n})}}function Kb(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-ip(Ub)):e;if(ip(t)===65){let e=ky(t);return Dy(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=ip(r);if(n===Rb){if(i!==129)throw new tx({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:sp(I(r,128,129))!==0,signature:{r:L(I(r,0,32)),s:L(I(r,32,64))},type:`p256`}}if(n===zb){if(i<128)throw new tx({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=cp(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 tx({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===Bb||n===Vb)return{userAddress:I(r,0,20),inner:Kb(I(r,20)),type:`keychain`,version:n===Vb?`v2`:`v1`};if(n===Hb){let[e,t,n,i]=ny(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>Kb(e)),...i&&i!==`0x`?{init:Mb(i)}:{}}}throw new tx({reason:`Unknown signature type identifier: ${n}. Expected ${Rb} (P256), ${zb} (WebAuthn), ${Bb} (Keychain V1), ${Vb} (Keychain V2), or ${Hb} (Multisig)`,serialized:t})}function qb(e,t){if(typeof e==`string`)return Kb(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Yb(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?Nb(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?Fb(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>qb(e)),...s?{init:jb(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:F_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:F_(wy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Jb(e){if(e.type===`secp256k1`)return{signature:Ny(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=ip(t),r,i;for(let e=37;e<n;e++){let n=cp(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 tx({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:Jb(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=>Kb(e)),...t.init?{init:jb(t.init)}:{}}}throw new ex({envelope:e})}function Yb(e){if(typeof e!=`object`||!e)throw new ex({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 ex({envelope:e})}function Xb(e,t={}){let n=Yb(e);if(n===`secp256k1`)return P(Fy(e.signature),t.magic?Ub:`0x`);if(n===`p256`){let n=e;return P(Rb,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?Ub:`0x`)}if(n===`webAuthn`){let n=e;return P(zb,P(n.metadata.authenticatorData,ep(n.metadata.clientDataJSON)),F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?Ub:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?Bb:Vb,n.userAddress,Xb(n.inner),t.magic?Ub:`0x`)}if(n===`multisig`){let n=e;return P(Hb,cy([n.account,n.genesisConfigId,n.signatures.map(e=>Xb(e)),n.init?Ib(n.init):`0x`]),t.magic?Ub:`0x`)}throw new ex({envelope:e})}function Zb(e){let{payload:t,signatures:n}=e,r=Pb(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:L(Wb({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function Qb(e){let t=Yb(e);if(t===`secp256k1`)return{...Iy(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,ep(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:Qb(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=>Xb(e)),...t.init?{init:t.init}:{}}}throw new ex({envelope:e})}function $b(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return F_(t.publicKey)})();if(!r)return!1;let i=qb(e);if(i.type===`secp256k1`)return r?Ey({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return I_(F_(i.publicKey),r)?xy({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return I_(F_(i.publicKey),r)?Ob({challenge:Zf(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new nx(`Unable to verify signature envelope of type \"${i.type}\".`)}var ex=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${xf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},tx=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`})}},nx=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};R();function rx(e,t={}){if(`keyId`in e)return ix(e);let n=e;n.witness!==void 0&&vx(n.witness);let r={...n,address:Dv(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:Dv(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:Dv(e.address),selector:_x(e.selector),...e.recipients?{recipients:e.recipients.map(e=>Dv(e))}:{}}))}:{}};return t.signature?{...r,signature:qb(t.signature)}:r}function ix(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=Jb(e.signature);s!==void 0&&vx(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:gx(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&&hx(e.period)>0?{period:hx(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function ax(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=yx(c)?void 0:hx(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:mx(n),...r===void 0?{}:{period:hx(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,_=yx(d)?void 0:d;_!==void 0&&vx(_);let v=(()=>{if(!yx(f)){if(f!==`0x01`)throw new xx(f);return!0}})(),y=yx(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=Kb(n)),rx(x)}function ox(e){return cx(e)}function sx(e){return ax(ny(e))}function cx(e){let[t]=dx(e);return g_(cy(t))}function lx(e){return cy(dx(e))}function ux(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&&vx(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:_x(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:Dv(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:px(n)}:{}})),signature:Qb(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function dx(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&vx(o);let l=e.signature?Xb(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,fx(e.limit)];return e.period&&e.period>0&&t.push(px(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([_x(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?px(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[[fx(n),u,t,...g],...l?[l]:[]]}function fx(e){return e===0n?`0x`:F(e)}function px(e){return e===0?`0x`:F(e)}function mx(e){return e===`0x`?0n:BigInt(e)}function hx(e){return e===`0x`?0:sp(e)}function gx(e){return typeof e==`string`?e:Array.isArray(e)?$f(new Uint8Array(e)):e}function _x(e){if(e)return e.startsWith(`0x`)?e:Zv(e)}function vx(e){if(ip(e)!==32)throw new bx(e)}function yx(e){return e===void 0||e===`0x`}var bx=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${ip(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},xx=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 Sx={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function Cx(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:g_(ep(Sx[e]??e))}R();function wx(e,t={}){return typeof e.chainId==`string`?Tx(e):{...e,...t.signature}}function Tx(e){let{address:t,chainId:n,nonce:r}=e,i=Ay(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function Ex(e){return e.map(Tx)}function Dx(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Iy(i)}}function Ox(e){return e.map(Dx)}let kx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Ax={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function jx(e,t={}){if(!e)return null;let n=Ay(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=Ex(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=zy(n.yParity)),r}R();function Mx(e,t={}){if(typeof e.chainId==`string`)return Nx(e);let n={...e,address:Dv(e.address)};return t.signature?{...n,signature:t.signature}:n}function Nx(e){let{address:t,chainId:n,nonce:r}=e,i=Jb(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function Px(e){return e.map(e=>Nx(e))}function Fx(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=Kb(i)),Mx(a)}function Ix(e){let t=[];for(let n of e)t.push(Fx(n));return t}function Lx(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:Qb(i)}}function Rx(e){return e.map(e=>Lx(e))}function zx(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Xb(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function Bx(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(zx(n));return t}let Vx={...kx,tempo:`0x76`},Hx={...Ax,\"0x76\":`tempo`};function Ux(e,t={}){if(!e)return null;let n=jx(e);return n.type=Hx[e.type],e.aaAuthorizationList&&(n.authorizationList=Px(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=Jb(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=ix(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Ny(e.feePayerSignature),n.feePayerSignature.v=zy(n.feePayerSignature.yParity)),n}R();function Wx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Ox(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=kx[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}R();function Gx(e){let t=Wx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=Rx(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?Dv(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?Dv(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=Mv(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=ux(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 rp(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=Vx.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}rf(),R();function Kx(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&M_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>y_(e)?e:ap(e))})}return t}function qx(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(ip(r[e])!==32)throw new Jx({storageKey:r[e]});n&&M_(n,{strict:!1}),t.push([n,r])}return t}var Jx=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${ip(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};rf();let Yx={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Xx(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 Zx(e,t=`wei`){return Xx(e,Yx.gwei-Yx[t])}rf();var Qx=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${Zx(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`})}},$x=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`})}},eS=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`})}},tS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${Zx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${Zx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};rf(),R();let nS=`tempo`;function rS(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new dS;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new fS({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&M_(e.to,{strict:!1});if(n<=0)throw new $x({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Qx({feeCap:r});if(i&&r&&i>r)throw new tS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function iS(e){let t=ny(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 eS({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:nS});let y={chainId:Number(n),type:nS};lp(a)&&a!==`0x`&&(y.gas=BigInt(a)),lp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),lp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),lp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),lp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),lp(u)&&u!==`0x`&&(y.validBefore=Number(u)),lp(d)&&d!==`0x`&&(y.validAfter=Number(d)),lp(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=Kx(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=Ix(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||L_(p)?(y.feePayerSignature=null,L_(p)&&(y.from=p)):y.feePayerSignature=Py(p)),_&&(y.keyAuthorization=ax(_));let b=v?Kb(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Wb({payload:cS(aS(y)),signature:b,root:!0})}catch{}return rS(y),y}function aS(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?iS(e):e;return i.from&&=Dv(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:Dv(e.to)}:{}})),rS(i),{...i,...r?{signature:qb(r)}:{},...n?{feePayerSignature:jy(n)}:{},type:`tempo`}}function oS(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;rS(e);let h=qx(n),g=t.signature||e.signature,_=Bx(r),v=i.map(e=>[e.to?Dv(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=qb(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return F_(t.publicKey);if(t.type===`secp256k1`)return Cy({payload:cS(aS(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Ly(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`)?Mv(o):`0x`,b,_,...c?[dx(c)]:[],...g?[Xb(qb(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,cy(x))}function sS(e){return oS({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function cS(e,t={}){let n=lS(e,{presign:!0});return t.from?g_(P(`0x04`,n,Dv(t.from))):n}function lS(e,t={}){return g_(t.presign?sS(e):oS(e))}function uS(e,t){let n=Dv(t.sender);return g_(oS({...e,signature:void 0},{sender:n,format:`feePayer`}))}var dS=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},fS=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`})}};Od();async function pS(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Dd({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}rf(),R();function mS(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new _S(e)}function hS(e){let{data:t,signature:n,to:r}=e;return P(_v(yv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function gS(e){try{return mS(e),!0}catch{return!1}}var _S=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`})}};rf(),R();let vS=yv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function yS(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new SS(e)}else Dy(e.authorization)}function bS(e){yS(e);let t=sp(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=gv(vS,n);return{authorization:wx({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 xS(e){try{return yS(e),!0}catch{return!1}}var SS=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`})}};Jr(),mi();async function CS({address:e,authorization:t,signature:n}){return pi(Kr(e),await _d({authorization:t,signature:n}))}sd(),hn(),dn();function wS({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 Ku.Signature(j(e),j(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:on(o)}fi(),Op(),cc(),Lp(),Hs(),Jr(),mi(),Zo(),Lt(),hn(),A(),Tm();async function TS(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return O(e)?e:typeof e==`object`&&`r`in e&&`s`in e?wS(e):Qt(e)})();try{if(s===`eoa`)try{if(pi(Kr(n),await ud({hash:i,signature:c})))return!0}catch{}return xS(c)?await ES(e,{...t,multicallAddress:o,signature:c}):await DS(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(pi(Kr(n),await ud({hash:i,signature:c})))return!0}catch{}if(e instanceof kS)return!1;throw e}}async function ES(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=bS(t.signature);if(await pS(e,{address:n,blockNumber:r,blockTag:i})===Xo([`0xef0100`,s.address]))return await OS(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:k(s.r,{size:32}),s:k(s.s,{size:32}),yParity:s.yParity};if(!await CS({address:n,authorization:d}))throw new kS;let f=await M(e,Fm,`readContract`)({...o?{address:o}:{code:Dp},authorizationList:[d],abi:oi,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:Vs({abi:li,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new kS}async function DS(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||gS(o)?o:hS({data:i,signature:o,to:r}))(),u=s?{to:s,data:Vs({abi:ui,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Fp({abi:ui,args:[n,a,l],bytecode:Ep}),...c},{data:d}=await M(e,mm,`call`)(u).catch(e=>{throw e instanceof nc?new kS:e});if(pn(d??`0x0`))return!0;throw new kS}async function OS(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await M(e,Fm,`readContract`)({address:n,abi:li,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof rc?new kS:e})).startsWith(`0x1626ba7e`))return!0;throw new kS}var kS=class extends Error{};function AS(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function jS(){return{}}let MS=[{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`}]}],NS=[{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:[]}],PS=[{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:[]}],FS=[{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:[]}],IS=[{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:[]}],LS=[{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:[]}],RS=[{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:[]}],zS=[{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`}]}],BS=[{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:[]}],VS=[{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:[]}],HS=[{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:[]}],US=[{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`}]}],WS=[{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:[]}],GS=[...MS,...NS,...PS,...FS,...IS,...LS,...B,...RS,...zS,...BS,...VS,...HS,...US,...WS];Yf();async function KS(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=x_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function qS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Ef(t)),i=Df(new Uint8Array(r)),a=Ff(Pf(i,0,32)),o=Ff(Pf(i,32,64));return o>_y.CURVE.n/2n&&(o=_y.CURVE.n-o),{r:a,s:o}}D(),It(),Io(),dn(),A();let JS=1024;function YS(e,t=`hex`){return XS(Po((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Nt(e);return on(e)}return e})(),{recursiveReadLimit:1/0}),t)}function XS(e,t=`hex`,n=0){if(n>=JS)throw new Pt({limit:JS});if(e.bytes.length===0)return t===`hex`?Qt(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=ZS(e,r,128),i=e.readBytes(n);return t===`hex`?Qt(i):i}return QS(e,ZS(e,r,192),t,n+1)}function ZS(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new E(`Invalid RLP prefix`)}function QS(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(XS(e,n,r));return a}Lt(),zt();function $S(e){return O(e)&&Rt(e)===32}On(),An(),D(),Pp(),be(),Qr(),zt(),Ho(),hn();function eC(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Yr(n))throw new kn({address:n});if(t<0)throw new Np({chainId:t})}nC(e)}function tC(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Ld;for(let e of t){let t=Rt(e),n=mn(Lo(e,0,1));if(t!==32)throw new Rd({hash:e,size:t});if(n!==1)throw new zd({hash:e,version:n})}}nC(e)}function nC(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Np({chainId:t});if(i&&!Yr(i))throw new kn({address:i});if(r&&r>Dn)throw new le({maxFeePerGas:r});if(n&&r&&n>r)throw new ve({maxFeePerGas:r,maxPriorityFeePerGas:n})}function rC(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Np({chainId:t});if(a&&!Yr(a))throw new kn({address:a});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>Dn)throw new le({maxFeePerGas:r})}function iC(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Yr(a))throw new kn({address:a});if(t!==void 0&&t<=0)throw new Np({chainId:t});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>Dn)throw new le({maxFeePerGas:r})}Fe(),Ho(),hn();function aC(e){let t=Vo(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`&&mn(t)>=192)return`legacy`;throw new De({serializedType:t})}An(),Fe(),Qr(),Lt(),Yt(),Vt(),hn();function oC(e){let t=aC(e);return t===`eip1559`?lC(e):t===`eip2930`?uC(e):t===`eip4844`?cC(e):t===`eip7702`?sC(e):dC(e)}function sC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Oe({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:mn(n),type:`eip7702`};return O(s)&&s!==`0x`&&(h.to=s),O(o)&&o!==`0x`&&(h.gas=j(o)),O(l)&&l!==`0x`&&(h.data=l),O(r)&&(h.nonce=r===`0x`?0:mn(r)),O(c)&&c!==`0x`&&(h.value=j(c)),O(a)&&a!==`0x`&&(h.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(h.accessList=pC(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=mC(d)),eC(h),{...t.length===13?hC(t):void 0,...h}}function cC(e){let t=fC(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 Oe({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:mn(a),to:u,type:`eip4844`};return O(l)&&l!==`0x`&&(S.gas=j(l)),O(f)&&f!==`0x`&&(S.data=f),O(o)&&(S.nonce=o===`0x`?0:mn(o)),O(d)&&d!==`0x`&&(S.value=j(d)),O(m)&&m!==`0x`&&(S.maxFeePerBlobGas=j(m)),O(c)&&c!==`0x`&&(S.maxFeePerGas=j(c)),O(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=j(s)),p.length!==0&&p!==`0x`&&(S.accessList=pC(p)),y&&b&&x&&(S.sidecars=Vd({blobs:y,commitments:b,proofs:x})),tC(S),{...r.length===14?hC(r):void 0,...S}}function lC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new Oe({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:mn(n),type:`eip1559`};return O(s)&&s!==`0x`&&(m.to=s),O(o)&&o!==`0x`&&(m.gas=j(o)),O(l)&&l!==`0x`&&(m.data=l),O(r)&&(m.nonce=r===`0x`?0:mn(r)),O(c)&&c!==`0x`&&(m.value=j(c)),O(a)&&a!==`0x`&&(m.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(m.accessList=pC(u)),nC(m),{...t.length===12?hC(t):void 0,...m}}function uC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new Oe({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:mn(n),type:`eip2930`};return O(o)&&o!==`0x`&&(p.to=o),O(a)&&a!==`0x`&&(p.gas=j(a)),O(c)&&c!==`0x`&&(p.data=c),O(r)&&(p.nonce=r===`0x`?0:mn(r)),O(s)&&s!==`0x`&&(p.value=j(s)),O(i)&&i!==`0x`&&(p.gasPrice=j(i)),l.length!==0&&l!==`0x`&&(p.accessList=pC(l)),rC(p),{...t.length===11?hC(t):void 0,...p}}function dC(e){let t=YS(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new Oe({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(O(a)&&a!==`0x`&&(d.to=a),O(i)&&i!==`0x`&&(d.gas=j(i)),O(s)&&s!==`0x`&&(d.data=s),O(n)&&(d.nonce=n===`0x`?0:mn(n)),O(o)&&o!==`0x`&&(d.value=j(o)),O(r)&&r!==`0x`&&(d.gasPrice=j(r)),iC(d),t.length===6)return d;let f=O(c)&&c!==`0x`?j(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 we({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function fC(e){return YS(`0x${e.slice(4)}`,`hex`)}function pC(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Yr(r,{strict:!1}))throw new kn({address:r});t.push({address:r,storageKeys:i.map(e=>$S(e)?e:Bt(e))})}return t}function mC(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:mn(r),nonce:a===`0x`?0:mn(a),...hC([o,s,c])})}return t}function hC(e){let t=e.slice(-3),n=t[0]===`0x`?0n:j(t[0]);if(n!==0n&&n!==1n)throw new Te({yParity:n});let r=n===0n?27n:28n;return{r:qt(t[1],{size:32}),s:qt(t[2],{size:32}),v:r,yParity:r===27n?0:1}}A();function gC(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?Xt(e):`0x`,a,r?Xt(r):`0x`,...wC({},i)])}return t}An(),Fe(),Qr();function _C(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 ke({storageKey:i[e]});if(!Yr(r,{strict:!1}))throw new kn({address:r});t.push([r,i])}return t}Fe(),Zo(),Vt(),A();function vC(e,t){let n=Hd(e);return n===`eip1559`?xC(e,t):n===`eip2930`?SC(e,t):n===`eip4844`?bC(e,t):n===`eip7702`?yC(e,t):CC(e,t)}function yC(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;eC(e);let f=_C(u),p=gC(n);return Xo([`0x04`,dd([k(r),a?k(a):`0x`,l?k(l):`0x`,c?k(c):`0x`,i?k(i):`0x`,o??`0x`,s?k(s):`0x`,d??`0x`,f,p,...wC(e,t)])])}function bC(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;tC(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=>Qt(e)),n=e.kzg,r=Ad({blobs:t,kzg:n});f===void 0&&(f=Fd({commitments:r})),p===void 0&&(p=Vd({blobs:t,commitments:r,proofs:jd({blobs:t,commitments:r,kzg:n})}))}let m=_C(u),h=[k(n),i?k(i):`0x`,l?k(l):`0x`,c?k(c):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,d??`0x`,m,s?k(s):`0x`,f??[],...wC(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 Xo([`0x03`,dd(p?[h,g,_,v]:h)])}function xC(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;nC(e);let d=_C(l);return Xo([`0x02`,dd([k(n),i?k(i):`0x`,c?k(c):`0x`,s?k(s):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,u??`0x`,d,...wC(e,t)])])}function SC(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;rC(e);let u=_C(c);return Xo([`0x01`,dd([k(n),a?k(a):`0x`,l?k(l):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`,u,...wC(e,t)])])}function CC(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;iC(e);let l=[a?k(a):`0x`,c?k(c):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new we({v:t.v});return e})(),r=Bt(t.r),i=Bt(t.s);l=[...l,k(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,k(n),`0x`,`0x`]);return dd(l)}function wC(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=Bt(n.r),o=Bt(n.s);return[typeof i==`number`?i?k(1):`0x`:r===0n?`0x`:r===1n?k(1):r===27n?`0x`:k(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}R();function TC(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:Hd(e)}function EC(e){try{return TC(e)===`tempo`}catch{return!1}}function DC(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?kC(e):oC(e)}async function OC(e,t){if(!EC(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return vC(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return vC(e,t)}if(TC(e)===`tempo`)return AC(e,t);throw Error(`Unsupported transaction type`)}function kC(e){let{feePayerSignature:t,nonce:n,...r}=iS(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 AC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return qb({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=Zb({payload:cS(aS(u)),signatures:e.signatures.map(e=>qb(e)),genesisConfig:e.multisig});return oS(u,{feePayerSignature:void 0,signature:qb({genesisConfig:e.multisig,signatures:t,...a?{}:{init:!0}})})}if(n&&typeof e.feePayer==`object`){let t=aS(u,{signature:n}),r=uS(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Cy({payload:cS(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return oS(t,{feePayerSignature:jy(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?oS(u,{signature:n}):n?oS(u,{format:`feePayer`,sender:e.from,signature:n}):oS(u,{feePayerSignature:null}):oS({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),p(),Wr();function jC(e){let{access:t}=e;return t?UC(e):HC(e)}function MC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=yy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=Eb({...t,challenge:n,rpId:i,origin:a});return Xb({metadata:r,signature:by({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function NC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=yy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return Xb({signature:by({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function PC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Sy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Fy(Ty({payload:n,privateKey:e}))}})}function FC(e,t={}){let{id:n}=e,r=C_(e.publicKey);return jC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Db({...t,challenge:e,credentialId:n});return Xb({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function IC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return Xb({signature:await qS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function LC(e,t){let n=RC(t);return zC(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function RC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return Gv({chainId:t,channelId:typeof n==`string`?n:Uv(n,{chainId:t}),cumulativeAmount:r})}function zC(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function BC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=WC(r),d=zC(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=ox({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return rx({address:l,chainId:n,signature:qb(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function VC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??F_(e.publicKey),o=T_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?Ur(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?Xb(qb({userAddress:n,inner:qb(o),type:`keychain`,version:i})):o}return{address:N_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=qb(await s({hash:gd({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:F(a,{size:32}),s:F(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:Dg(t)})},async signTransaction(e,t){let{serializer:n=OC}=t??{},r=Ur(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:Pb({payload:r,genesisConfig:i}),raw:!0}):await n(e,qb(await s({hash:r})))},async signTypedData(e){return await s({hash:Gh(e)})},async signVoucher(e){let t=RC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function HC(e){let t=VC(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}=WC(e),d=c?{}:{expiry:i,limits:a,scopes:o};return rx({address:l,chainId:r,signature:qb(await t.sign({hash:ox({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function UC(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=f(t);return{...VC({...e,parentAddress:r}),accessKeyAddress:F_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function WC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:F_(C_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let GC=`0xaAAAaaAA00000000000000000000000000000000`,KC=`0xdec0000000000000000000000000000000000000`,qC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function JC(e,t){return qC.indexOf(e)<qC.indexOf(t)}mi(),Hs();function YC(e,t){let{decimals:n,token:r}=t;if(typeof r==`string`){let t=ZC(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=Mv(r);return{address:i,decimals:n??$C(e,i)}}function XC(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=ZC(e,t);if(n)return n}let i=Mv(t);for(let e of n){let t=QC(e,r);if(t&&pi(t.address,i))return t}}function ZC(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 QC(e,r)}function QC(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 $C(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=QC(e,r);if(n&&pi(n.address,t))return n.decimals}}async function ew(e,t){let{address:n,decimals:r}=YC(e,t);return r===void 0?{address:n,decimals:await Fm(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function tw(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:Vs(e),to:e.address}}p();let nw={0:`secp256k1`,1:`p256`,2:`webAuthn`},rw={true:`limited`,false:`unlimited`};async function iw(e,t){return iw.inner(Mm,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let p=await BC(f(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:p})}e.inner=t;function n(e){let[t]=As({abi:MS,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(iw||={});async function aw(e,t){return aw.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:GC,abi:MS,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(aw||={});async function ow(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n),o=await Fm(e,{...i,account:null,...ow.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:nw[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:rw[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:GC,abi:MS,functionName:`getKey`,args:[t,pw(n)]})}e.call=t})(ow||={});async function sw(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=f(n),s=e.chain?.hardfork;if(s&&JC(s,`t3`))return{remaining:await Fm(e,{...a,...sw.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Fm(e,{...a,...sw.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:GC,abi:MS,functionName:`getRemainingLimit`,args:[t,pw(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:GC,abi:MS,functionName:`getRemainingLimitWithPeriod`,args:[t,pw(n),r]})}e.callWithPeriod=n})(sw||={});async function cw(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return Fm(e,{...i,account:null,...cw.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:GC,abi:MS,functionName:`isAdminKey`,args:[t,pw(n)]})}e.call=t})(cw||={});async function lw(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return Fm(e,{...i,account:null,...lw.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:GC,abi:MS,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(lw||={});async function uw(e,t){return uw.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:GC,abi:MS,functionName:`revokeKey`,args:[pw(t)]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(uw||={});async function dw(e,t){return dw.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:GC,abi:MS,functionName:`updateSpendingLimit`,args:[pw(t),n,r]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(dw||={});async function fw(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Fm(e,{...o,...fw.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:IS,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(fw||={});function pw(e){return typeof e==`string`?e:e.accessKeyAddress}R(),p(),En();function mw(e){if(!EC(e))return yn(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=Ux(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:Vx[a.type],type:a.type}}function hw(e){return rh(e)}function gw(e,t){let n=e,r=n.account?f(n.account):void 0;if(!EC(n))return Sn(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,signatures:a,...o}=n,s=Gx({...o,type:`tempo`});t===`estimateGas`&&(s.maxFeePerGas=void 0,s.maxPriorityFeePerGas=void 0),s.to=void 0,s.data=void 0,s.value=void 0;let[c,l]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,_w(n.keyData)]:[n.keyType,_w(n.keyData)]})(),u=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(s.from=r.address),{...s,...n.capabilities?{capabilities:n.capabilities}:{},...l?{keyData:l}:{},...u?{keyId:u}:{},...c?{keyType:c}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?f(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function _w(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let vw=new Map;async function yw(e){vw.set(e,(vw.get(e)??0)+1),await Promise.resolve();let t=(vw.get(e)??0)>1;return queueMicrotask(()=>{let t=vw.get(e)??0;t<=1?vw.delete(e):vw.set(e,t-1)}),t}R(),On(),mi(),En(),Wr();let bw={blockTime:1e3,extendSchema:jS(),formatters:{transaction:bn({exclude:[`aaAuthorizationList`],format:mw}),transactionReceipt:ih({format:hw}),transactionRequest:Tn({format:gw})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i&&(r.multisig=i,r.from=Nb(i),r.account?.source!==`multisig`&&delete r.account),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await M(t,ow,`getMetadata`)({account:i,accessKey:a});pi(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 yw(e):!1})()?(r.nonceKey=Dn,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)=>OC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Kb(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?Ur(P(`0x04`,r,n)):r,a=(()=>{try{return Wb({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await ow(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:$b(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await pS(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return $b(o,{address:n,payload:r})}}return await M(e,TS,`verifyHash`)({...t,chain:null})}},xw=AS({...bw,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`]}}}),Sw=AS({...bw,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}),Cw=AS({...bw,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),ww=AS({...bw,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),H={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},Tw={payment:`Payment`},Ew={evm:`evm`,stripe:`stripe`,tempo:`tempo`},Dw={charge:`charge`,session:`session`,subscription:`subscription`},Ow={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},kw={v1:`v1`,v2:`v2`};function Aw(e,t){if(!(!e||typeof e!=`object`))return e[t]}function jw(e){return e}function Mw(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function Nw(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return f(r)}}fi(),Op(),ko(),D(),cc(),Zd(),Hs(),zp();async function Pw(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 Rp({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=Vs({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=lc(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=>M(e,Fm,`readContract`)({...m===null?{code:Dp}:{address:m},abi:oi,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 co;if(!a)throw new sc({data:r});let e=Yd({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=lc(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new E(`multicall results mismatch`);return y}R(),p();async function Fw(e,t){return Fw.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:KC,abi:LS,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(Fw||={});async function Iw(e,t){return Iw.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:KC,abi:LS,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(Iw||={});async function Lw(e,t){return Lw.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:KC,abi:LS,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(Lw||={});async function Rw(e,t){return Rw.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:KC,abi:LS,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(Rw||={});async function zw(e,t){let{account:n=e.account,token:r,...i}=t,a=n?f(n).address:void 0;if(!a)throw Error(`account is required.`);return Fm(e,{...i,...zw.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:KC,abi:LS,args:[t,n],functionName:`balanceOf`})}e.call=t})(zw||={});async function Bw(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Fm(e,{...a,...Bw.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(Bw||={});async function Vw(e,t){let{orderId:n,...r}=t;return Fm(e,{...r,...Vw.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:KC,abi:LS,args:[t],functionName:`getOrder`})}e.call=t})(Vw||={});async function Hw(e,t){let{base:n,quote:r,...i}=t;return Fm(e,{...i,...Hw.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return V({address:KC,abi:LS,args:[Yw(t,n)],functionName:`books`})}e.call=t})(Hw||={});async function Uw(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Fm(e,{...a,...Uw.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(Uw||={});async function Ww(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Fm(e,{...a,...Ww.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(Ww||={});async function Gw(e,t){return Gw.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:KC,abi:LS,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(Gw||={});async function Kw(e,t){return Kw.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:KC,abi:LS,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=As({abi:LS,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})(Kw||={});async function qw(e,t){return qw.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:KC,abi:LS,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(qw||={});async function Jw(e,t){return Jw.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:KC,abi:LS,functionName:`withdraw`,args:[t,n]})}e.call=n})(Jw||={});function Yw(e,t){return g_(P(e,t))}R(),p(),Hs();async function Xw(e,t){return Xw.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}=YC(e,{token:i});return V({address:a,abi:B,functionName:`approve`,args:[r,Lm(n,o)]})}e.call=n;async function r(t,n){return Jd(t,{...tw(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...tw(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(Xw||={});async function Zw(e,t){return Zw.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}=YC(e,{token:i});return V({address:a,abi:B,functionName:`burnBlocked`,args:[n,Lm(r,o)]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(Zw||={});async function Qw(e,t){return Qw.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}=YC(e,{token:i}),s=Lm(n,o);return V({address:a,abi:B,...r?{functionName:`burnWithMemo`,args:[s,tp(r,32)]}:{functionName:`burn`,args:[s]}})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(Qw||={});async function $w(e,t){return $w.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:YC(e,{token:n}).address,abi:B,functionName:`changeTransferPolicyId`,args:[r]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})($w||={});async function eT(e,t){return eT.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?f(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=rp(32)}=t;return V({address:`0x20fc000000000000000000000000000000000000`,abi:zS,args:typeof a==`string`?[n,r,i,YC(e,{token:o}).address,s,c,a]:[n,r,i,YC(e,{token:o}).address,s,c],functionName:`createToken`})}e.call=n;function r(e){let[t]=As({abi:zS,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(eT||={});async function tT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Fm(e,{...o,...tT.call(e,{account:n,spender:i,token:a})}),ew(e,{decimals:r,token:a})]);return Im(s,c)}(function(e){function t(e,t){return V({address:YC(e,t).address,abi:B,functionName:`allowance`,args:[t.account,t.spender]})}e.call=t})(tT||={});async function nT(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new Dm;let o=f(n).address,[s,{decimals:c}]=await Promise.all([Fm(e,{...a,...nT.call(e,{account:o,token:i})}),ew(e,{decimals:r,token:i})]);return Im(s,c)}(function(e){function t(e,t){let n=t.account??e.account;if(!n)throw new Dm;let r=f(n).address;return V({address:YC(e,t).address,abi:B,functionName:`balanceOf`,args:[r]})}e.call=t})(nT||={});async function rT(e,t){let{token:n,...r}=t,{address:i}=YC(e,{token:n}),a=B,o=XC(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return jv(i)===jv(`0x20c0000000000000000000000000000000000000`)?Pw(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:iT(r),symbol:iT(i),currency:iT(e),decimals:iT(t),logoURI:iT(n,``),totalSupply:iT(a),...s})):Pw(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:iT(i),symbol:iT(c),currency:iT(e),decimals:iT(t),logoURI:iT(n,``),quoteToken:iT(r),totalSupply:iT(l),paused:iT(a),supplyCap:iT(o),transferPolicyId:iT(u),...s}))}function iT(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function aT(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Fm(e,{...i,...aT.call(e,{token:r})}),ew(e,{decimals:n,token:r})]);return Im(a,o)}(function(e){function t(e,t){return V({address:YC(e,t).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(aT||={});async function oT(e,t){return Fm(e,{...t,...oT.call(e,t)})}(function(e){function t(e,t){let{role:n,token:r}=t;return V({address:YC(e,{token:r}).address,abi:B,functionName:`getRoleAdmin`,args:[Cx(n)]})}e.call=t})(oT||={});async function sT(e,t){let{account:n=e.account}=t,r=n?f(n).address:void 0;if(!r)throw Error(`account is required.`);return Fm(e,{...t,...sT.call(e,{...t,account:r})})}(function(e){function t(e,t){let{account:n,role:r,token:i}=t;return V({address:YC(e,{token:i}).address,abi:B,functionName:`hasRole`,args:[n,Cx(r)]})}e.call=t})(sT||={});async function cT(e,t){return cT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,to:r,role:i}=t,a=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`grantRole`,args:[a,r]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(cT||={});async function lT(e,t){return lT.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}=YC(e,{token:a}),c=Lm(r,s);return V({address:o,abi:B,...i?{functionName:`mintWithMemo`,args:[n,c,tp(i,32)]}:{functionName:`mint`,args:[n,c]}})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(lT||={});async function uT(e,t){return uT.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:YC(e,{token:n}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(uT||={});async function dT(e,t){return dT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,role:r}=t,i=Cx(r);return V({address:YC(e,{token:n}).address,abi:B,functionName:`renounceRole`,args:[i]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(dT||={});async function fT(e,t){return fT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,from:r,role:i}=t,a=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`revokeRole`,args:[a,r]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(fT||={});async function pT(e,t){return pT.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:YC(e,{token:n}).address,abi:B,functionName:`setSupplyCap`,args:[r]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(pT||={});async function mT(e,t){return mT.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=Cx(r),o=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`setRoleAdmin`,args:[a,o]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(mT||={});async function hT(e,t){return hT.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}=YC(e,{token:a}),c=Lm(t.amount,s);return V({address:o,abi:B,...r&&n?{functionName:`transferFromWithMemo`,args:[n,i,c,tp(r,32)]}:r?{functionName:`transferWithMemo`,args:[i,c,tp(r,32)]}:n?{functionName:`transferFrom`,args:[n,i,c]}:{functionName:`transfer`,args:[i,c]}})}e.call=n;async function r(t,n){return Jd(t,{...tw(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...tw(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(hT||={});async function gT(e,t){return gT.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:YC(e,{token:n}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(gT||={});async function _T(e,t){return _T.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:YC(e,{token:n}).address,abi:B,functionName:`setNextQuoteToken`,args:[YC(e,{token:r}).address]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(_T||={});async function vT(e,t){return vT.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:YC(e,{token:n}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(vT||={});function yT(e){return e.source}var bT=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 xT(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw ST(r.error);return r.result}function ST(e){let t=e;if(t instanceof Error&&!(`code`in t))return new PT({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===PT.code?new PT(t):n===wT.code?new wT(t):n===NT.code?new NT(t):n===jT.code?new jT(t):n===kT.code?new kT(t):n===MT.code?new MT(t):n===OT.code?new OT(t):n===FT.code?new FT(t):n===TT.code?new TT(t):n===ET.code?new ET(t):n===DT.code?new DT(t):n===AT.code?new AT(t):new PT({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var CT=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??``}},wT=class e extends CT{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(wT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var TT=class e extends CT{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(TT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var ET=class e extends CT{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(ET,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var DT=class e extends CT{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(DT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var OT=class e extends CT{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(OT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var kT=class e extends CT{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(kT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var AT=class e extends CT{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(AT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var jT=class e extends CT{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(jT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var MT=class e extends CT{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(MT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var NT=class e extends CT{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(NT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var PT=class e extends CT{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(PT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var FT=class e extends CT{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(FT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),rf();var IT=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}},LT=class extends IT{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(LT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var RT=class extends IT{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(RT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var zT=class extends IT{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(zT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var BT=class extends IT{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(BT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var VT=class extends IT{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(VT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var HT=class extends IT{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(HT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var UT=class extends IT{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(UT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var WT=class extends IT{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(WT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var GT=class extends IT{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(GT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var KT=class extends IT{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(KT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var qT=class extends IT{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(qT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var JT=class extends IT{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(JT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var YT=class extends IT{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(YT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function XT(){let e=new bT.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 ZT(e,t={}){if(!e)throw new $T;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?xT(n):n}catch(e){throw QT(e)}}}}function QT(e){let t=ST(e);if(t instanceof PT){if(!t.data)return t;let{code:e}=t.data;if(e===BT.code)return new BT(t);if(e===VT.code)return new VT(t);if(e===LT.code)return new LT(t);if(e===RT.code)return new RT(t);if(e===zT.code)return new zT(t);if(e===HT.code)return new HT(t);if(e===JT.code)return new JT(t);if(e===YT.code)return new YT(t);if(e===qT.code)return new qT(t);if(e===KT.code)return new KT(t);if(e===GT.code)return new GT(t);if(e===WT.code)return new WT(t);if(e===UT.code)return new UT(t)}return t}var $T=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function eE(e={}){let t=e.id??0;return{prepare(e){return tE({id:t++,...e})},get id(){return t}}}function tE(e){return{...e,jsonrpc:`2.0`}}function nE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return pg({key:nE.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(DC(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:nE.type})}}function rE(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=_({chain:i.chain,transport:nE(Tg(e),Tg(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?nE(Tg(a),Tg(n)):Tg(a);return _({chain:{...t,id:r},transport:o})}}var iE;function U(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var aE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},oE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(iE=globalThis).__zod_globalConfig??(iE.__zod_globalConfig={});let sE=globalThis.__zod_globalConfig;function cE(e){return e&&Object.assign(sE,e),sE}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 uE(e,t){return typeof t==`bigint`?t.toString():t}function dE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function fE(e){return e==null}function pE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let mE=Symbol(`evaluating`);function hE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==mE)return r===void 0&&(r=mE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function gE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function _E(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let vE=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function yE(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bE(e){if(yE(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(yE(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let xE=new Set([`string`,`number`,`symbol`]),SE=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function CE(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function wE(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function TE(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 EE(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function DE(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 wE(e,_E(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return gE(this,`shape`,r),r},checks:[]}))}function OE(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 kE(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 AE(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function jE(e){return typeof e==`string`?e:e?.message}function ME(e,t,n){let r=e.message?e.message:jE(e.inst?._zod.def?.error?.(e))??jE(t?.error?.(e))??jE(n.customError?.(e))??jE(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 NE(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function PE(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let FE=(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,uE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},IE=U(`$ZodError`,FE),LE=U(`$ZodError`,FE,{Parent:Error}),RE=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 aE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>ME(e,a,cE())));throw vE(t,i?.callee),t}return o.value},zE=RE(LE),BE=(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=>ME(e,a,cE())));throw vE(t,i?.callee),t}return o.value})(LE),VE=(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 aE;return a.issues.length?{success:!1,error:new(e??IE)(a.issues.map(e=>ME(e,i,cE())))}:{success:!0,data:a.value}})(LE),HE=(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=>ME(e,i,cE())))}:{success:!0,data:a.value}})(LE),UE=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return RE(e)(t,n,i)})(LE),WE=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},GE=/^-?\\d+n?$/,KE=/^-?\\d+(?:\\.\\d+)?$/,qE=/^(?:true|false)$/i,JE=/^null$/i,YE=/^undefined$/i,XE=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ZE={number:`number`,bigint:`bigint`,object:`date`},QE=U(`$ZodCheckLessThan`,(e,t)=>{XE.init(e,t);let n=ZE[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})}}),$E=U(`$ZodCheckGreaterThan`,(e,t)=>{XE.init(e,t);let n=ZE[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})}}),eD=U(`$ZodCheckMaxLength`,(e,t)=>{var n;XE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!fE(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=NE(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tD=U(`$ZodCheckMinLength`,(e,t)=>{var n;XE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!fE(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=NE(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nD=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;XE.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),rD=U(`$ZodCheckRegex`,(e,t)=>{nD.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})}}),iD={major:4,minor:4,patch:3},aD=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=iD;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=OE(e),i;for(let a of t){if(a._zod.def.when){if(kE(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 aE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=OE(e,t))});else{if(e.issues.length===t)continue;r||=OE(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(OE(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new aE;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 aE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}hE(e,`~standard`,()=>({validate:t=>{try{let n=VE(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return HE(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),oD=U(`$ZodString`,(e,t)=>{aD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??WE(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}}),sD=U(`$ZodNumber`,(e,t)=>{aD.init(e,t),e._zod.pattern=e._zod.bag.pattern??KE,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}}),cD=U(`$ZodBoolean`,(e,t)=>{aD.init(e,t),e._zod.pattern=qE,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=U(`$ZodBigInt`,(e,t)=>{aD.init(e,t),e._zod.pattern=GE,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}}),uD=U(`$ZodUndefined`,(e,t)=>{aD.init(e,t),e._zod.pattern=YE,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}}),dD=U(`$ZodNull`,(e,t)=>{aD.init(e,t),e._zod.pattern=JE,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}}),fD=U(`$ZodUnknown`,(e,t)=>{aD.init(e,t),e._zod.parse=e=>e});function pD(e,t,n){e.issues.length&&t.issues.push(...AE(n,e.issues)),t.value[n]=e.value}let mD=U(`$ZodArray`,(e,t)=>{aD.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=>pD(t,n,e))):pD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function hD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...AE(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 gD(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=EE(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function _D(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>hD(e,n,i,t,u,d))):hD(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 vD=U(`$ZodObject`,(e,t)=>{if(aD.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=dE(()=>gD(t));hE(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=yE,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=>hD(n,t,e,s,r,i))):hD(a,t,e,s,r,i)}return i?_D(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function yD(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=>!OE(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=>ME(e,r,cE())))}),t)}let bD=U(`$ZodUnion`,(e,t)=>{aD.init(e,t),hE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),hE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),hE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),hE(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=>pE(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=>yD(t,r,e,i)):yD(o,r,e,i)}}),xD=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,bD.init(e,t);let n=e._zod.parse;hE(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=dE(()=>{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(!yE(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)}}),SD=U(`$ZodTuple`,(e,t)=>{aD.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=CD(n,`optin`),c=CD(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=>wD(t,r,e))):wD(a,r,e)}}return o.length?Promise.all(o).then(()=>TD(l,r,n,a,c)):TD(l,r,n,a,c)}});function CD(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function wD(e,t,n){e.issues.length&&t.issues.push(...AE(n,e.issues)),t.value[n]=e.value}function TD(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(...AE(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 ED=U(`$ZodRecord`,(e,t)=>{aD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!bE(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=>ME(e,r,cE())),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(...AE(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...AE(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`&&KE.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=>ME(e,r,cE())),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(...AE(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...AE(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),DD=U(`$ZodEnum`,(e,t)=>{aD.init(e,t);let n=lE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>xE.has(typeof e)).map(e=>typeof e==`string`?CE(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}}),OD=U(`$ZodLiteral`,(e,t)=>{if(aD.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`?CE(e):e?CE(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}}),kD=U(`$ZodTransform`,(e,t)=>{aD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new oE(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 aE;return n.value=i,n.fallback=!0,n}});function AD(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let jD=U(`$ZodOptional`,(e,t)=>{aD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,hE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),hE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${pE(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=>AD(e,r)):AD(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),MD=U(`$ZodNullable`,(e,t)=>{aD.init(e,t),hE(e._zod,`optin`,()=>t.innerType._zod.optin),hE(e._zod,`optout`,()=>t.innerType._zod.optout),hE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${pE(e.source)}|null)$`):void 0}),hE(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)}),ND=U(`$ZodPipe`,(e,t)=>{aD.init(e,t),hE(e._zod,`values`,()=>t.in._zod.values),hE(e._zod,`optin`,()=>t.in._zod.optin),hE(e._zod,`optout`,()=>t.out._zod.optout),hE(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=>PD(e,t.in,n)):PD(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>PD(e,t.out,n)):PD(r,t.out,n)}});function PD(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 FD=U(`$ZodCodec`,(e,t)=>{aD.init(e,t),hE(e._zod,`values`,()=>t.in._zod.values),hE(e._zod,`optin`,()=>t.in._zod.optin),hE(e._zod,`optout`,()=>t.out._zod.optout),hE(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=>ID(e,t,n)):ID(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ID(e,t,n)):ID(r,t,n)}}});function ID(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=>LD(e,r,t.out,n)):LD(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>LD(e,r,t.in,n)):LD(e,r,t.in,n)}}function LD(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let RD=U(`$ZodReadonly`,(e,t)=>{aD.init(e,t),hE(e._zod,`propValues`,()=>t.innerType._zod.propValues),hE(e._zod,`values`,()=>t.innerType._zod.values),hE(e._zod,`optin`,()=>t.innerType?._zod?.optin),hE(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(zD):zD(r)}});function zD(e){return e.value=Object.freeze(e.value),e}let BD=U(`$ZodTemplateLiteral`,(e,t)=>{aD.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||SE.has(typeof e))n.push(CE(`${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)}),VD=U(`$ZodCustom`,(e,t)=>{XE.init(e,t),aD.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=>HD(t,n,r,e));HD(i,n,r,e)}});function HD(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(PE(e))}}function UD(e,t){return new e({type:`string`,...TE(t)})}function WD(e,t){return new e({type:`number`,checks:[],...TE(t)})}function GD(e,t){return new e({type:`boolean`,...TE(t)})}function KD(e,t){return new e({type:`bigint`,...TE(t)})}function qD(e,t){return new e({type:`undefined`,...TE(t)})}function JD(e,t){return new e({type:`null`,...TE(t)})}function YD(e){return new e({type:`unknown`})}function XD(e,t){return new QE({check:`less_than`,...TE(t),value:e,inclusive:!0})}function ZD(e,t){return new $E({check:`greater_than`,...TE(t),value:e,inclusive:!0})}function QD(e,t){return new eD({check:`max_length`,...TE(t),maximum:e})}function $D(e,t){return new tD({check:`min_length`,...TE(t),minimum:e})}function eO(e,t){return new rD({check:`string_format`,format:`regex`,...TE(t),pattern:e})}function tO(e,t,n){let r=TE(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function nO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...TE(n)})}let rO=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);aD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>zE(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>VE(e,t,n),e.parseAsync=async(t,n)=>BE(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>HE(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)=>wE(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),iO=U(`ZodMiniString`,(e,t)=>{oD.init(e,t),rO.init(e,t)});function W(e){return UD(iO,e)}let aO=U(`ZodMiniNumber`,(e,t)=>{sD.init(e,t),rO.init(e,t)});function oO(e){return WD(aO,e)}let sO=U(`ZodMiniBoolean`,(e,t)=>{cD.init(e,t),rO.init(e,t)});function cO(e){return GD(sO,e)}let lO=U(`ZodMiniBigInt`,(e,t)=>{lD.init(e,t),rO.init(e,t)});function uO(e){return KD(lO,e)}let dO=U(`ZodMiniUndefined`,(e,t)=>{uD.init(e,t),rO.init(e,t)});function fO(e){return qD(dO,e)}let pO=U(`ZodMiniNull`,(e,t)=>{dD.init(e,t),rO.init(e,t)});function mO(e){return JD(pO,e)}let hO=U(`ZodMiniUnknown`,(e,t)=>{fD.init(e,t),rO.init(e,t)});function gO(){return YD(hO)}let _O=U(`ZodMiniArray`,(e,t)=>{mD.init(e,t),rO.init(e,t)});function G(e,t){return new _O({type:`array`,element:e,...TE(t)})}let vO=U(`ZodMiniObject`,(e,t)=>{vD.init(e,t),rO.init(e,t),hE(e,`shape`,()=>t.shape)});function K(e,t){return new vO({type:`object`,shape:e??{},...TE(t)})}function yO(e,t){return DE(e,t)}let bO=U(`ZodMiniUnion`,(e,t)=>{bD.init(e,t),rO.init(e,t)});function q(e,t){return new bO({type:`union`,options:e,...TE(t)})}let xO=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{xD.init(e,t),rO.init(e,t)});function SO(e,t,n){return new xO({type:`union`,options:t,discriminator:e,...TE(n)})}let CO=U(`ZodMiniTuple`,(e,t)=>{SD.init(e,t),rO.init(e,t)});function wO(e,t,n){let r=t instanceof aD;return new CO({type:`tuple`,items:e,rest:r?t:null,...TE(r?n:t)})}let TO=U(`ZodMiniRecord`,(e,t)=>{ED.init(e,t),rO.init(e,t)});function EO(e,t,n){return!t||!t._zod?new TO({type:`record`,keyType:W(),valueType:e,...TE(t)}):new TO({type:`record`,keyType:e,valueType:t,...TE(n)})}let DO=U(`ZodMiniEnum`,(e,t)=>{DD.init(e,t),rO.init(e,t),e.options=Object.values(t.entries)});function OO(e,t){return new DO({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...TE(t)})}let kO=U(`ZodMiniLiteral`,(e,t)=>{OD.init(e,t),rO.init(e,t)});function J(e,t){return new kO({type:`literal`,values:Array.isArray(e)?e:[e],...TE(t)})}let AO=U(`ZodMiniTransform`,(e,t)=>{kD.init(e,t),rO.init(e,t)});function jO(e){return new AO({type:`transform`,transform:e})}let MO=U(`ZodMiniOptional`,(e,t)=>{jD.init(e,t),rO.init(e,t)});function Y(e){return new MO({type:`optional`,innerType:e})}let NO=U(`ZodMiniNullable`,(e,t)=>{MD.init(e,t),rO.init(e,t)});function PO(e){return new NO({type:`nullable`,innerType:e})}let FO=U(`ZodMiniPipe`,(e,t)=>{ND.init(e,t),rO.init(e,t)});function IO(e,t){return new FO({type:`pipe`,in:e,out:t})}let LO=U(`ZodMiniCodec`,(e,t)=>{FO.init(e,t),FD.init(e,t)});function RO(e,t,n){return new LO({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let zO=U(`ZodMiniReadonly`,(e,t)=>{RD.init(e,t),rO.init(e,t)});function X(e){return new zO({type:`readonly`,innerType:e})}let BO=U(`ZodMiniTemplateLiteral`,(e,t)=>{BD.init(e,t),rO.init(e,t)});function VO(e,t){return new BO({type:`template_literal`,parts:e,...TE(t)})}let HO=U(`ZodMiniCustom`,(e,t)=>{VD.init(e,t),rO.init(e,t)});function UO(e,t){return tO(HO,e??(()=>!0),t)}function WO(e,t={}){return nO(HO,e,t)}function GO(){return W().check(eO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function KO(){return W().check(eO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function qO(e=`Invalid ISO 8601 datetime`){return IO(q([KO(),UO(e=>e instanceof Date)]),jO(JO)).check(WO(e=>Number.isFinite(e.getTime()),e))}function JO(e){return e instanceof Date?e:new Date(e)}function YO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function XO(){return W().check(eO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function ZO(){return W().check(eO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function QO(){return W().check(eO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}function $O(e){return`accessKeyAddress`in e}function ek(e){return $O(e)?e.accessKeyAddress:e.address}let tk={mainnet:4217,testnet:42431},nk={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};tk.mainnet,nk.usdc,tk.testnet,nk.pathUsd;let rk={[tk.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[tk.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},ik={[tk.mainnet]:`https://rpc.tempo.xyz`,[tk.testnet]:`https://rpc.moderato.tempo.xyz`},ak=[`push`,`pull`],ok=K({amount:GO(),memo:Y(ZO()),recipient:IO(W(),jO(e=>e))}),sk=(1n<<64n)-1n,ck={dev_second:1n,day:86400n,week:604800n},lk=IO(XO(),jO(e=>e.toLowerCase())),uk=K({accessKeyAddress:lk,keyType:OO([`p256`,`secp256k1`,`webAuthn`])}),dk=K({accessKey:Y(uk),chainId:Y(oO())}),fk=qO(`subscriptionExpires must be a valid date`).check(WO(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),pk=OO([`dev_second`,`day`,`week`]),mk=IO(q([W(),uO(),UO(e=>typeof e==`number`&&Number.isSafeInteger(e))]),jO(e=>e.toString())).check(eO(/^[1-9]\\d*$/,`Invalid periodCount`),WO(e=>{try{return BigInt(e)<=sk}catch{return!1}},`periodCount exceeds uint64`));function hk(e){return WO(e=>{let{amount:t,decimals:n}=e;return Pm(t,n)>0n},e)}function gk(e){let{periodCount:t,periodUnit:n}=e;try{let e=ck[n];return e===void 0?!1:BigInt(t)*e<=sk}catch{return!1}}let _k=jw({name:`tempo`,intent:`charge`,schema:{credential:{payload:SO(`type`,[K({hash:ZO(),type:J(`hash`)}),K({signature:QO(),type:J(`transaction`)}),K({signature:QO(),type:J(`proof`)})])},request:IO(K({amount:GO(),chainId:Y(oO()),currency:W(),decimals:oO(),description:Y(W()),externalId:Y(W()),feePayer:Y(IO(q([cO(),UO()]),jO(e=>typeof e==`object`?!0:e))),memo:Y(ZO()),recipient:Y(W()),splits:Y(G(ok).check($D(1),QD(10))),supportedModes:Y(G(OO(ak)).check($D(1)))}).check(WO(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Pm(e,t),i=n.reduce((e,n)=>e+Pm(n.amount,t),0n);return n.every(e=>Pm(e.amount,t)>0n)&&i<r},`Invalid splits`)),jO(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Pm(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:Pm(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),vk=jw({name:`tempo`,intent:`session`,schema:{credential:{payload:SO(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO(),transaction:QO(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:GO(),channelId:ZO(),descriptor:Y(UO()),transaction:QO(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO()}),K({action:J(`close`),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO()})])},request:IO(K({amount:GO(),chainId:Y(oO()),channelId:Y(ZO()),currency:W(),decimals:oO(),escrowContract:Y(W()),feePayer:Y(IO(q([cO(),UO()]),jO(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(GO()),operator:Y(XO()),recipient:Y(W()),sessionProtocol:Y(OO([kw.v2,kw.v1])),sessionSnapshot:Y(UO()),suggestedDeposit:Y(GO()),unitType:W()}).check(WO(({amount:e,decimals:t})=>Pm(e,t)>0n,`Session amount must be greater than 0`)),jO(({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:Pm(e,r).toString(),...u?{suggestedDeposit:Pm(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Pm(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[Ow.sessionProtocol]:c},...l!==void 0&&{[Ow.sessionSnapshot]:l}}})))}}),yk=jw({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:QO(),type:J(`keyAuthorization`)})},request:IO(K({amount:GO(),accessKey:Y(uk),chainId:Y(oO()),currency:lk,decimals:oO(),description:Y(W()),externalId:Y(W()),methodDetails:Y(dk),periodCount:mk,periodUnit:pk,recipient:lk,subscriptionExpires:fk}).check(hk(`Subscription amount must be greater than 0`),WO(gk,`Subscription period exceeds uint64`)),jO(({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:Pm(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});function bk(e){return Zv(e)}function xk(){return null}function Sk(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let Ck={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function wk(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function Tk(e,t,n){return Gh({domain:Sk(e,t),types:Ck,primaryType:`Voucher`,message:wk(n)})}async function Ek(e,t,n,r,i){return rg(e,{account:t,domain:Sk(r,i),types:Ck,primaryType:`Voucher`,message:wk(n)})}function Dk(e){let t=qb(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 Fy(t.inner.signature)}return Xb(t)}function Ok(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function kk(e){if(!Ok(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function Ak(e,t,n,r,i,a){let o=a??t,s=ek(o),c=Tk(r,i,n),l=Dk($O(o)?await o.sign({hash:c,raw:!0}):await Ek(e,o,n,r,i)),u=qb(l);if(kk(u),!$b(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}Cf();function jk(e){let t=eb(e);return JSON.parse(t)}function Mk(e){return Qy(yf(e),{pad:!1,url:!0})}Yf();let Nk=K({description:Y(W()),digest:Y(W().check(eO(/^sha-256=/,`Invalid digest format`))),expires:Y(KO()),id:W().check($D(1)),intent:W(),method:W(),meta:Y(EO(W(),W())),opaque:Y(W()),realm:W(),request:EO(W(),gO())});function Pk(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?YO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:Mk(i)),f=l?Gk({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return Nk.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 Fk(e,t){let n=Ik(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=Lk(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 Pk({...a,request:jk(r),...i&&{opaque:i}},t)}function Ik(e){let t=Tw.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(!Bk(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 Lk(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]=Rk(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function Rk(e,t){if(e[t]===`\"`)return zk(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function zk(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 Bk(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 Vk(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return Hk(e.headers,t)}function Hk(e,t){let n=e.get(H.wwwAuthenticate);if(!n)throw Error(`Missing ${H.wwwAuthenticate} header.`);return Uk(n,t)}function Uk(e,t){let n=[],r=RegExp(`${Tw.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 Fk(e.slice(r,a).replace(/,\\s*$/,``),t)})}function Wk(e){return[e.realm,e.method,e.intent,Mk(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?Mk(e.meta):``)].join(`|`)}function Gk(e,t){let n=Wk(e);return Xy(__(kf(t.secretKey),kf(n),{as:`Bytes`}),{url:!0,pad:!1})}var Kk=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},qk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Jk(e){let t=e.match(RegExp(`^${Tw.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Kk;try{let e=eb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Yk(r);return{challenge:Nk.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:jk(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new qk}}function Yk(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Xk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:Mk(e)}}function Xk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Zk(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:Mk(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:Mk(r)},payload:e.payload,...e.source&&{source:e.source}},s=Qy(JSON.stringify(o),{pad:!1,url:!0});return`${Tw.payment} ${s}`}var Qk=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}}}},$k=class extends Qk{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},Z=class extends Qk{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.`)}},eA=class extends Qk{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 tA(e,t){return e.toLowerCase()===t.toLowerCase()}function nA(e){return g_(_v(yv([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let rA=[{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:[]}];Qp(),Hs(),fi(),Ls(),Ns(),Tm();async function iA(e,t,n){return Fm(e,{address:t,abi:rA,functionName:`getChannel`,args:[n]})}Ps({abi:rA,name:`open`}),Ps({abi:rA,name:`topUp`}),R(),Hs();function aA(e,t){return t??e}function oA(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??rk[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function sA(e,t,n,r){return Zk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function cA(e,t,n,r,i,a,o){let s=aA(t,o),c=await Ak(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function lA(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=aA(t,n.voucherSigner),d=ek(u),f=rp(32),p=nA({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=Vs({abi:B,functionName:`approve`,args:[r,o]}),h=Vs({abi:rA,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Kd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,...l?{nonceKey:`expiring`,validBefore:g}:{}});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Vh(e,_),y=await Ak(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 uA(e,t,n,r){try{let i=await iA(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 dA=K({account:Y(UO()),action:Y(OO([`open`,`topUp`,`voucher`,`close`])),channelId:Y(W()),cumulativeAmount:Y(GO()),cumulativeAmountRaw:Y(W()),transaction:Y(W()),additionalDeposit:Y(GO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function fA(e={}){let{decimals:t=6}=e,n=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),r=Nw({account:e.account}),i=e.maxDeposit===void 0?void 0:Pm(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 oA(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 Pm(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,w=l(_,v,g),T=o.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let n=await uA(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Pm(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(w,n),s.set(n.channelId,w),a.set(n.channelId,g),T=n,c(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await cA(h,d,T.channelId,T.cumulativeAmount,g,m,C),c(T);else{let e=await lA(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(w,e.entry),s.set(e.entry.channelId,w),a.set(e.entry.channelId,g),ee=e.payload,c(e.entry)}return sA(r,ee,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?Pm(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Pm(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 Ak(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:ek(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 cA(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 Ak(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 sA(r,x,d,i)}return Mw(vk,{canHandleChallenge({challenge:e}){let t=Aw(e.request.methodDetails,Ow.sessionProtocol);return t===void 0||t===kw.v1},context:dA,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}function pA(e,t){if(!e)throw new $k({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new $k({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new eA({expires:e})}function mA(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=yA(n)}return t}function hA(e,t){let n=mA(e),r=TA(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[yA(e)]??1,index:t}));return{definition:r,entries:i,header:_A(i),keys:n}}function gA(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)=>CA(e,t))}function _A(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${kA(n)}`}).join(`, `)}function vA(e,t,n){let r=new Map;for(let e of t){let t=yA(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(yA(e));if(!i)return[];let a=bA(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function yA(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function bA(e,t){let n;for(let r of t){if(!xA(e,r))continue;let t={...r,specificity:SA(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 xA(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function SA(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function CA(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}`);AA(r,`method`),AA(i,`intent`);let a=1;for(let t of wA(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=DA(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function wA(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function TA(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>yA(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]=EA(t,`payment preference \"${e}\"`)}return a}function EA(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return OA(e,t)}function DA(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 OA(Number(e),t)}function OA(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 kA(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function AA(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var jA=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 MA(e){}function NA(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=MA,onError:n=MA,onRetry:r=MA,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 jA(`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(PA(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 FA(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(PA(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(FA(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){i&&i(e.slice(t,n).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 jA(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new jA(`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 PA(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 FA(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 IA=[`exact`],LA=`PAYMENT-REQUIRED`,RA=`PAYMENT-SIGNATURE`,zA=W().check($D(1)),BA=oO().check(WO(e=>e>0,`Must be positive`)),VA=W().check(eO(/^\\d+$/,`Invalid atomic amount`)),HA=XO(),UA=W().check(eO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),WA=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:zA}),GA=K({amount:VA,asset:zA,extra:Y(EO(W(),gO())),maxTimeoutSeconds:BA,network:UA,payTo:zA,scheme:OO(IA)}),KA=EO(W(),K({info:EO(W(),gO()),schema:EO(W(),gO())})),qA=K({accepts:G(GA).check($D(1)),error:Y(W()),extensions:Y(KA),resource:WA,x402Version:J(2)}),JA=q([K({authorization:K({from:HA,nonce:ZO(),to:HA,validAfter:VA,validBefore:VA,value:VA}),signature:QO()}),K({permit2Authorization:K({deadline:VA,from:HA,nonce:VA,permitted:K({amount:VA,token:HA}),spender:HA,witness:K({to:HA,validAfter:VA})}),signature:QO()})]),YA=K({accepted:GA,extensions:Y(KA),payload:JA,resource:Y(WA),x402Version:J(2)}),XA=K({amount:Y(VA),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(KA),extra:Y(EO(W(),gO())),network:zA,payer:Y(W()),success:cO(),transaction:W()}),ZA=[H.authorization,LA,`PAYMENT-RESPONSE`,RA];function QA(e,t,n){let r=new Headers(e.headers);for(let e of ZA)r.delete(e);return r.set(t,n),{...e,headers:r}}function $A(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 ej=new WeakMap;function tj(e){let t=$A(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 nj(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 rj(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=Nk.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 ij(e){if(e)return`error`in e?e.error?.code===-32042?rj(e.error.data):void 0:rj(e.result?._meta?.[`org.paymentauth/payment-required`])}function aj(e,t){return!e||e.id!==t?[]:ij(e)?.challenges??[]}async function oj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=NA({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=nj(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 sj(e){let t=ej.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(nj).catch(()=>void 0);if(t.includes(`text/event-stream`))return oj(e)})();return ej.set(e,n),n}function cj(){return{getChallenges(e,t){let n=tj(t);return e.status===402||n===void 0?[]:sj(e).then(e=>aj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Jk(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function lj(){return{getChallenges(e){return e.status!==402||!e.headers.has(H.wwwAuthenticate)?[]:Vk(e)},setCredential(e,t){return QA(e,H.authorization,t)}}}function uj(e){return{encode(t){return Qy(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(eb(t)))}catch{throw new dj}}}}var dj=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let fj=uj(qA),pj=uj(YA),mj=uj(XA);fj.encode,fj.decode;function hj(e){try{return gj(JSON.parse(eb(e)))}catch{throw new dj}}pj.encode,pj.decode,mj.encode,mj.decode;let gj=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new dj;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new dj;let n=WA.parse(t.resource),r=t.extensions===void 0?void 0:KA.parse(t.extensions);return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}},_j=Symbol.for(`mppx.x402.challenge`);function vj(e){return Object.defineProperty(e,_j,{value:!0}),e}function yj(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(LA);if(!t)return[];let n=hj(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=GA.safeParse(e);if(!r.success)return[];let i=r.data;return vj(Pk({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 QA(e,RA,t)}}}function bj(e){return e}function xj(){let e=[lj(),yj(),cj()],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 bj({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 Sj=Symbol.for(`mppx.fetch.wrapper`),Cj;function wj(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=xj()}=e,l=e.eventDispatcher??Dj(),u=t??hA(a),d=qj(r),f=async(e,t)=>{let r=Kj(e,t?.headers),f=r.has(H.acceptPayment),p=Zj(r,u),m=Wj(e,t,r),h=Uj(e,t,r,p.header,f,n),g=await d(Jj(h.input),h.init),_=Gj(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 n=(await Qj(vA(C,a,p.entries),b??s))[0];if(!n)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 r=n.challenge;S=r,w=n.method,S.expires&&pA(S.expires,S.id);let i=jj(e=>Xj(r,n.method,e??v)),u=await l.emit(`challenge.received`,Mj({challenge:r,challenges:C,createCredential:i,init:t,input:e,method:n.method,response:g}))??(o?await o(S,{createCredential:i}):void 0)??await i();if(Yj(u),await l.emit(`credential.created`,Nj({challenge:r,credential:u,init:t,input:e,method:n.method,response:g})),g=await d(rM(g,h.input,h.input),c.setCredential({...x,headers:h.headers},u,{challenge:r})),g.ok&&await l.emit(`payment.response`,Pj({challenge:r,credential:u,init:t,input:e,method:n.method,response:g})),!await c.isPaymentRequired(g,_))return g}return g}catch(n){throw await l.emit(`payment.failed`,Fj({challenge:S,challenges:C,error:n,init:t,input:e,method:w,response:g})),n}};return f[Sj]=d,f}function Tj(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);Cj||=globalThis.fetch,globalThis.fetch=wj({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(tM()?`same-origin`:`always`),fetch:globalThis.fetch})}function Ej(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 Dj(){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 Oj(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await Aj(e[`*`],t,n),r}case`credential.created`:await kj(e[`credential.created`],n),await Aj(e[`*`],t,n);return;case`payment.failed`:await kj(e[`payment.failed`],n),await Aj(e[`*`],t,n);return;case`payment.response`:await kj(e[`payment.response`],n),await Aj(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 Oj(e,t){try{return await e(t)}catch{return}}async function kj(e,t){for(let n of e)try{await n(t)}catch{}}async function Aj(e,t,n){await kj(e,Object.freeze({name:t,payload:n}))}function jj(e){let t;return n=>(t??=e(n),t)}function Mj(e){return Object.freeze({challenge:Bj(e.challenge),challenges:e.challenges.map(e=>Bj(e)),createCredential:e.createCredential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),response:zj(e.response)})}function Nj(e){return Object.freeze({challenge:Bj(e.challenge),credential:e.credential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),...e.response===void 0?{}:{response:zj(e.response)}})}function Pj(e){return Object.freeze({challenge:Bj(e.challenge),credential:e.credential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),response:zj(e.response)})}function Fj(e){return Object.freeze({...e.challenge?{challenge:Bj(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>Bj(e))}:{},error:e.error,init:Ij(e.init),input:Lj(e.input),...e.method?{method:Rj(e.method)}:{},...e.response===void 0?{}:{response:zj(e.response)}})}function Ij(e){if(e)return Hj({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function Lj(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function Rj(e){return Hj(Object.assign({},e))}function zj(e){return e instanceof Response?e.clone():Bj(e)}function Bj(e){try{return Vj(structuredClone(e))}catch{return Hj(e)}}function Vj(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))Vj(t);return e}function Hj(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function Uj(e,t,n,r,i,a){let o=!!r&&!i&&$j(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(H.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function Wj(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 Gj(e,t){return t===void 0?e:{...e,body:t}}function Kj(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function qj(e){let t=e;for(;t[Sj];)t=t[Sj];return t}function Jj(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function Yj(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 Xj(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 Zj(e,t){let n=e.get(H.acceptPayment);if(!n)return t;try{return{...t,entries:gA(n),header:n}}catch{return t}}async function Qj(e,t){return t?t(e):e}function $j(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=nM(e);return t===`same-origin`?tM()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>eM(n,e))}function eM(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 tM(){return globalThis.location!==void 0}function nM(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,tM()?globalThis.location.href:void 0)}function rM(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=nM(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}let iM=(1n<<96n)-1n;function aM(e){return e>=0n&&e<=iM}function oM(e){return sM(e),e}function sM(e){if(!aM(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function cM(e){return typeof e==`object`&&!!e}function lM(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function uM(e){return cM(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function dM(e){return cM(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 fM(e){let t=eb(e),n=JSON.parse(t);if(!dM(n))throw Error(`Invalid session receipt.`);return n}function pM(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function mM(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=hM(r);return uM(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=hM(r);return dM(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function hM(e){try{return JSON.parse(e)}catch{return null}}function gM(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function _M(){return JSON.stringify({mpp:`payment-close-request`})}function vM(e){let t=yM(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`&&dM(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`&&uM(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&dM(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function yM(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let bM=`0x4d50500000000000000000000000000000000000`,xM={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function SM(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Pm(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=fA({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=wj({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function T(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function ee(e){if(!h)return;let t=h;h=null,t.reject(e)}function te(e){if(!p)return;let t=p;p=null,t.reject(e)}function ne(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function re(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ie(e){let t=e.headers.get(H.paymentReceipt),n=t?fM(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function E(e,t){return o=e,ie(await y(e,t))}function D(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=xM.CLOSED,r=null}if(e===`open`&&(i=xM.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[H.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(H.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}},fetch:E,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await E(e,{...s,headers:{...Ej(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=mM(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);re(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[H.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let ne=(await CM(vA(Vk(C),[v],hA([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ne)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ne;let ie=await v.createCredential({challenge:ne,context:{}});f=null,l=ne,g=0n,_=BigInt(ne.request.amount);let E=Jk(ie);u=E.payload.channelId;let ae=new n(y,p);d=ae;let oe=D(ae),se=e=>{ee(Error(e)),te(Error(e)),(ae.readyState===xM.CONNECTING||ae.readyState===xM.OPEN)&&ae.close(3008,e)},ce=e=>e.challengeId===ne.id&&e.channelId===u,le=new Promise((e,t)=>{let n=()=>{ae.removeEventListener(`error`,r),oe.emit(`open`,{type:`open`}),e()},r=()=>{ae.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};ae.addEventListener(`open`,n,{once:!0}),ae.addEventListener(`error`,r,{once:!0})});return ae.addEventListener(`close`,e=>{d===ae&&(d=null),l===ne&&(l=null),u===E.payload.channelId&&(u=null),m=null,ee(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),oe.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ae.addEventListener(`error`,()=>{oe.emit(`error`,{type:`error`})}),ae.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=vM(t);if(!n){oe.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,oe.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ce(n.data)){se(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){se(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),T(n.data),oe.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:ee(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){se(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){se(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:ne,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});ae.send(gM(r));break}case`payment-receipt`:if(!ce(n.data)){se(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){se(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{ee(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),ae.close()},{once:!0}),await le,ae.send(gM(ie)),await S(),oe.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===xM.OPEN){let t=f??await(async()=>(d.send(_M()),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(gM(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(ne(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[H.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${H.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(H.paymentReceipt);return p?fM(p):void 0}}}async function CM(e,t){let n=t;return n?n(e):e}R();function wM(e){return g_(_v(yv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function TM(e){return sS(e)}function EM(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function DM(e,t){return g_(P(TM(e),t.sender))}let OM=[{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`}],kM=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],AM={name:`descriptor`,type:`tuple`,components:OM},jM=[{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:[AM,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[AM,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[AM,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[AM],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[AM],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[AM],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:OM},{name:`state`,type:`tuple`,components:kM}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:kM}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:kM}]},{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 MM(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let NM={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function PM(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function FM(e,t){return LC(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function IM(e,t,n,r,i){let a=qb(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await FM(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return rg(e,{account:t,domain:MM(r,i),types:NM,primaryType:`Voucher`,message:n})})());if(!PM(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return Xb(a)}R(),Hs(),Qr();function LM(e){return typeof e==`object`&&!!e}function RM(e){return typeof e==`string`&&Yr(e,{strict:!1})?e:void 0}function zM(e){return RM(e.accessKeyAddress)}function BM(e){return zM(e)??e.address}async function VM(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return Kd(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function HM(e,t){return await Vh(e,t)}function UM(e,t){let n=e.request.methodDetails,r=LM(n)?RM(n.escrowContract)??RM(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function WM(e,t,n,r){return Zk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function GM(e,t){return e.toLowerCase()===t.toLowerCase()}async function KM(e,t,n,r,i,a=bM){let o=wM({...n,chainId:i,escrow:a}),s=oM(r),c=await IM(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function qM(e,t,n,r,i,a=bM){let o=await KM(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function JM(e,t,n){let r=BM(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=rp(32),s=oM(n.deposit),c=oM(n.initialAmount),l=await HM(e,await VM(e,{account:t,calls:[{to:i,data:Vs({abi:jM,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=DC(l),d={authorizedSigner:r,expiringNonceHash:DM(EM({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=wM({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await IM(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function YM(e,t,n,r,i,a,o=bM){let s=wM({...n,chainId:i,escrow:o}),c=oM(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await HM(e,await VM(e,{account:t,calls:[{to:o,data:Vs({abi:jM,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}function XM(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function ZM(e){return XM({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function QM(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(ZM(t),t)},delete(t){e.delete(t)}}}Tm();let $M=2n**96n-1n;function eN(e){if(e<0n||e>$M)throw new Z({reason:`amount exceeds uint96 range`})}async function tN(e,t,n=bM){return nN(await Fm(e,{address:n,abi:jM,functionName:`getChannelState`,args:[t]}))}function nN(e){return eN(e.settled),eN(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Qr();let rN=UO(e=>typeof e==`string`&&Yr(e,{strict:!1})),iN=UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),aN=uj(K({acceptedCumulative:W(),chainId:oO(),channelId:iN,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:rN,expiringNonceHash:iN,operator:rN,payee:rN,payer:rN,salt:iN,token:rN}),escrow:rN,requiredCumulative:W(),settled:W(),spent:W(),units:Y(oO())}));function oN(e){return aN.encode(e)}function sN(e){return aN.decode(e)}let cN={status:`idle`};function lN(e){return{status:`active`,...e}}function uN(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?hN(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:pN(e.challengeId,t.snapshot),effects:[]}:hN(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:EN({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:mN(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:hN(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:kN(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?fN({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):hN(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:hN(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?hN(e,t):{state:mN(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}]}:hN(e,t);case`settled`:return e.status===`settling`?{state:mN(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:hN(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:hN(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:hN(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?hN(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`?hN(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function dN(e,t){let n=uN(e.state,t);return e.state=n.state,n}function fN(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 pN(e,t){return lN({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function mN(e,t,n,r){return lN({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function hN(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function gN(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function _N(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`);gN({cumulativeAmount:i,maxVoucherCumulative:n}),gN({cumulativeAmount:a,maxVoucherCumulative:n})}function vN(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;_N({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function yN(e,t){return typeof e==`bigint`?e:Pm(e,t)}function bN(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(xN(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 xN(e,t){gN({cumulativeAmount:e,maxVoucherCumulative:t??null})}function SN(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 CN(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function wN(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>CN({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function TN(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 EN(e){return lN({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 DN(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:cN}}function ON(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=vN({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&dN(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function kN(e,t){return lN({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function AN(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 jN(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 uN(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function MN(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 NN(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 PN(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(_M()),e.waitForCloseReady()))(),a=BigInt(i.spent);wN({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=>TN({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(gM(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Qr();function FN(e){return`cumulativeAmount`in e}function IN(e){if(FN(e))return BigInt(e.cumulativeAmount)}async function LN(e,t){t.opened?await e.store.set(t):await e.store.delete(ZM(t)),e.notifyUpdate(t)}async function RN(e,t,n){let r=IN(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 LN(e,i))}let zN=UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),BN=K({account:Y(UO()),action:Y(OO([`open`,`topUp`,`voucher`,`close`])),channelId:Y(UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(GO()),cumulativeAmountRaw:Y(W()),transaction:Y(zN),descriptor:Y(UO()),additionalDeposit:Y(GO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function VN(e){return e?.action!==void 0}function HN(e){return VN(e)&&e.descriptor!==void 0}function UN(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 Pm(i,t)}function WN(e,t,n,r){let i=UN(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function GN(e){return typeof e==`object`&&!!e}function KN(e){return typeof e==`string`&&Yr(e,{strict:!1})?e:void 0}function qN(e){let t=e.request.methodDetails;return GN(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:KN(t.escrowContract),escrow:KN(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:KN(t.operator),sessionSnapshot:Aw(t,Ow.sessionSnapshot)}:{}}function JN(e,t){if(typeof e==`string`&&Yr(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function YN(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function XN(e){return typeof e==`string`?e:void 0}async function ZN(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=qN(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=UM(t,n),c=JN(t.request.recipient,`recipient`),l=JN(t.request.currency,`currency`);return{amount:YN(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:XM({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:XN(t.request.suggestedDeposit),token:l}}async function QN(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=tN}=e,o=wM({...r,chainId:i.chainId,escrow:i.escrow});$N({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 $N(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(!GM(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!GM(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!GM(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!GM(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function eP(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function tP(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=UN(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function nP(e,t){if(!GM(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||GM(n,t.payer)?!0:GM(BM(e),n)}function rP(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(VN(r)){if(!HN(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=eP({context:r,snapshot:o.snapshot});return!n&&s&&nP(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&nP(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 iP(e,t){switch(e.type){case`open`:return aP(e,t);case`recover`:return oP(e,t);case`voucher`:return sP(e,t);case`manual`:return cP(e,t)}}async function aP(e,t){let{account:n,resolved:r}=e,i=bN({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await JM(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 LN(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function oP(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await QN({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:BM(n),token:o.token}}),l=tP({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`);xN(l,a);let u=await KM(o.client,n,s,l,o.chainId,o.escrow);return await LN(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function sP(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;xN(a,e.maxDeposit);let o=await KM(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await LN(t,r),o}async function cP(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=wM({...o,chainId:a.chainId,escrow:a.escrow});$N({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:BM(n),token:a.token});let c=await lP({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await RN(t,a.key,c),c}async function lP(e){switch(e.context.action){case`open`:return uP(e);case`topUp`:return dP(e);case`voucher`:return fP(e);case`close`:return pP(e)}}async function uP(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=WN(r,i,`cumulativeAmount`,`open`),c=await KM(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 dP(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=WN(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:YM(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function fP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return KM(a.client,t,i,WN(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function pP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return qM(a.client,t,i,WN(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function mP(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=rE({chain:xw,getClient:a,rpcUrl:ik}),u=Nw({account:t}),d=o===void 0?void 0:Pm(o,r),f=n??QM(),p={store:f,notifyUpdate:e=>s?.(e)};return Mw(vk,{canHandleChallenge({challenge:e}){return Aw(e.request.methodDetails,Ow.sessionProtocol)===kw.v2},context:BN,async createCredential({challenge:e,context:t}){let n=await ZN({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=eP({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 WM(e,await iP(rP({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}})}Yf(),R();let hP=I(g_(kf(`mpp`),{as:`Hex`}),0,4);function gP(e){return op(I(g_(kf(e),{as:`Hex`}),0,10))}function _P(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(op(hP),0),i[4]=1,i.set(gP(t),5),n&&i.set(gP(n),15),i.set(vP(r),25),$f(i)}function vP(e){return op(I(g_(kf(e),{as:`Hex`}),0,7))}let yP=[nk.pathUsd,nk.usdc];function bP(e,t){let n=nT.call;return n.length>=2?n(e,t):n(t)}function xP(e,t){let n=Xw.call;return n.length>=2?n(e,t):n(t)}async function SP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!tA(e,i)),c=await Promise.allSettled([Fm(e,bP(e,{account:n,token:i})),...s.map(t=>Fm(e,bP(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 Bw(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[xP(e,{amount:n,spender:KC,token:l}),Fw.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new wP({currency:i})}}function CP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>tA(e,t)))]:t,slippage:e.slippage??1}:!1}var wP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function TP(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 EP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function DP(e){return{name:`MPP`,version:`3`,chainId:e}}function OP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function kP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:DP(n),types:EP,primaryType:`Proof`,message:OP({account:t,challengeId:r,realm:i})}}function AP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let jP=K({account:Y(UO()),autoSwap:Y(UO()),mode:Y(OO(ak))});function MP(e,t){let n=hT.call;return n.length>=2?n(e,t):n(t)}function NP(e={}){let{clientId:t}=e,n=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),r=Nw({account:e.account});return Mw(_k,{context:jP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Zk({challenge:i,payload:{signature:await rg(c,{account:m,...kP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:AP({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:_P({challengeId:i.id,clientId:t,serverId:i.realm}),_=TP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>MP(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=CP(a?.autoSwap??e.autoSwap,yP),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 SP(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 Lh(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Zk({challenge:i,payload:{hash:t,type:`hash`},source:AP({address:y.address,chainId:l})})}let C=await Kd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});return C.gas=(C.gas??0n)+5000n,f?.feePayer&&(C.feePayer=!0),Zk({challenge:i,payload:{signature:await Vh(c,C),type:`transaction`},source:AP({address:y.address,chainId:l})})}})}function PP(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 FP(e){let t=PP(`close-ready`),n=PP(`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 IP={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function LP(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=IP.CLOSED,r=null}if(a.type===`open`&&(i=IP.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 RP(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function zP(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=yN(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 BP(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:kN(o,n)}:i?{channel:n,state:EN({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function VP(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=RP(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:oM(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function HP(e){return e.method===Ew.tempo&&e.intent===Dw.session}function UP(e){return Aw(e.request.methodDetails,Ow.sessionSnapshot)}function WP(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...Ej(r),...Ej(t?.headers),[H.authorization]:n}}}function GP(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 KP(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function qP(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 JP(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(GP(e.input),{method:`POST`,headers:{[H.authorization]:r}});if(!i.ok)throw Error(`Top-up POST failed with status ${i.status}`);let a=i.headers.get(H.paymentReceipt);return a?fM(a):void 0}async function YP(e){let t=XP({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,WP(e.input,e.init,l));return!u.ok&&!u.headers.get(H.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function XP(e){let t=Vk(e.response).find(HP);if(!t)return;let n=UP(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function ZP(e){if(!e.lastUrl)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let t=async t=>{let n=await e.createSessionCredential(t,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:e.signedCloseAmount});return e.fetch(e.lastUrl,{method:`POST`,headers:{[H.authorization]:n}})},n=await t(e.target.challenge);if(n.status===402){let r=Vk(n).find(HP);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await qP(n),t=n.headers.get(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${n.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}let r=n.headers.get(H.paymentReceipt);return r?fM(r):void 0}async function QP(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...Ej(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!pM(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!pM(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return $P({challenge:c,driver:n,input:e,onReceipt:r,response:s,signal:i})}async function*$P(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=mM(t);if(n)switch(n.type){case`message`:yield n.data;break;case`payment-need-voucher`:await eF(e,n.data);break;case`payment-receipt`:e.driver.acceptReceipt(n.data),e.onReceipt?.(n.data);break}}}}finally{t.releaseLock()}}async function eF(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await VP({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await e.driver.createSessionCredential(e.challenge,r.context),a=await e.driver.fetch(e.driver.managementInput(e.input),{method:`POST`,headers:{[H.authorization]:i}});if(!a.ok)throw Error(`Voucher POST failed with status ${a.status}`)}async function tF(e){let t=new URL(e.input.toString()),n=KP(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=Vk(r).find(HP);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 nF(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Jk(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:lM(t)}}function rF(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function iF(e){if(!rF(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 aF(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!rF(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!TN({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function oF(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=nF({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=LP(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===IP.CONNECTING||o.readyState===IP.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 cF({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 sF(o,c.emit,a),o.send(gM(n)),await e.waitForReceipt(),c.socket}function sF(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 cF(e){let t=vM(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`:lF(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 uF(e,t.data);return;case`payment-receipt`:dF(e,t.data);return}}function lF(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=iF({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 uF(e,t){try{let n=await VP({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(gM(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function dF(e,t){let n=aF({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 fF(e){return e.method===Ew.tempo&&e.intent===Dw.charge}function pF(e){if(!fF(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function mF(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 hF(e,t,n){if(!n)return t;let r={...Ej(e instanceof Request?e.headers:void 0),...Ej(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===H.paymentSession.toLowerCase())?t:{...t,headers:{...r,[H.paymentSession]:n}}}function gF(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:Pm(e.maxDeposit,t),WebSocket:n}}function _F(e){let t=gF(e),n=DN(),r=FP({getSocketSession:()=>n.socketSession}),i=e.channelStore??QM(),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=ZM(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(ZM(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(),te(e.previous)}}function d(e){let t=Aw(e.request.methodDetails,Ow.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 dN(n,e)}let p=mP({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=NP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),h=wj({fetch:t.fetch,methods:[p],onChallenge:async(e,t)=>{if(!HP(e))return;let r=o,i=r&&r.challengesReceived>0&&e.id===n.lastChallenge?.id;if(d(e)||(r?.created.size?await u():i&&te(r.previous)),r&&r.challengesReceived++,n.lastChallenge=e,f({type:`challengeReceived`,challengeId:e.id}),n.channel?.opened&&n.lastUrl){let t=n.channel.cumulativeAmount+lM(e);await T({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){ON({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(H.paymentSessionSnapshot);if(!t)return;let n=mF(sN(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:{...Ej(a),...Ej(i?.headers),[H.acceptPayment]:`${Ew.tempo}/${Dw.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await y(e);let n=Vk(e).find(fF);if(!n||!pF(n))return;let r=await m.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...Ej(u.headers),[H.authorization]:r}});return i.ok?await y(i):void 0}catch{return}}function x(e,t){let r=n.socketSession;return AN({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){gN({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function w(e){let r=await JP({...e,channel:n.channel,createSessionCredential:g,fetch:t.fetch});_(r);let i=BP({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 T(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 ee(e,t){let r=jN({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 te(e){let t=NN(e,n.channel);n.channel=t.channel,n.spent=t.spent,n.state=t.state}function ne(e){let t=e.headers.get(H.paymentReceipt),r=t?fM(t):null;return _(r),Object.assign(e,{receipt:r,challenge:n.lastChallenge,channelId:n.channel?.channelId??null,cumulative:n.channel?.cumulativeAmount??0n})}async function re(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=MN({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=hF(e,r,s),c=!i.channel?.opened;async function u(){let t=a.resumed;return!c||!t?!1:(c=!1,await l(t),o=hF(e,r,void 0),!0)}for(;;){let r;try{r=await h(e,o)}catch(e){if(te(i),await u())continue;throw e}let a=ne(r),s=!1;if(a.status===402){let r=await YP({input:e,init:o,response:a,createSessionCredential:g,fetch:t.fetch,getChannel:()=>n.channel,restoreCumulative:ee,setChallenge(e){n.lastChallenge=e},topUpIfNeeded:T});r&&(s=!0,a=ne(r))}if(!s&&!a.ok&&!a.receipt){if(te(i),await u())continue;return a}return a}}finally{o=void 0}}async function ie(e){let r=await ZP({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:re,async topUp(e){let r=zP({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 QP(e,r,{createSessionCredential:g,doFetch:re,fetch:t.fetch,getChannel:()=>n.channel,getChallenge:()=>n.lastChallenge,assertVoucherWithinLocalLimit:C,managementInput:GP,acceptReceipt(e){_(e)},topUpIfNeeded:T})},async ws(e,i){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let a=KP(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 tF({createSessionCredential:g,fetch:t.fetch,input:e,onProbeUrl(e){n.lastUrl=e.toString()},probeInit:hF(a,o,s),signal:i?.signal});return n.lastChallenge=c,oF({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:T,waitForReceipt:r.waitForReceipt})},async close(){let e=n.socketSession,t=SN({channel:n.channel,currentSocket:e,lastChallenge:n.lastChallenge});if(!t)return;let i=e?.socket;if(e&&i?.readyState===IP.OPEN){let a=await PN({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 ie(t)}}}(function(e){e.serializeSnapshot=oN,e.deserializeSnapshot=sN})(_F||={}),Qr(),mi();let vF=(1n<<64n)-1n,yF={dev_second:1n,day:86400n,week:604800n};function bF(e){return e instanceof Date?e:new Date(e)}function xF(e){let t=e.getTime();if(!Number.isFinite(t))throw new Z({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new Z({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new Z({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function SF(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new Z({reason:`periodCount is invalid`});let t=yF[e.periodUnit];if(t===void 0)throw new Z({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>vF)throw new Z({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new Z({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function CF(e){let{challengeExpires:t,request:n}=e;SF(n);let r=xF(bF(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new Z({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function wF(e){return[{address:IF(e.currency,`currency`),selector:`0x95777d59`,recipients:[IF(e.recipient,`recipient`)]}]}async function TF(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=DF({accessKey:t,chainId:r,request:i});return rx(a,{signature:qb(await n.sign({hash:ox(a)}))})}function EF(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new Z({reason:`invalid keyAuthorization payload`});let a=OF(r.signature),o=kF(a);return AF({accessKey:t,authorization:a,chainId:n}),jF(a,i),NF(MF(a),i),PF(a.scopes,i),{authorization:a,source:{address:FF(a,o),chainId:n}}}function DF(e){let{accessKey:t,chainId:n,request:r}=e;return rx({address:IF(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:xF(bF(r.subscriptionExpires)),limits:[{token:IF(r.currency,`currency`),limit:BigInt(r.amount),period:SF(r)}],scopes:wF(r),type:t.keyType})}function OF(e){try{return sx(e)}catch{throw new Z({reason:`invalid keyAuthorization payload`})}}function kF(e){let t=e.signature;if(!t||t.type===`keychain`)throw new Z({reason:`keyAuthorization must use a primitive signature`});return t}function AF(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new Z({reason:`keyAuthorization chainId mismatch`});if(t){if(!pi(n.address,IF(t.accessKeyAddress,`accessKeyAddress`)))throw new Z({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new Z({reason:`keyAuthorization key type mismatch`})}}function jF(e,t){if(CF({request:t}),e.expiry!==xF(bF(t.subscriptionExpires)))throw new Z({reason:`keyAuthorization expiry mismatch`})}function MF(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new Z({reason:`keyAuthorization must contain exactly one token limit`});return t}function NF(e,t){if(!pi(e.token,IF(t.currency,`currency`)))throw new Z({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new Z({reason:`keyAuthorization amount mismatch`});if(e.period!==SF(t))throw new Z({reason:`keyAuthorization period mismatch`})}function PF(e,t){if(!e||e.length!==1)throw new Z({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=IF(t.currency,`currency`),r=IF(t.recipient,`recipient`),i=new Set;for(let t of e){if(!pi(t.address,n))throw new Z({reason:`keyAuthorization call target mismatch`});let e=LF(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new Z({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new Z({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!pi(t.recipients[0],r))throw new Z({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new Z({reason:`keyAuthorization must allow transferWithMemo`})}function FF(e,t){let n=ox(e);try{let e=Wb({payload:n,signature:t});if(!$b(t,{address:e,payload:n}))throw new Z({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof Z?e:new Z({reason:`keyAuthorization signature is invalid`})}}function IF(e,t){if(!Yr(e))throw new Z({reason:`${t} must be an address`});return e.toLowerCase()}function LF(e){return typeof e==`string`?e.toLowerCase():``}R(),mi();let RF=K({accessKey:Y(UO()),account:Y(UO())});function zF(e={}){let t=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),n=Nw({account:e.account});return Mw(yk,{context:RF,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??tk.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.\");VF(r.request),await e.validateRequest?.(r.request);let l=await BF(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!pi(EF({accessKey:c,chainId:a,payload:{signature:lx(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Zk({challenge:r,payload:{signature:lx(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function BF(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await TF({accessKey:n,account:r,chainId:i,request:a})||ix((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:xF(bF(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:SF(a)}],scopes:wF(a)}]})).keyAuthorization)}function VF(e){SF(e),xF(bF(e.subscriptionExpires))}let HF=Object.assign(mP,{manager:_F}),UF=Object.assign(SM,{method:fA});function WF(e={}){return[NP(e),HF(e)]}(function(e){e.charge=NP,e.common=WF,e.session=HF,e.sessionLegacy=UF,e.subscription=zF})(WF||={});function GF(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=xj()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=hA(c,e.paymentPreferences),u=Dj(),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=wj(f);i&&Tj(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=tI(l.entries,n?.acceptPayment),s,d;try{let o=(await nI(vA(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&&pA(s.expires,s.id);let f=KF(e=>rI(l,d,e??t)),p=await u.emit(`challenge.received`,qF({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return Yj(p),await u.emit(`credential.created`,JF({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,YF({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function KF(e){let t;return n=>(t??=e(n),t)}function qF(e){return Object.freeze({challenge:QF(e.challenge),challenges:e.challenges.map(e=>QF(e)),createCredential:e.createCredential,method:XF(e.method),response:ZF(e.response)})}function JF(e){return Object.freeze({challenge:QF(e.challenge),credential:e.credential,method:XF(e.method),response:ZF(e.response)})}function YF(e){return Object.freeze({...e.challenge?{challenge:QF(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>QF(e))}:{},error:e.error,...e.method?{method:XF(e.method)}:{},response:ZF(e.response)})}function XF(e){return eI(Object.assign({},e))}function ZF(e){return e instanceof Response?e.clone():QF(e)}function QF(e){try{return $F(structuredClone(e))}catch{return eI(e)}}function $F(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))$F(t);return e}function eI(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function tI(e,t){return t?typeof t==`string`?gA(t):t:e}async function nI(e,t){return t?t(e):e}async function rI(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 iI(e){let{scheme:t,statement:n,...r}=e.match(aI)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(oI)?.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 aI=/^(?:(?<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)?/,oI=/(?: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>.+))?/;Js();let sI={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 cI(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function lI(e){let t=e.details??e.shortMessage??e.message,n=uI(e);if(n)try{let e=qs({abi:GS,data:n}),r=sI[e.errorName];return{...e,data:n,message:r?cI(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in sI?{errorName:`unknown`,message:sI[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function uI(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 uI(t.cause);if(t.error)return uI(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return uI(e)}return null}function dI(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 KS({extractable:t}),n=T_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!fI(n.keyPair.privateKey))throw new pI(\"`webCryptoP256` key material did not survive storage.\");return IC(n.keyPair,r)}if(n.jwk)return IC({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new pI(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:C_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function fI(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey?!0:!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var pI=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function mI(e){return e instanceof pI?!0:e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let hI={p256:dI()};R(),D();let gI={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},_I=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function vI(e){return{add:t=>DI({...t,store:e}),authorize:t=>bI({...t,store:e}),clear:()=>jI({store:e}),get:t=>TI({...t,store:e}),prepareAuthorization:t=>yI({...t,keystores:e.keystores}),getStatus:t=>CI({...t,store:e}),list:t=>qI({...t,store:e}),remove:t=>AI({...t,store:e}),select:t=>wI({...t,store:e}),updateAuthorization:t=>kI({...t,store:e})}}async function yI(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:rx({address:(()=>{switch(e){case`secp256k1`:return PC(s);case`p256`:return NC(s);case`webAuthn`:throw new NT({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:rx({address:t??F_(x_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??hI,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new NT({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=rx({address:F_(C_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function bI(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await yI({...r,chainId:r.chainId??n,keystores:i.keystores}),o=ox(a.keyAuthorization),s=await t.sign({hash:o}),c=rx(a.keyAuthorization,{signature:qb(s)});return DI({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),ux(c)}async function xI(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=qI({account:t,chainId:r,store:a});for(let e of s)if(!GI(e.expiry,o)&&FI(e,i)&&!(n&&!NI(e,{calls:n}))&&await WI(e,a))return!0;return!1}function SI(e){return PI(e.parameters.scopes,{calls:e.calls})}async function CI(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=qI({account:n,accessKey:t,chainId:i,store:o}).find(e=>NI(e,{calls:r}));if(c){if(GI(c.expiry,s))return gI.expired;if(c.keyAuthorization){let e=await KI(a,{accessKey:c.address,account:n,now:s}).catch(()=>gI.pending);return e===gI.published&&OI({accessKey:c.address,account:n,chainId:i,store:o}),e===gI.published?gI.published:gI.pending}return await KI(a,{accessKey:c.address,account:n,now:s})}return t?await KI(a,{accessKey:t,account:n,now:s}):gI.missing}async function wI(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=qI({account:t,chainId:r,store:i});for(let e of o){if(!NI(e,{calls:n}))continue;if(GI(e.expiry,a)){await AI({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await WI(e,i);if(t)return t}}async function TI(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=qI({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(GI(o.expiry,a)){await AI({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await WI(o,i)}}function EI(e){return yT({source:{get(t){return qI({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){OI({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){kI({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function DI(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=>!YI(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function OI(e){let{store:t,...n}=e;JI({...n,patch:{keyAuthorization:void 0},store:t})}function kI(e){let{authorization:t,store:n,...r}=e;JI({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function AI(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!YI(e,n))}))}function jI(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function MI(e){return e instanceof E&&e.walk(e=>{let t=e.data?.errorName;return!!t&&_I.has(t)})?!0:e instanceof Error?_I.has(lI(e).errorName):!1}function NI(e,t){return PI(e.scopes,t)}function PI(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(!HI(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return e.recipients?e.recipients.length===0:!0;let a=zI(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return L_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function FI(e,t){return!(!II(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!VI(e.limits,t.reuse?.minLimits))}function II(e,t){return!t||!e?!0:t.every(t=>e.some(e=>LI(e,t)))}function LI(e,t){return!HI(e)||!HI(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!RI(e.selector,t.selector)?!1:BI(e.recipients,t.recipients)}function RI(e,t){if(!e)return!0;if(!t)return!1;let n=zI(e),r=zI(t);return!!n&&n===r}function zI(e){try{return(e.startsWith(`0x`)&&e.length===10?e:bk(e)).toLowerCase()}catch{return}}function BI(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function VI(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 HI(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!L_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!L_(e))))}let UI=new WeakMap;async function WI(e,t){let n=EI(t);if(`keyPair`in e&&e.keyPair)return IC(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return PC(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return NC(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=UI.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),UI.set(e,i));try{return await i}catch(n){UI.delete(e),mI(n)&&AI({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function GI(e,t){return typeof e==`number`&&e<t}async function KI(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await ow(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?gI.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?gI.expired:gI.published}catch(e){if(MI(e))return gI.missing;throw e}}function qI(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>YI(e,n))}function JI(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!YI(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 YI(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 XI(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 ZI(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 RT({message:`Account \"${t}\" not found.`}):new BT({message:`No active account.`});return QI(s,{signable:n})}function QI(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 RT({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return PC(e.privateKey);case`p256`:return NC(e.privateKey);case`webCrypto`:return IC(e.keyPair);case`webAuthn`:return FC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return MC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new RT({message:`Unknown key type.`})}}function $I(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let eL=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function tL(e){return e}function nL(e,t={}){let{targetOrigin:n}=t,r=new Map;return tL({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(aL({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function rL(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=iL();t.on(`ready`,e=>a.resolve(e??{}));let o=tL({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 iL(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function aL(e){if(Array.isArray(e))return e.map(aL);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]=aL(r);return t}function oL(e,t,n){return n&&sL(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function sL(e,t){return cL(e)===cL(t)}function cL(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function lL(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 uL={height:600,width:404};function dL(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function fL(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function pL(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let mL;function hL(){return typeof window>`u`?_L():dL({name:`iframe`},e=>{let{host:t}=e;if(mL&&mL.host===t)return mL.refs.store=e.store,mL.refs.fallback.destroy(),mL.refs.fallback=gL()(e),mL.instance.syncTheme(e.theme),mL.instance;mL?.instance.destroy();let n={fallback:gL()(e),store:e.store},r=!1,i=yL(),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))),lL(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],f=!1;function p(){e.onReject(d.map(e=>e.request.id))}function m(){l=void 0;let t=rL({from:nL(window,{targetOrigin:a.origin}),to:nL(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),vL(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{T(),x(),r=!1,f=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let h=m();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),h.destroy(),h=m();return}}).observe(document.body,{childList:!0});let g=``,_=null,v=()=>p(),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});y.observe(o,{attributeOldValue:!0,attributes:!0});let b=!1,x=()=>{b&&(b=!1,o.removeEventListener(`cancel`,v),o.removeEventListener(`click`,v),o.style.pointerEvents=`none`,_?.focus(),_=null,document.body.style.overflow=g)},S=()=>{b||(b=!0,o.addEventListener(`cancel`,v),o.addEventListener(`click`,v),s.focus(),o.style.pointerEvents=`auto`,g=document.body.style.overflow,document.body.style.overflow=`hidden`)},C=!1,w=()=>{C||(C=!0,document.activeElement instanceof HTMLElement&&(_=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},T=()=>{if(C){C=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ee={close(){n.fallback.close(),r=!1,T(),x()},destroy(){mL?.instance===ee&&(mL=void 0),n.fallback.close(),r=!1,x(),T(),n.fallback.destroy(),h.destroy(),o.remove(),y.disconnect()},open(){r||(r=!0,w(),S())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,f){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await h.waitForReady();if(pL()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=eL(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&oL(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),h.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,h.send(`theme`,e??{})}};return mL={host:t,instance:ee,refs:n},ee})}function gL(e={}){if(typeof window>`u`)return _L();let{size:t=uL}=e;return dL({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=yL(),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))),lL(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=rL({from:nL(window,{targetOrigin:o.origin}),to:nL(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 _L(){return dL({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function vL(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function yL(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}let bL=new Map;function xL(e,t){let n=wL(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>EL(e,t),onResponse:t=>DL(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 OL(e),()=>{n.attachments.delete(r),TL(e)}}function SL(e,t){let n=wL(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}),OL(e)})}function CL(e){return new URL(e).host}function wL(e){let t=CL(e),n=bL.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:eE(),requestQueue:[],synced:!1};return bL.set(t,r),r}function TL(e){let t=wL(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function EL(e,t){if(t.length===0)return;let n=wL(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 LT);OL(e,{force:!0})}}function DL(e,t){let n=wL(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(QT(t.error)):r.resolve(t.result),OL(e,{force:!0}))}function OL(e,t={}){let n=wL(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,TL(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:[kL(a)]}))}function kL(e){return{request:e.request,status:e.status}}function AL(e){return e}function jL(e){return e}R();let Q=()=>VO([`0x`,W().check(eO(/^[0-9a-fA-F]{40}$/))],`Expected address`),ML=()=>RO(q([$(),uO()]),uO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>F(e)}),$=()=>VO([`0x`,W()],`Expected hex value`),NL=()=>RO(q([$(),oO()]),oO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:sp(e),encode:e=>F(e)});R();let PL=K({address:Q(),blockHash:$(),blockNumber:ML(),data:$(),logIndex:NL(),removed:cO(),topics:X(G($())),transactionHash:$(),transactionIndex:NL()}),FL=K({blobGasPrice:Y(ML()),blobGasUsed:Y(ML()),blockHash:$(),blockNumber:ML(),contractAddress:PO(Q()),cumulativeGasUsed:ML(),effectiveGasPrice:ML(),feePayer:Y(Q()),feeToken:Y(Q()),from:Q(),gasUsed:ML(),logs:G(PL),logsBloom:$(),root:Y($()),status:RO($(),OO([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:PO(Q()),transactionHash:$(),transactionIndex:NL(),type:$()}),IL=UO(),LL=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),RL=RO(K({allowedCalls:Y(X(G(K({target:Q(),selectorRules:Y(X(G(K({selector:$(),recipients:Y(X(G(Q())))}))))})))),address:Y(Q()),chainId:ML(),expiry:q([NL(),mO(),fO()]),keyId:Q(),keyType:LL,limits:Y(X(G(K({token:Q(),limit:ML(),period:Y(NL())})))),signature:IL}),UO(),{decode(e){return ix({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=ux(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:sp(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:sp(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}:{}}))}:{}}))}:{}}}}),zL=K({data:Y($()),to:Y(Q()),value:Y(ML())}),BL=K({accessList:Y(G(K({address:Q(),storageKeys:G($())}))),calls:Y(X(G(zL))),chainId:Y(NL()),data:Y($()),feePayer:Y(q([cO(),W()])),feePayerSignature:Y(EO(W(),gO())),feeToken:Y(Q()),from:Y(Q()),gas:Y(ML()),keyAuthorization:Y(RL),keyData:Y($()),keyId:Y(Q()),keyType:Y(LL),maxFeePerGas:Y(ML()),maxPriorityFeePerGas:Y(ML()),nonce:Y(NL()),nonceKey:Y(ML()),to:Y(Q()),validAfter:Y(NL()),validBefore:Y(NL()),value:Y(ML())});var VL;(function(e){e.schema=AL({method:J(`eth_accounts`),params:void 0,returns:X(G(Q()))})})(VL||={});var HL;(function(e){e.schema=AL({method:J(`eth_chainId`),params:void 0,returns:$()})})(HL||={});var UL;(function(e){e.schema=AL({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Q()))})})(UL||={});var WL;(function(e){e.schema=AL({method:J(`eth_sendTransaction`),params:X(wO([BL])),returns:$()})})(WL||={});var GL;(function(e){let t=K({address:Q(),decimals:oO(),direction:OO([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Q())),symbol:W(),value:$()}),n=K({decimals:oO(),formatted:W(),name:W(),symbol:W(),token:Q(),value:$()});e.schema=AL({method:J(`eth_fillTransaction`),params:X(wO([BL])),returns:K({capabilities:K({balanceDiffs:Y(EO(Q(),X(G(t)))),error:Y(K({abiItem:Y(EO(W(),gO())),data:Y($()),errorName:W(),message:W()})),fee:Y(K({amount:$(),decimals:oO(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:$(),decimals:oO(),formatted:W(),token:Q(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:oO()})),sponsor:Y(K({address:Q(),name:Y(W()),url:Y(W())})),sponsored:cO()}),tx:EO(W(),gO())})})})(GL||={});var KL;(function(e){e.schema=AL({method:J(`eth_signTransaction`),params:X(wO([BL])),returns:$()})})(KL||={});var qL;(function(e){e.schema=AL({method:J(`eth_sendTransactionSync`),params:X(wO([BL])),returns:FL})})(qL||={});var JL;(function(e){e.schema=AL({method:J(`eth_signTypedData_v4`),params:X(wO([Q(),W()])),returns:$()})})(JL||={});var YL;(function(e){e.schema=AL({method:J(`personal_sign`),params:X(wO([$(),Q()])),returns:$()})})(YL||={});let XL=Y(K({feePayer:Y(q([cO(),W()])),sync:Y(cO())}));var ZL;(function(e){e.schema=AL({method:J(`wallet_sendCalls`),params:Y(X(wO([K({atomicRequired:Y(cO()),calls:X(G(zL)),capabilities:XL,chainId:Y(NL()),from:Y(Q()),version:Y(W())})]))),returns:K({atomic:Y(cO()),capabilities:XL,chainId:Y(NL()),id:W(),receipts:Y(G(FL)),status:Y(oO()),version:Y(W())})})})(ZL||={});var QL;(function(e){e.schema=AL({method:J(`wallet_getBalances`),params:Y(X(wO([K({account:Y(Q()),chainId:Y(NL()),tokens:Y(X(G(Q())))})]))),returns:X(G(K({address:Q(),balance:ML(),decimals:oO(),display:W(),name:W(),symbol:W()})))})})(QL||={});var $L;(function(e){e.schema=AL({method:J(`wallet_getCapabilities`),params:Y(X(q([wO([Q()]),wO([Q(),X(G($()))])]))),returns:EO($(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})($L||={});var eR;(function(e){e.showDeposit=Y(q([cO(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Q(),W()]))})])),e.parameters=K({address:Y(Q()),chainId:Y(ML()),expiry:oO(),keyType:Y(LL),limits:Y(X(G(K({token:Q(),limit:ML(),period:Y(oO())})))),publicKey:Y($()),scopes:Y(X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:RL,rootAddress:Q()}),e.schema=AL({method:J(`wallet_authorizeAccessKey`),params:X(wO([e.parameters])),returns:e.returns})})(eR||={});var tR;(function(e){e.parameters=K({address:Y(Q()),expiry:oO(),keyType:Y(LL),limits:X(G(K({token:Q(),limit:ML(),period:Y(oO())})).check($D(1))),publicKey:Y($()),scopes:X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})).check($D(1))),showDeposit:eR.showDeposit})})(tR||={});var nR;(function(e){e.schema=AL({method:J(`wallet_revokeAccessKey`),params:X(wO([K({address:Q(),accessKeyAddress:Q()})])),returns:void 0})})(nR||={});var rR;(function(e){e.parameters=K({address:Q(),accessKeyAddress:Q(),chainId:Y(ML()),limits:X(G(K({token:Q(),limit:ML()})).check($D(1)))}),e.schema=AL({method:J(`wallet_updateAccessKey`),params:X(wO([e.parameters])),returns:void 0})})(rR||={});var iR;(function(e){e.authorizeAccessKey=Y(yO(eR.parameters,{showDeposit:!0})),e.showDeposit=Y(q([cO(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Q(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),returnToken:Y(cO())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([cO(),K({nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y($()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y($()),credentialId:Y(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(cO()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(PO(W())),idToken:Y(W())})),keyAuthorization:Y(RL),personalSign:Y(K({message:W(),keyAuthorization:Y($())})),signature:Y($()),username:Y(PO(W())),auth:Y(K({token:Y(W())}))})},e.schema=AL({method:J(`wallet_connect`),params:Y(X(wO([K({capabilities:e.capabilities.request,chainId:Y(NL()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Q(),capabilities:e.capabilities.result})))})})})(iR||={});var aR;(function(e){let t=Y(yO(tR.parameters,{showDeposit:!0})),n=iR.auth,r=iR.identity,i=iR.personalSign,a=iR.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y($()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y($()),credentialId:Y(W()),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(cO()),showDeposit:a})])),chainId:Y(NL()),version:Y(W())})})(aR||={});var oR;(function(e){e.schema=AL({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(oR||={});var sR;(function(e){e.schema=AL({method:J(`wallet_getCallsStatus`),params:Y(X(wO([W()]))),returns:K({atomic:cO(),chainId:NL(),id:W(),receipts:Y(G(FL)),status:oO(),version:W()})})})(sR||={});var cR;(function(e){e.parameters=SO(`editable`,[K({amount:W(),chainId:Y(NL()),editable:Y(J(!1)),feePayer:Y(q([cO(),W()])),from:Y(Q()),memo:Y(W()),to:Q(),token:q([Q(),W()])}),K({amount:Y(W()),chainId:Y(NL()),editable:J(!0),feePayer:Y(q([cO(),W()])),memo:Y(W()),to:Y(Q()),token:Y(q([Q(),W()]))})]),e.schema=AL({method:J(`wallet_transfer`),params:Y(X(wO([e.parameters]))),returns:K({chainId:NL(),receipt:FL})})})(cR||={});let lR=K({amount:Y(W()),pairToken:Y(Q()),slippage:Y(oO().check(ZD(0),XD(1))),token:Y(Q()),type:Y(q([J(`buy`),J(`sell`)]))});var uR;(function(e){e.schema=AL({method:J(`wallet_swap`),params:Y(X(wO([lR]))),returns:K({receipt:FL})})})(uR||={});var dR;(function(e){e.schema=AL({method:J(`wallet_switchEthereumChain`),params:X(wO([K({chainId:NL()})])),returns:void 0})})(dR||={});var fR;(function(e){e.schema=AL({method:J(`wallet_deposit`),params:Y(X(wO([K({address:Y(Q()),amount:Y(W()),chainId:Y(NL()),displayName:Y(W()),intent:Y(q([J(`applePay`),J(`credits`),J(`crypto`),J(`faucet`),J(`referralCode`),J(`x`)])),token:Y(q([Q(),W()]))})]))),returns:Y(K({receipts:Y(X(G(FL)))}))})})(fR||={});var pR;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([cO(),W()])),token:Y(Q()),zoneId:Y(NL())}),e.schema=AL({method:J(`wallet_depositZone`),params:Y(X(wO([e.parameters]))),returns:K({receipt:FL})})})(pR||={});var mR;(function(e){e.parameters=K({amount:Y(W()),token:Y(Q()),zoneId:Y(NL())}),e.schema=AL({method:J(`wallet_withdrawZone`),params:Y(X(wO([e.parameters]))),returns:K({receipt:FL})})})(mR||={}),tR.parameters,aR.parameters;let hR=jL([VL.schema,HL.schema,GL.schema,UL.schema,WL.schema,qL.schema,KL.schema,JL.schema,YL.schema,eR.schema,iR.schema,fR.schema,pR.schema,oR.schema,QL.schema,sR.schema,$L.schema,nR.schema,rR.schema,cR.schema,ZL.schema,uR.schema,dR.schema,mR.schema]),gR=xk();function _R(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let vR=SO(`method`,hR.map(_R));R();function yR(e={}){let{dialog:t=fL()?gL():hL(),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.`),$I({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=xL(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=ZT({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):SL(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:gR});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:[UE(cR.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[UE(pR.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[UE(mR.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:mg(s)}}}})}let bR=new Map,xR=new WeakMap;function SR(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return wR(r);if(r?.url)return wR(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 bR;let e=xR.get(d);return e||(e=new Map,xR.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Tg(),r=i?CR(i,t):t;p=_({chain:e,transport:s?TR(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function CR(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function wR(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function TR(e,t,n){return r=>{let i=e(r),a=Tg(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=DC(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 ER=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function DR(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 OR({account:o,address:t,chainId:r,client:i,store:a})}function OR(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{return await AR(i,await Kd(i,{account:t,...e,parameters:[],type:`tempo`}))}catch(e){throw jR(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{return kR({account:t,address:n,chainId:r,client:i,request:await Kd(i,{account:t,...e,type:`tempo`}),store:a})}catch(e){throw jR(e,{account:t,address:n,chainId:r,store:a}),e}}}}function kR(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 jR(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 jR(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 jR(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function AR(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 jR(e,t){MR(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function MR(e){if(!(e instanceof Error))return!1;let t=lI(e);if(ER.has(t.errorName))return!0;let n=NR(e);return[...ER].some(e=>n.includes(e))}function NR(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:``,NR(r)].join(`\n`)}function PR(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(PR.cache.get(n))return PR.cache.get(n);let r=e().finally(()=>PR.cache.delete(n));return PR.cache.set(n,r),r}PR.cache=new Map;function FR(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function IR(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=FR(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let LR;function RR(){return LR||=IR(`keyval-store`,`keyval`),LR}function zR(e,t=RR()){return t(`readonly`,t=>FR(t.get(e)))}function BR(e,t,n=RR()){return n(`readwrite`,n=>(n.put(t,e),FR(n.transaction)))}function VR(e,t=RR()){return t(`readwrite`,t=>(t.delete(e),FR(t.transaction)))}let HR=Symbol.for(`accounts.storage.supportsStructuredClone`);function UR(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 WR(e)?GR(r):r}function WR(e){return e[HR]===!0}function GR(e){return Object.assign(e,{[HR]:!0})}function KR(e={}){let t=typeof indexedDB<`u`?IR(`tempo`,`store`):void 0;return GR(UR({async getItem(e){let n=await zR(e,t);return n===null?null:n},async setItem(e,n){await BR(e,n,t)},async removeItem(e){await VR(e,t)}},e))}function qR(e={}){let t=new Map;return GR(UR({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let JR=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 YR(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 XR=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return XR(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return XR(t)(e)}}}},ZR=(e,t)=>(n,r,i)=>{let a={storage:YR(()=>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 XR(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},QR=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},$R=(e=>e?QR(e):QR),ez=Symbol.for(`accounts.storage.supportsStructuredClone`);function tz(e){let{chainId:t,keystores:n=hI,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?KR({key:`tempo`}):qR({key:`tempo`})}=e,s=$R(JR(ZR(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>rz(e,t,{schema:a}),name:`store`,partialize:e=>nz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:cz(o)}),storage:o,version:0}))),c=s;return c.accessKeys=vI({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function nz(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=>oz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function rz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(az):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>VE(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:iz(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function iz(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 az(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function oz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&sz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function sz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function cz(e){return e[ez]===!0}async function lz(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let uz=new Map;async function dz(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=uz.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 uz.set(r,a),a.then(e=>{e.length===0&&uz.delete(r)}),a}async function fz(e){let{symbol:t,...n}=e,r=await dz(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function pz(e,t){let n=VE(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new zT({message:`Unsupported method \"${t?.method}\".`}):new IT(-32602,`Invalid params: ${mz(n.error.issues)}`)}return{...t,_decoded:n.data}}function mz(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?mz([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Cf();let hz=new Set;function gz(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function _z(e={}){let{adapter:t=yR(),chains:n=[xw,ww,Sw],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?KR():qR()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Tg(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),f=(()=>{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}})(),p=tz({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}),m=(e={})=>ZI({...e,store:p}),h;function g(e={}){let{chainId:t,feePayer:r}=e;return SR(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:f?.precedence}})(),store:p,transports:u})}let _=t({getAccount:m,getClient:g,storage:s,store:p}),{actions:v}=_,y=e.accessKey?.keystores??_.accessKey?.keystores;Object.assign(l,y??hI);let b=XT();p.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>b.emit(`accountsChanged`,p.getState().accounts.map(e=>e.address))),p.subscribe(e=>e.chainId,e=>b.emit(`chainChanged`,F(e))),p.subscribe(e=>e.accounts.length>0,e=>{e?b.emit(`connect`,{chainId:F(p.getState().chainId)}):b.emit(`disconnect`,new BT)});function x(){if(p.getState().accounts.length===0)throw new BT({message:`No accounts connected.`})}function S(){let{accounts:e,activeAccount:t}=p.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 C(e){throw new zT({message:`\\`${e}\\` not supported by adapter.`})}async function w(e={}){return _.getAccount||C(`getAccount`),await _.getAccount(e)}function T(e){let t=g({chainId:e.chainId,feePayer:e.feePayer});return sg({account:e.account,chain:t.chain,transport:e.transport??mg({request:t.request})})}async function ee(e){let{feePayer:t,...n}=e,r=await w({address:e.from}),i=T({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 Kd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(e){{let t=p.getState(),n=e.chainId??t.chainId,r=g({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 DR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 Vh(t,n):await r.account.signTransaction(n)}async function ne(e){{let t=p.getState(),n=e.chainId??t.chainId,r=g({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 DR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 w({address:e.from});return await Mm(T({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=p.getState(),n=e.chainId??t.chainId,r=g({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 DR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 w({address:e.from}),i=T({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};return r.account.type===`json-rpc`?await i.request({method:`eth_sendTransactionSync`,params:[UE(BL,a)]}):UE(FL,await _h(i,{account:r.account,...a}))}async function ie(e){let t=await w({address:e.address}),n=T({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:Dg({raw:e.data})})}async function E(e){let t=JSON.parse(e.data),n=await w({address:e.address}),r=T({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:Gh(t)})}async function D(e){let t=await w(),n=e.chainId??g().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await p.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await ae(e,Number(n)),i=await T({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[UE(eR.parameters,r.parameters)]});return await se({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function ae(e,t){let n=e.chainId??t??g().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await yI({...e,chainId:n});return{parameters:oe(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!y&&!gz())return{parameters:e};let{key:r,keyAuthorization:i}=await yI({...e,chainId:n,keystores:l});if(!r)throw new PT({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...oe(e,i),publicKey:r.publicKey}}}function oe(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function se(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&p.accessKeys.add({account:n,authorization:ix(r),...o})}async function ce(e){let t=await w({address:e.address}),n=T({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await uw(g(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!MI(e))throw e}p.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:p.getState().chainId})}async function le(e){let t=await w({address:e.address}),n=Number(e.chainId??g().chain.id);if(t.account.type===`json-rpc`){await T({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[UE(rR.parameters,e)]});return}let r=e.limits.map(t=>dw.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await _h(g({chainId:n}),{account:t.account,calls:r})}async function ue(e,t){if(v.signTransaction)return await v.signTransaction(e,t);if(_.getAccount)return await te(e);C(`signTransaction`)}async function de(e,t){if(v.sendTransaction)return await v.sendTransaction(e,t);if(_.getAccount)return await ne(e);C(`sendTransaction`)}async function fe(e,t){if(v.sendTransactionSync)return await v.sendTransactionSync(e,t);if(_.getAccount)return await re(e);C(`sendTransactionSync`)}async function pe(e,t){if(v.signPersonalMessage)return await v.signPersonalMessage(e,t);if(_.getAccount)return await ie(e);C(`signPersonalMessage`)}async function me(e,t){if(v.signTypedData)return await v.signTypedData(e,t);if(_.getAccount)return await E(e);C(`signTypedData`)}async function he(e,t){if(v.authorizeAccessKey)return await v.authorizeAccessKey(e,t);if(_.getAccount)return await D(e);C(`authorizeAccessKey`)}async function ge(e,t){if(v.revokeAccessKey)return await v.revokeAccessKey(e,t);if(_.getAccount)return await ce(e);C(`revokeAccessKey`)}async function _e(e,t){if(v.updateAccessKey)return await v.updateAccessKey(e,t);if(_.getAccount)return await le(e);C(`updateAccessKey`)}function ve(e){if(!_.persistAccounts)return e;let t=[...e];for(let e of p.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function ye(e){if(e===!1)return!1;let t=typeof e==`string`?e:f?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function be(e){let{reuse:t,...n}=e;return n}function xe(){return typeof c==`function`?c():c}async function Se(e){let t=xe();if(!t)return;let n=Ce(e.capabilities);if(!(n&&await xI({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:p}})))return be(t)}function Ce(e){let t=p.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function we(e){let t=xe();if(!t||await p.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!SI({parameters:t,calls:e.calls}))return;let n=be(t);await he(n,{method:`wallet_authorizeAccessKey`,params:[UE(eR.parameters,n)]})}let Te=Object.assign(ZT({...b,async request({method:t,params:r}){return await lz(p),PR(async()=>{let i;try{i=pz(vR,{method:t,params:r})}catch(e){if(!(e instanceof zT))throw e;return await SR(void 0,{chains:n,store:p,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return S();case`eth_chainId`:return F(p.getState().chainId);case`eth_requestAccounts`:{let e=S();if(e.length>0)return e;let{accounts:t}=await v.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return p.setState({accounts:ve(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{x();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=p.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await we({address:c,...a?{calls:a}:{},chainId:s}),await de({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=ye(t.feePayer),r=g({chainId:t.chainId,feePayer:n}),a=p.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??XI(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 DR({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:p});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{x();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=p.getState();return await ue({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_sendTransactionSync`:{x();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=p.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await we({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_signTypedData_v4`:{x();let[e,t]=i._decoded.params;return await me({address:e,data:t},i)}case`personal_sign`:{x();let[e,t]=i._decoded.params;return await pe({address:t,data:e},i)}case`wallet_sendCalls`:try{x();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=ye(t?.feePayer??(f?!0:void 0)),s=p.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await we({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await de(l,{method:`eth_sendTransaction`,params:[UE(BL,l)]}),tp(F(p.getState().chainId),32),yz);return{capabilities:{sync:a},id:e}}let u=await fe(l,{method:`eth_sendTransactionSync`,params:[UE(BL,l)]}),d=u.transactionHash,m=F(p.getState().chainId),h=P(d,tp(m,32),yz);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 bz(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=p.getState(),a=e?.account??t[r]?.address;if(!a)throw new BT({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new NT({message:\"`tokens` is required.\"});let s=SR(e?.chainId,{chains:n,store:p,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([nT(s,{account:a,token:e}),rT(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(yz.slice(2)))throw Error(\"`id` not supported\");Xf(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await SR(Number(r),{chains:n,store:p,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}=p.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new RT({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`},...f?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&p.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Se({capabilities:n,chainId:t??p.getState().chainId}),a=n?.auth??e.auth,o=a?wz(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new NT({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new NT({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await ae(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:UE(iR.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!_.forwardsAuth?await Dz(o,t??p.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:f,keyAuthorization:m,personalSign:h,signature:g,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?p.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await v.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await v.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??rp(16),...l?{personalSign:l}:{}},i)}return await v.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();p.setState({accounts:ve(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await se({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&&g&&b?await Oz(o,{address:b,message:S,signature:g,...f?.idToken?{idToken:f.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}}:{},...g&&(!o||C||!x)?{signature:g}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...f?{identity:f}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=p.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=wz(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await v.disconnect?.(),p.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await he(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{x();let[e]=i._decoded.params;await ge({...e},i);return}case`wallet_updateAccessKey`:{x();let[e]=i._decoded.params;await _e({...e},i);return}case`wallet_deposit`:if(!v.deposit)throw new zT({message:\"`deposit` not supported by adapter.\"});return await v.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{x();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!v.transfer)throw new zT({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:ye(e.feePayer)}};return await v.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=p.getState(),l=e.chainId??c.chainId,u=ye(n),d=g({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:f,decimals:m}=await(async()=>{if(L_(s))return{address:s,decimals:(await rT(d,{token:s})).decimals};let e=await fz({chainId:d.chain.id,symbol:s});if(!e)throw new IT(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),h=Pm(t,m),_=c.accounts[c.activeAccount]?.address,y=r&&_&&r.toLowerCase()!==_.toLowerCase()?r:void 0,b={calls:[hT.call({amount:h,...y?{from:y}:{},memo:a?ep(a):void 0,to:o,token:f})],chainId:l,from:_,...u===void 0?{}:{feePayer:u}},S=await fe(b,{method:`eth_sendTransactionSync`,params:[UE(BL,b)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(x(),!v.swap)throw new zT({message:\"`swap` not supported by adapter.\"});return await v.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(x(),!v.depositZone)throw new zT({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:ye(e.feePayer)}};return await v.depositZone(t,i)}case`wallet_withdrawZone`:if(x(),!v.withdrawZone)throw new zT({message:\"`withdrawZone` not supported by adapter.\"});return await v.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 WT({message:`Chain ${e} not configured.`});await v.switchChain?.({chainId:e}),p.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:xf({method:t,params:r})})}},{schema:gR}),{chains:n,getAccount:(e=>{let t=m(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=p.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 p.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:Te.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return SR(t,{chains:n,feePayer:r,provider:h,store:p,transports:u})},store:p});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;hz.has(e)||(hz.add(e),d({info:{icon:t.icon??vz,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Te}))}let Ee=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Ee){let{mode:e=`push`,polyfill:t,...n}=Ee,r=t??xz(),i=({chainId:e})=>{let t=Te.getClient({chainId:e}),n=p.getState().accounts[p.getState().activeAccount];if(!n)throw new BT({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};GF({methods:[WF({...n,getClient:i,mode:e}),WF.subscription({getClient:i})],polyfill:r})}return h=Te,Te}let vz=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,yz=g_(ep(`TEMPO_5792`));function bz(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 xz(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function Sz(){return typeof document<`u`&&typeof document.cookie==`string`}function Cz(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 NT({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 wz(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:Cz(e,`challenge`)}:{},...r?{verify:Cz(e,`verify`)}:{},...i?{logout:Cz(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return Tz(a),a}function Tz(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 NT({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new NT({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let Ez=' 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 Dz(e,t){let n=typeof e==`object`?e.challenge:Cz(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=iI(i.message),o=new URL(n);if(a.version!==`1`)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${Ez}`});if(a.uri!==o.origin)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${Ez}`});if(a.chainId!==t)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function Oz(e,t){let n=typeof e==`object`?e.verify:Cz(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!Sz(),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 PT({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let kz={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},Az={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},jz={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var Mz=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Nz={accent:new Mz(`accent`),background:new Mz(`background`),border:new Mz(`border`),foreground:new Mz(`foreground`),muted:new Mz(`muted`),negative:new Mz(`negative`),positive:new Mz(`positive`),surface:new Mz(`surface`),fontFamily:new Mz(`font-family`),fontSizeBase:new Mz(`font-size-base`),radius:new Mz(`radius`),spacingUnit:new Mz(`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: ${Nz.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 Pz(e){let t=new URL(location.href);t.searchParams.set(Az.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()}Cf();function Fz(e){let t=document.getElementById(kz.data),n=bf(t.textContent),r=t.getAttribute(jz.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(jz.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(jz.challengeId),o=a?(i.removeAttribute(jz.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(kz.error)?.remove();return}let t=document.getElementById(kz.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=kz.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:Pz,vars:Nz}}let Iz=Fz(`tempo`),Lz=String.raw,Rz=document.createElement(`style`);Rz.textContent=Lz`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Iz.vars.spacingUnit} * 8);\n }\n button {\n background: ${Iz.vars.accent};\n border-radius: ${Iz.vars.radius};\n color: ${Iz.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Iz.vars.spacingUnit} * 4) calc(${Iz.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`,Iz.root.append(Rz);let zz=_z({testnet:Iz.challenge.request.methodDetails?.chainId===ww.id||Iz.challenge.request.methodDetails?.chainId===Cw.id}),Bz=document.createElement(`button`);Bz.innerHTML=`${Iz.text.pay===`Pay`?`Continue with`:Iz.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>`,Bz.onclick=async()=>{try{Iz.error(),Bz.disabled=!0;let e=await(async()=>{let e=await zz.request({method:`eth_accounts`});return e.length>0?e.at(0):(await zz.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await WF({account:e,getClient:e=>{let t=e.chainId??Iz.challenge.request.methodDetails?.chainId;return _({chain:[...zz?.chains??[],ww,Cw].find(e=>e.id===t),transport:mg(zz)})}})[0].createCredential({challenge:Iz.challenge,context:{}});await Iz.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Iz.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{Bz.disabled=!1}},Iz.root.appendChild(Bz)})();</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){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}function f(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var p=o((()=>{}));let m=256,h;function g(e=11){if(!h||m+e>256*2){h=``,m=0;for(let e=0;e<256;e++)h+=(256+Math.random()*256|0).toString(16).substring(1)}return h.substring(m,m+++e)}p();function _(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,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),p=e.pollingInterval??d,m=e.cacheTime??p,h=e.account?f(e.account):void 0,{config:_,request:y,value:b}=e.transport({account:h,chain:n,pollingInterval:p}),x={account:h,batch:t,cacheTime:m,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:p,request:y,tokens:s,transport:{..._,...b},type:c,uid:g(),...l?{experimental_blockTag:l}:{}};function S(e){return t=>{let n=t(e);for(let e in x)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];v(i)&&v(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:S(r)})}}return Object.assign(x,{extend:S(x)})}function v(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function y(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`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}var b,x,S=o((()=>{b={gwei:9,wei:18},x={ether:-9,wei:9}}));function C(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 w=o((()=>{}));function T(e,t=`wei`){return C(e,x[t])}var ee=o((()=>{S(),w()})),te,ne=o((()=>{te=`2.54.1`}));function re(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?re(e.cause,t):t?null:e}var ie,E,D=o((()=>{ne(),ie={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${te}`},E=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=ie.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...ie.version?[`Version: ${ie.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=te}walk(e){return re(this,e)}}}));ee(),D();var ae=class extends E{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},oe=class extends E{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},se=class extends E{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${T(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}},ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be=o((()=>{ee(),D(),ce=class extends E{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(ce,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(ce,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),le=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${T(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(le,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),ue=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${T(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(ue,\"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/}),de=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(de,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),fe=class extends E{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(fe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),pe=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(pe,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),me=class extends E{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(me,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),he=class extends E{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(he,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),ge=class extends E{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(ge,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),_e=class extends E{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(_e,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),ve=class extends E{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${T(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${T(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(ve,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),ye=class extends E{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function xe(e,t=`wei`){return C(e,b[t])}var Se=o((()=>{S(),w()}));function Ce(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 we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe=o((()=>{Se(),ee(),D(),we=class extends E{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},Te=class extends E{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Ee=class extends E{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,Ce(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`})}},De=class extends E{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},Oe=class extends E{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},ke=class extends E{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Ae=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=Ce({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(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}},je=class extends E{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`})}},Me=class extends E{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`})}},Ne=class extends E{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}},Pe=class extends E{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}})),Ie,Le=o((()=>{Ie=(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 Re(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 ze(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Be,Ve,He=o((()=>{Be=e=>e,Ve=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ue,We,Ge,Ke,qe=o((()=>{Le(),D(),He(),Ue=class extends E{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Ve(a)}`,e&&`Request body: ${Ie(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}},We=class extends E{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}},Ge=class extends E{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Ve(n)}`,`Request body: ${Ie(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}},Ke=class extends E{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Ve(t)}`,`Request body: ${Ie(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt=o((()=>{D(),qe(),Je=-1,Ye=class extends E{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Ge?e.code:t??Je}},Xe=class extends Ye{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Ze=class e extends Ye{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(Ze,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Qe=class e extends Ye{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Qe,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),$e=class e extends Ye{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty($e,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),et=class e extends Ye{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(et,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),tt=class e extends Ye{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(tt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),nt=class e extends Ye{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(nt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),rt=class e extends Ye{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(rt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),it=class e extends Ye{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(it,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),at=class e extends Ye{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(at,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ot=class e extends Ye{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ot,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),st=class e extends Ye{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(st,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ct=class e extends Ye{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ct,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),lt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(lt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ut=class e extends Xe{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(ut,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),dt=class e extends Xe{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(dt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ft=class e extends Xe{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ft,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),pt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(pt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),mt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(mt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ht=class e extends Xe{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(ht,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),gt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(gt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),_t=class e extends Xe{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(_t,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),vt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(vt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),yt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(yt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),bt=class e extends Xe{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(bt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),xt=class e extends Xe{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(xt,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),St=class e extends Xe{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(St,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ct=class extends Ye{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));function Tt(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof E?e.walk(e=>e?.code===ce.code):e;return r instanceof E?new ce({cause:e,message:r.details}):ce.nodeMessage.test(n)?new ce({cause:e,message:e.details}):le.nodeMessage.test(n)?new le({cause:e,maxFeePerGas:t?.maxFeePerGas}):ue.nodeMessage.test(n)?new ue({cause:e,maxFeePerGas:t?.maxFeePerGas}):de.nodeMessage.test(n)?new de({cause:e,nonce:t?.nonce}):fe.nodeMessage.test(n)?new fe({cause:e,nonce:t?.nonce}):pe.nodeMessage.test(n)?new pe({cause:e,nonce:t?.nonce}):me.nodeMessage.test(n)?new me({cause:e}):he.nodeMessage.test(n)?new he({cause:e,gas:t?.gas}):ge.nodeMessage.test(n)?new ge({cause:e,gas:t?.gas}):_e.nodeMessage.test(n)?new _e({cause:e}):ve.nodeMessage.test(n)?new ve({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ye({cause:e})}var Et=o((()=>{D(),be()}));be(),Fe(),Et();function Dt(e,{docsPath:t,...n}){return new Ae((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}function Ot(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 kt=o((()=>{})),At,jt,Mt,Nt,Pt,Ft,It=o((()=>{D(),At=class extends E{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},jt=class extends E{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Mt=class extends E{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Nt=class extends E{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Pt=class extends E{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},Ft=class extends E{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function O(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Lt=o((()=>{}));function Rt(e){return O(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var zt=o((()=>{Lt()}));function Bt(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 Vt=o((()=>{})),Ht,Ut,Wt,Gt=o((()=>{D(),Ht=class extends E{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},Ut=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Wt=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function Kt(e,{dir:t,size:n=32}={}){return typeof e==`string`?qt(e,{dir:t,size:n}):Jt(e,{dir:t,size:n})}function qt(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Ut({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Jt(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ut({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 Yt=o((()=>{Gt()}));function Xt(e,t={}){return typeof e==`number`||typeof e==`bigint`?k(e,t):typeof e==`string`?$t(e,t):typeof e==`boolean`?Zt(e,t):Qt(e,t)}function Zt(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{size:t.size})):n}function Qt(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=en[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(fn(r,{size:t.size}),Kt(r,{dir:`right`,size:t.size})):r}function k(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new At({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?Kt(s,{size:r}):s}function $t(e,t={}){return Qt(tn.encode(e),t)}var en,tn,A=o((()=>{It(),Yt(),hn(),en=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),tn=new TextEncoder}));function nn(e,t={}){return typeof e==`number`||typeof e==`bigint`?sn(e,t):typeof e==`boolean`?rn(e,t):O(e)?on(e,t):cn(e,t)}function rn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{size:t.size})):n}function an(e){if(e>=un.zero&&e<=un.nine)return e-un.zero;if(e>=un.A&&e<=un.F)return e-(un.A-10);if(e>=un.a&&e<=un.f)return e-(un.a-10)}function on(e,t={}){let n=e;t.size&&(fn(n,{size:t.size}),n=Kt(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=an(r.charCodeAt(t++)),i=an(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new E(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function sn(e,t){return on(k(e,t))}function cn(e,t={}){let n=ln.encode(e);return typeof t.size==`number`?(fn(n,{size:t.size}),Kt(n,{dir:`right`,size:t.size})):n}var ln,un,dn=o((()=>{D(),Lt(),Yt(),hn(),A(),ln=new TextEncoder,un={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function fn(e,{size:t}){if(Rt(e)>t)throw new Ft({givenSize:Rt(e),maxSize:t})}function j(e,t={}){let{signed:n}=t;t.size&&fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function pn(e,t={}){let n=e;if(t.size&&(fn(n,{size:t.size}),n=Bt(n)),Bt(n)===`0x00`)return!1;if(Bt(n)===`0x01`)return!0;throw new Mt(n)}function mn(e,t={}){let n=j(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new At({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var hn=o((()=>{It(),zt(),Vt()}));function gn(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 _n=o((()=>{}));hn(),_n();let vn={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function yn(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?mn(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?mn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?vn[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=xn(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 bn=gn(`transaction`,yn);function xn(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 Sn(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=Cn(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=>Qt(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=k(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=k(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=k(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=k(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=k(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=k(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=wn[e.type]),e.value!==void 0&&(n.value=k(e.value)),n}function Cn(e){return e.map(e=>({address:e.address,r:e.r?k(BigInt(e.r)):e.r,s:e.s?k(BigInt(e.s)):e.s,chainId:k(e.chainId),nonce:k(e.nonce),...e.yParity===void 0?{}:{yParity:k(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:k(e.v)}:{}}))}var wn,Tn,En=o((()=>{A(),_n(),wn={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Tn=gn(`transactionRequest`,Sn)}));function M(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}var Dn,On=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)),Dn=2n**256n-1n})),kn,An=o((()=>{D(),kn=class extends E{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),jn,Mn=o((()=>{jn=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 Nn(e,t=!1){return t?{h:Number(e&In),l:Number(e>>Ln&In)}:{h:Number(e>>Ln&In)|0,l:Number(e&In)|0}}function Pn(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}=Nn(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function Fn(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er=o((()=>{In=BigInt(2**32-1),Ln=BigInt(32),Rn=(e,t,n)=>e>>>n,zn=(e,t,n)=>e<<32-n|t>>>n,Bn=(e,t,n)=>e>>>n|t<<32-n,Vn=(e,t,n)=>e<<32-n|t>>>n,Hn=(e,t,n)=>e<<64-n|t>>>n-32,Un=(e,t,n)=>e>>>n-32|t<<64-n,Wn=(e,t,n)=>e<<n|t>>>32-n,Gn=(e,t,n)=>t<<n|e>>>32-n,Kn=(e,t,n)=>t<<n-32|e>>>64-n,qn=(e,t,n)=>e<<n-32|t>>>64-n,Jn=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Yn=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Xn=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Zn=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Qn=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),$n=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),tr,nr=o((()=>{tr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction rr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ir(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function ar(e,...t){if(!rr(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`);ir(e.outputLen),ir(e.blockLen)}function sr(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 cr(e,t){ar(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function lr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function ur(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function dr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function fr(e,t){return e<<32-t|e>>>t}function pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function mr(e){for(let t=0;t<e.length;t++)e[t]=pr(e[t]);return e}function hr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gr(e){return typeof e==`string`&&(e=hr(e)),ar(e),e}function _r(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ar(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 vr(e){let t=t=>e().update(gr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function yr(e=32){if(tr&&typeof tr.getRandomValues==`function`)return tr.getRandomValues(new Uint8Array(e));if(tr&&typeof tr.randomBytes==`function`)return Uint8Array.from(tr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var br,xr,Sr,Cr=o((()=>{nr(),br=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,xr=br?e=>e:mr,Sr=class{}}));function wr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Lr(a,o,1)^n[r],c=Rr(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=Mr[n],a=Lr(t,i,r),o=Rr(t,i,r),s=jr[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]^=Fr[r],e[1]^=Ir[r]}ur(n)}var Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr=o((()=>{er(),Cr(),Tr=BigInt(0),Er=BigInt(1),Dr=BigInt(2),Or=BigInt(7),kr=BigInt(256),Ar=BigInt(113),jr=[],Mr=[],Nr=[];for(let e=0,t=Er,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],jr.push(2*(5*r+n)),Mr.push((e+1)*(e+2)/2%64);let i=Tr;for(let e=0;e<7;e++)t=(t<<Er^(t>>Or)*Ar)%kr,t&Dr&&(i^=Er<<(Er<<BigInt(e))-Er);Nr.push(i)}Pr=Pn(Nr,!0),Fr=Pr[0],Ir=Pr[1],Lr=(e,t,n)=>n>32?Kn(e,t,n):Wn(e,t,n),Rr=(e,t,n)=>n>32?qn(e,t,n):Gn(e,t,n),zr=class e extends Sr{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,ir(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=lr(this.state)}clone(){return this._cloneInto()}keccak(){xr(this.state32),wr(this.state32,this.rounds),xr(this.state32),this.posOut=0,this.pos=0}update(e){sr(this),e=gr(e),ar(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){sr(this,!1),ar(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 ir(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(cr(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,ur(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}},Br=(e,t,n)=>vr(()=>new zr(t,e,n)),Vr=Br(1,136,256/8)}));function Ur(e,t){let n=t||`hex`,r=Vr(O(e,{strict:!1})?nn(e):e);return n===`bytes`?r:Xt(r)}var Wr=o((()=>{Hr(),Lt(),dn(),A()}));function Gr(e,t){if(qr.has(`${e}.${t}`))return qr.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=Ur(cn(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 qr.set(`${e}.${t}`,a),a}function Kr(e,t){if(!Yr(e,{strict:!1}))throw new kn({address:e});return Gr(e,t)}var qr,Jr=o((()=>{An(),dn(),Wr(),Mn(),Qr(),qr=new jn(8192)}));function Yr(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Zr.has(r))return Zr.get(r);let i=Xr.test(e)?e.toLowerCase()===e?!0:n?Gr(e)===e:!0:!1;return Zr.set(r,i),i}var Xr,Zr,Qr=o((()=>{Mn(),Jr(),Xr=/^0x[a-fA-F0-9]{40}$/,Zr=new jn(8192)}));function $r(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?f(t):void 0;if(a&&!Yr(a.address))throw new kn({address:a.address});if(i&&!Yr(i))throw new kn({address:i});if(n&&n>Dn)throw new le({maxFeePerGas:n});if(r&&n&&r>n)throw new ve({maxFeePerGas:n,maxPriorityFeePerGas:r})}var ei=o((()=>{p(),On(),An(),be(),Qr()}));D();var ti=class extends E{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};function ni(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:yn(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}A();async function ri(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:k(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new ti({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||ni)(s,`getBlock`)}hn();async function ii(e){return mn(await e.request({method:`eth_chainId`},{dedupe:!0}))}p(),kt(),En(),ei();async function ai(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:g,to:_,type:v,value:y,...b}=t,x=await(async()=>{if(!n||!g||h!==void 0)return h;let t=f(n),r=a?a.id:await M(e,ii,`getChainId`)({});return await g.consume({address:t.address,chainId:r,client:e})})();$r(t);let S=a?.formatters?.transactionRequest?.format,C=(S||Sn)({...Ot(b,{format:S}),account:n?f(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:x,to:_,type:v,value:y},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[C]}),r=(a?.formatters?.transaction?.format||yn)(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 M(e,ri,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new ae;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:C.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Dt(n,{...t,chain:e.chain})}}var oi,si,ci,li,ui,di,fi=o((()=>{oi=[{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`}],si=[{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`}]}],ci=[{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`}],[...ci],[...ci],li=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],ui=[{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`}],di=[{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`}]}]}));function pi(e,t){if(!Yr(e,{strict:!1}))throw new kn({address:e});if(!Yr(t,{strict:!1}))throw new kn({address:t});return e.toLowerCase()===t.toLowerCase()}var mi=o((()=>{An(),Qr()}));function hi(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}:{}}}function gi(e){return _i(e)}var _i,vi=o((()=>{dn(),Wr(),_i=e=>Ur(nn(e))}));function yi(e,t){return e.exec(t)?.groups}var bi,xi,Si,Ci=o((()=>{bi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xi=/^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)?$/,Si=/^\\(.+?\\).*?$/}));function wi(e){let t=e.type;if(Ti.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+=wi(i),r<n-1&&(t+=`, `)}let r=yi(Ti,e.type);return t+=`)${r?.array||``}`,wi({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Ti,Ei=o((()=>{Ci(),Ti=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function Di(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=wi(i),r!==n-1&&(t+=`, `)}return t}var Oi=o((()=>{Ei()}));function ki(e){return e.type===`function`?`function ${e.name}(${Di(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Di(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Di(e.inputs)})`:e.type===`error`?`error ${e.name}(${Di(e.inputs)})`:e.type===`constructor`?`constructor(${Di(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Ai=o((()=>{Oi()}));function ji(e){return Wi.test(e)}function Mi(e){return yi(Wi,e)}function Ni(e){return Gi.test(e)}function Pi(e){return yi(Gi,e)}function Fi(e){return Ki.test(e)}function Ii(e){return yi(Ki,e)}function Li(e){return qi.test(e)}function Ri(e){return yi(qi,e)}function zi(e){return Ji.test(e)}function Bi(e){return yi(Ji,e)}function Vi(e){return Yi.test(e)}function Hi(e){return yi(Yi,e)}function Ui(e){return Xi.test(e)}var Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i=o((()=>{Ci(),Wi=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Gi=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ki=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,qi=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Ji=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Yi=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Xi=/^receive\\(\\) external payable$/,Zi=new Set([`indexed`]),Qi=new Set([`calldata`,`memory`,`storage`])})),ea,ta=o((()=>{ea=`1.2.3`})),na,ra=o((()=>{ta(),na=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@${ea}`].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}}})),ia,aa,oa=o((()=>{ra(),ia=class extends na{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`})}},aa=class extends na{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`})}}})),sa,ca,la,ua,da,fa=o((()=>{ra(),sa=class extends na{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},ca=class extends na{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`})}},la=class extends na{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`})}},ua=class extends na{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`})}},da=class extends na{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`})}}})),pa,ma,ha,ga=o((()=>{ra(),pa=class extends na{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},ma=class extends na{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},ha=class extends na{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`})}}})),_a,va=o((()=>{ra(),_a=class extends na{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`})}}})),ya,ba=o((()=>{ra(),ya=class extends na{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 xa(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 Sa,Ca=o((()=>{Sa=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 wa(e,t={}){if(Fi(e))return Ta(e,t);if(Ni(e))return Ea(e,t);if(ji(e))return Da(e,t);if(zi(e))return Oa(e,t);if(Vi(e))return ka(e);if(Ui(e))return{type:`receive`,stateMutability:`payable`};throw new ma({signature:e})}function Ta(e,t={}){let n=Ii(e);if(!n)throw new pa({signature:e,type:`function`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{modifiers:Qi,structs:t,type:`function`}));let o=[];if(n.returns){let e=ja(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Aa(e[n],{modifiers:Qi,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function Ea(e,t={}){let n=Pi(e);if(!n)throw new pa({signature:e,type:`event`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{modifiers:Zi,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function Da(e,t={}){let n=Mi(e);if(!n)throw new pa({signature:e,type:`error`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function Oa(e,t={}){let n=Bi(e);if(!n)throw new pa({signature:e,type:`constructor`});let r=ja(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Aa(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function ka(e){let t=Hi(e);if(!t)throw new pa({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Aa(e,t){let n=xa(e,t?.type,t?.structs);if(Sa.has(n))return Sa.get(n);let r=Si.test(e),i=yi(r?Ia:Fa,e);if(!i)throw new sa({param:e});if(i.name&&Na(i.name))throw new ca({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=ja(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Aa(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(La.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Ma(c))throw new aa({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new la({param:e,type:t?.type,modifier:i.modifier});if(Qi.has(i.modifier)&&!Pa(c,!!i.array))throw new ua({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Sa.set(n,u),u}function ja(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?ja(o,[...t,n.trim()]):ja(o,t,`${n}${i}`,r);case`(`:return ja(o,t,`${n}${i}`,r+1);case`)`:return ja(o,t,`${n}${i}`,r-1);default:return ja(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ya({current:n,depth:r});return t.push(n.trim()),t}function Ma(e){return e===`address`||e===`bool`||e===`function`||e===`string`||bi.test(e)||xi.test(e)}function Na(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||bi.test(e)||xi.test(e)||Ra.test(e)}function Pa(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Fa,Ia,La,Ra,za=o((()=>{Ci(),oa(),fa(),ga(),ba(),Ca(),$i(),Fa=/^(?<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$_]*))?$/,Ia=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,La=/^u?int$/,Ra=/^(?: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 Ba(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Li(n))continue;let i=Ri(n);if(!i)throw new pa({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=Aa(t,{type:`struct`});o.push(n)}if(!o.length)throw new ha({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]=Va(a,t)}return r}function Va(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Si.test(i.type))r.push(i);else{let e=yi(Ha,i.type);if(!e?.type)throw new da({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new _a({type:o});r.push({...i,type:`tuple${a??``}`,components:Va(t[o],t,new Set([...n,o]))})}else if(Ma(o))r.push(i);else throw new ia({type:o})}}return r}var Ha,Ua=o((()=>{Ci(),oa(),fa(),ga(),va(),$i(),za(),Ha=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Wa(e){let t=Ba(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Li(r)||n.push(wa(r,t))}return n}var Ga=o((()=>{$i(),Ua(),za()})),Ka=o((()=>{Ai(),Ga()}));function qa(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new E(`Unable to normalize signature.`);return i}var Ja=o((()=>{D()})),Ya,Xa=o((()=>{Ka(),Ja(),Ya=e=>qa(typeof e==`string`?e:ki(e))}));function Za(e){return gi(Ya(e))}var Qa=o((()=>{vi(),Xa()})),$a,eo=o((()=>{Qa(),$a=Za}));function to(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new Oo(e.type);return`${e.name}(${no(e.inputs,{includeName:t})})`}function no(e,{includeName:t=!1}={}){return e?e.map(e=>ro(e,{includeName:t})).join(t?`, `:`,`):``}function ro(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${no(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var io=o((()=>{ko()})),ao,oo,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko=o((()=>{io(),zt(),D(),ao=class extends E{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},oo=class extends E{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},so=class extends E{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${no(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}},co=class extends E{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},lo=class extends E{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},uo=class extends E{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Rt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},fo=class extends E{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},po=class extends E{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},mo=class extends E{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},ho=class extends E{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},go=class extends E{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},_o=class extends E{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},vo=class extends E{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},yo=class extends E{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},bo=class extends E{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},xo=class extends E{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${to(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${to(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},So=class extends E{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},Co=class extends E{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${no(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}},wo=class extends E{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${to(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},To=class extends E{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},Eo=class extends E{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},Do=class extends E{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},Oo=class extends E{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Ao,jo,Mo,No=o((()=>{D(),Ao=class extends E{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},jo=class extends E{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Mo=class extends E{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Po(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Fo);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Fo,Io=o((()=>{No(),Fo={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 Mo({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new jo({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ao({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 Ao({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 Lo(e,t,n,{strict:r}={}){return O(e,{strict:!1})?Vo(e,t,n,{strict:r}):Bo(e,t,n,{strict:r})}function Ro(e,t){if(typeof t==`number`&&t>0&&t>Rt(e)-1)throw new Ht({offset:t,position:`start`,size:Rt(e)})}function zo(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Rt(e)!==n-t)throw new Ht({offset:n,position:`end`,size:Rt(e)})}function Bo(e,t,n,{strict:r}={}){Ro(e,t);let i=e.slice(t,n);return r&&zo(i,t,n),i}function Vo(e,t,n,{strict:r}={}){Ro(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&zo(i,t,n),i}var Ho=o((()=>{Gt(),Lt(),zt()}));function Uo(e,t={}){return t.size!==void 0&&fn(e,{size:t.size}),j(Qt(e,t),t)}function Wo(e,t={}){let n=e;if(t.size!==void 0&&(fn(n,{size:t.size}),n=Bt(n)),n.length>1||n[0]>1)throw new jt(n);return!!n[0]}function Go(e,t={}){return t.size!==void 0&&fn(e,{size:t.size}),mn(Qt(e,t),t)}function Ko(e,t={}){let n=e;return t.size!==void 0&&(fn(n,{size:t.size}),n=Bt(n,{dir:`right`})),new TextDecoder().decode(n)}var qo=o((()=>{It(),Vt(),hn(),A()}));function Jo(e){return typeof e[0]==`string`?Xo(e):Yo(e)}function Yo(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 Xo(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Zo=o((()=>{})),Qo,$o,es=o((()=>{Qo=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,$o=/^(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 ts(e,t){if(e.length!==t.length)throw new fo({expectedLength:e.length,givenLength:t.length});let n=is(ns({params:e,values:t}));return n.length===0?`0x`:n}function ns({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(rs({param:e[r],value:t[r]}));return n}function rs({param:e,value:t}){let n=fs(e.type);if(n){let[r,i]=n;return os(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ds(t,{param:e});if(e.type===`address`)return as(t);if(e.type===`bool`)return cs(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=$o.exec(e.type)??[];return ls(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ss(t,{param:e});if(e.type===`string`)return us(t);throw new To(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function is(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Rt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(k(t+i,{size:32})),r.push(s),i+=Rt(s)):n.push(s)}return Jo([...n,...r])}function as(e){if(!Yr(e))throw new kn({address:e});return{dynamic:!1,encoded:qt(e.toLowerCase())}}function os(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new Do(e);if(!r&&e.length!==t)throw new lo({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=rs({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=is(a);if(r){let t=k(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Jo([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Jo(a.map(({encoded:e})=>e))}}function ss(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Rt(e);if(!n){let t=e;return r%32!=0&&(t=qt(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Jo([qt(k(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new uo({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:qt(e,{dir:`right`})}}function cs(e){if(typeof e!=`boolean`)throw new E(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:qt(Zt(e))}}function ls(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 At({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:k(e,{size:32,signed:t})}}function us(e){let t=$t(e),n=Math.ceil(Rt(t)/32),r=[];for(let e=0;e<n;e++)r.push(qt(Lo(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Jo([qt(k(Rt(t),{size:32})),...r])}}function ds(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=rs({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?is(r):Jo(r.map(({encoded:e})=>e))}}function fs(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var ps=o((()=>{ko(),An(),D(),It(),Qr(),Zo(),Yt(),zt(),Ho(),A(),es()}));function ms(e,t){let n=typeof t==`string`?on(t):t,r=Po(n);if(Rt(n)===0&&e.length>0)throw new co;if(Rt(t)&&Rt(t)<32)throw new so({data:typeof t==`string`?t:Qt(t),params:e,size:Rt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=hs(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function hs(e,t,{staticPosition:n}){let r=fs(t.type);if(r){let[i,a]=r;return _s(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return xs(e,t,{staticPosition:n});if(t.type===`address`)return gs(e);if(t.type===`bool`)return vs(e);if(t.type.startsWith(`bytes`))return ys(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return bs(e,t);if(t.type===`string`)return Ss(e,{staticPosition:n});throw new Eo(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function gs(e){return[Gr(Qt(Bo(e.readBytes(32),-20))),32]}function _s(e,t,{length:n,staticPosition:r}){if(!n){let n=r+Go(e.readBytes(Ts)),i=n+ws;e.setPosition(n);let a=Go(e.readBytes(ws)),o=Cs(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=hs(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Cs(t)){let i=r+Go(e.readBytes(Ts)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=hs(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]=hs(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function vs(e){return[Wo(e.readBytes(32),{size:32}),32]}function ys(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Go(e.readBytes(32));e.setPosition(n+t);let r=Go(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Qt(i),32]}return[Qt(e.readBytes(Number.parseInt(i,10),32)),32]}function bs(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?Uo(i,{signed:n}):Go(i,{signed:n}),32]}function xs(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Cs(t)){let o=n+Go(e.readBytes(Ts));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=hs(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]=hs(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ss(e,{staticPosition:t}){let n=t+Go(e.readBytes(32));e.setPosition(n);let r=Go(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ko(Bt(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Cs(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Cs);let n=fs(e.type);return!!(n&&Cs({...e,type:n[1]}))}var ws,Ts,Es=o((()=>{ko(),Jr(),Io(),zt(),Ho(),Vt(),qo(),dn(),A(),ps(),ws=32,Ts=32}));ko(),No(),zt(),eo(),Es(),io();let Ds=`/docs/contract/decodeEventLog`;function Os(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new go({docsPath:Ds});let c=t.find(e=>e.type===`event`&&o===$a(to(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new _o(o,{docsPath:Ds});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 wo({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=ks({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=ms(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 so||e instanceof jo?new Co({abiItem:c,data:n,params:g,size:Rt(n)}):e}else if(a)throw new Co({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function ks({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(ms([e],t)||[])[0]}mi(),dn(),Wr(),eo();function As(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:$a(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?hi(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=Os({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Os({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)||!js({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function js(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`?pi(t,n):e.type===`string`||e.type===`bytes`?Ur(nn(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}var Ms,Ns=o((()=>{Ho(),Qa(),Ms=e=>Lo(Za(e),0,4)}));function Ps(e){let{abi:t,args:n=[],name:r}=e,i=O(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?Ms(e)===r:e.type===`event`?$a(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?Fs(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=Is(e.inputs,o.inputs,n);if(t)throw new xo({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function Fs(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Yr(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`&&Fs(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=>Fs(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Is(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 Is(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`))&&Yr(n[r],{strict:!1}))return o}}var Ls=o((()=>{ko(),Lt(),Qr(),eo(),Ns()}));function Rs(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=Ps({abi:t,args:n,name:r});if(!e)throw new vo(r,{docsPath:zs});i=e}if(i.type!==`function`)throw new vo(void 0,{docsPath:zs});return{abi:[i],functionName:Ms(to(i))}}var zs,Bs=o((()=>{ko(),Ns(),io(),Ls(),zs=`/docs/contract/encodeFunctionData`}));function Vs(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:Rs(e),i=n[0];return Xo([r,(`inputs`in i&&i.inputs?ts(i.inputs,t??[]):void 0)??`0x`])}var Hs=o((()=>{Zo(),ps(),Bs()})),Us,Ws,Gs,Ks=o((()=>{Us={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.`},Ws={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Gs={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}}));function qs(e){let{abi:t,data:n,cause:r}=e,i=Lo(n,0,4);if(i===`0x`)throw new co({cause:r});let a=[...t||[],Ws,Gs].find(e=>e.type===`error`&&i===Ms(to(e)));if(!a)throw new ho(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?ms(a.inputs,Lo(n,4)):void 0,errorName:a.name}}var Js=o((()=>{Ks(),ko(),Ho(),Ns(),Es(),io()}));function Ys({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`?Ie(t[n]):t[n]}`).join(`, `)})`}var Xs=o((()=>{Le()}));function Zs(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function Qs(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+=Zs(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=Zs(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var $s,ec,tc=o((()=>{D(),$s=class extends E{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},ec=class extends E{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}})),nc,rc,ic,ac,oc,sc,cc=o((()=>{p(),Ks(),Js(),io(),Xs(),Ls(),Se(),ee(),ko(),D(),tc(),Fe(),He(),nc=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:p}){let m=Ce({from:(t?f(t):void 0)?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(c)} gwei`,nonce:l});p&&(m+=`\\n${Qs(p)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,m].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},rc=class extends E{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=Ps({abi:t,args:n,name:a}),c=s?Ys({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?to(s,{includeName:!0}):void 0,u=Ce({address:r&&Be(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}},ic=class extends E{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=qs({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=Us[e]}else{let e=n?to(n,{includeName:!0}):void 0,t=n&&a?Ys({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 ho&&(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}},ac=class extends E{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},oc=class extends E{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},sc=class extends E{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}}));ko(),D(),cc(),qe(),wt();function lc(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof sc?e:e instanceof E?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new rc(e instanceof co?new ac({functionName:a,cause:e}):[3,tt.code].includes(c)&&(l||u||d||f)||c===nt.code&&u===`execution reverted`&&l?new ic({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Ge?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Jr(),Wr();function uc(e){return Gr(`0x${Ur(`0x${e.substring(4)}`).substring(26)}`)}function dc(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 fc(e,t,n){return e&t^~e&n}function pc(e,t,n){return e&t^e&n^t&n}var mc,hc,gc,_c,vc=o((()=>{Cr(),mc=class extends Sr{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=dr(this.buffer)}update(e){sr(this),e=gr(e),ar(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=dr(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){sr(this),cr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,ur(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;dc(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=dr(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()}},hc=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),gc=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),_c=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{vc(),er(),Cr(),yc=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]),bc=new Uint32Array(64),xc=class extends mc{constructor(e=32){super(64,e,8,!1),this.A=hc[0]|0,this.B=hc[1]|0,this.C=hc[2]|0,this.D=hc[3]|0,this.E=hc[4]|0,this.F=hc[5]|0,this.G=hc[6]|0,this.H=hc[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)bc[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=bc[e-15],n=bc[e-2],r=fr(t,7)^fr(t,18)^t>>>3;bc[e]=(fr(n,17)^fr(n,19)^n>>>10)+bc[e-7]+r+bc[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=fr(o,6)^fr(o,11)^fr(o,25),u=l+t+fc(o,s,c)+yc[e]+bc[e]|0,d=(fr(n,2)^fr(n,13)^fr(n,22))+pc(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(){ur(bc)}destroy(){this.set(0,0,0,0,0,0,0,0),ur(this.buffer)}},Sc=Pn(`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))),Cc=Sc[0],wc=Sc[1],Tc=new Uint32Array(80),Ec=new Uint32Array(80),Dc=class extends mc{constructor(e=64){super(128,e,16,!1),this.Ah=_c[0]|0,this.Al=_c[1]|0,this.Bh=_c[2]|0,this.Bl=_c[3]|0,this.Ch=_c[4]|0,this.Cl=_c[5]|0,this.Dh=_c[6]|0,this.Dl=_c[7]|0,this.Eh=_c[8]|0,this.El=_c[9]|0,this.Fh=_c[10]|0,this.Fl=_c[11]|0,this.Gh=_c[12]|0,this.Gl=_c[13]|0,this.Hh=_c[14]|0,this.Hl=_c[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)Tc[n]=e.getUint32(t),Ec[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Tc[e-15]|0,n=Ec[e-15]|0,r=Bn(t,n,1)^Bn(t,n,8)^Rn(t,n,7),i=Vn(t,n,1)^Vn(t,n,8)^zn(t,n,7),a=Tc[e-2]|0,o=Ec[e-2]|0,s=Bn(a,o,19)^Hn(a,o,61)^Rn(a,o,6),c=Vn(a,o,19)^Un(a,o,61)^zn(a,o,6),l=Xn(i,c,Ec[e-7],Ec[e-16]);Tc[e]=Zn(l,r,s,Tc[e-7],Tc[e-16])|0,Ec[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=Bn(u,d,14)^Bn(u,d,18)^Hn(u,d,41),v=Vn(u,d,14)^Vn(u,d,18)^Un(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Qn(_,v,b,wc[e],Ec[e]),S=$n(x,g,t,y,Cc[e],Tc[e]),C=x|0,w=Bn(n,r,28)^Hn(n,r,34)^Hn(n,r,39),T=Vn(n,r,28)^Un(n,r,34)^Un(n,r,39),ee=n&i^n&o^i&o,te=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=Fn(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ne=Jn(C,T,te);n=Yn(ne,S,w,ee),r=ne|0}({h:n,l:r}=Fn(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=Fn(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=Fn(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=Fn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=Fn(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=Fn(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=Fn(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=Fn(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(){ur(Tc,Ec)}destroy(){ur(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Oc=class extends Dc{constructor(){super(48),this.Ah=gc[0]|0,this.Al=gc[1]|0,this.Bh=gc[2]|0,this.Bl=gc[3]|0,this.Ch=gc[4]|0,this.Cl=gc[5]|0,this.Dh=gc[6]|0,this.Dl=gc[7]|0,this.Eh=gc[8]|0,this.El=gc[9]|0,this.Fh=gc[10]|0,this.Fl=gc[11]|0,this.Gh=gc[12]|0,this.Gl=gc[13]|0,this.Hh=gc[14]|0,this.Hl=gc[15]|0}},kc=vr(()=>new xc),Ac=vr(()=>new Dc),jc=vr(()=>new Oc)})),Nc,Pc,Fc=o((()=>{Cr(),Nc=class extends Sr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,or(e);let n=gr(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),ur(i)}update(e){return sr(this),this.iHash.update(e),this}digestInto(e){sr(this),ar(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()}},Pc=(e,t,n)=>new Nc(e,t).update(n).digest(),Pc.create=(e,t)=>new Nc(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ic(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Lc(e){if(!Ic(e))throw Error(`Uint8Array expected`)}function Rc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function zc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Bc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?il:BigInt(`0x`+e)}function Vc(e){if(Lc(e),ol)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=sl[e[n]];return t}function Hc(e){if(e>=cl._0&&e<=cl._9)return e-cl._0;if(e>=cl.A&&e<=cl.F)return e-(cl.A-10);if(e>=cl.a&&e<=cl.f)return e-(cl.a-10)}function Uc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(ol)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=Hc(e.charCodeAt(i)),a=Hc(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 Wc(e){return Bc(Vc(e))}function Gc(e){return Lc(e),Bc(Vc(Uint8Array.from(e).reverse()))}function Kc(e,t){return Uc(e.toString(16).padStart(t*2,`0`))}function qc(e,t){return Kc(e,t).reverse()}function Jc(e,t,n){let r;if(typeof t==`string`)try{r=Uc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Ic(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 Yc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Lc(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 Xc(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 Zc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Qc(e,t,n){return ll(e)&&ll(t)&&ll(n)&&t<=e&&e<n}function $c(e,t,n,r){if(!Qc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function el(e){let t;for(t=0;e>il;e>>=al,t+=1);return t}function tl(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=dl(e),i=dl(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=dl(0))=>{i=s(fl([0]),e),r=s(),e.length!==0&&(i=s(fl([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 Yc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function nl(e,t,n={}){let r=(t,n,r)=>{let i=pl[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 rl(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 il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml=o((()=>{il=BigInt(0),al=BigInt(1),ol=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,sl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),cl={_0:48,_9:57,A:65,F:70,a:97,f:102},ll=e=>typeof e==`bigint`&&il<=e,ul=e=>(al<<BigInt(e))-al,dl=e=>new Uint8Array(e),fl=e=>Uint8Array.from(e),pl={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`||Ic(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 hl(e,t){let n=e%t;return n>=jl?n:t+n}function gl(e,t,n){let r=e;for(;t-->jl;)r*=r,r%=n;return r}function _l(e,t){if(e===jl)throw Error(`invert: expected non-zero number`);if(t<=jl)throw Error(`invert: expected positive modulus, got `+t);let n=hl(e,t),r=t,i=jl,a=Ml,o=Ml,s=jl;for(;n!==jl;){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!==Ml)throw Error(`invert: does not exist`);return hl(i,t)}function vl(e,t){let n=(e.ORDER+Ml)/Fl,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function yl(e,t){let n=(e.ORDER-Il)/Ll,r=e.mul(t,Nl),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Nl),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 bl(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Ml,n=0;for(;t%Nl===jl;)t/=Nl,n++;let r=Nl,i=Dl(e);for(;Tl(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return vl;let a=i.pow(r,t),o=(t+Ml)/Nl;return function(e,r){if(e.is0(r))return r;if(Tl(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=Ml<<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 xl(e){return e%Fl===Pl?vl:e%Ll===Il?yl:bl(e)}function Sl(e){return nl(e,Rl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Cl(e,t,n){if(n<jl)throw Error(`invalid exponent, negatives unsupported`);if(n===jl)return e.ONE;if(n===Ml)return t;let r=e.ONE,i=t;for(;n>jl;)n&Ml&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Ml;return r}function wl(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 Tl(e,t){let n=(e.ORDER-Ml)/Nl,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 El(e,t){t!==void 0&&ir(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Dl(e,t,n=!1,r={}){if(e<=jl)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=El(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:ul(i),ZERO:jl,ONE:Ml,create:t=>hl(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return jl<=t&&t<e},is0:e=>e===jl,isOdd:e=>(e&Ml)===Ml,neg:t=>hl(-t,e),eql:(e,t)=>e===t,sqr:t=>hl(t*t,e),add:(t,n)=>hl(t+n,e),sub:(t,n)=>hl(t-n,e),mul:(t,n)=>hl(t*n,e),pow:(e,t)=>Cl(s,e,t),div:(t,n)=>hl(t*_l(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>_l(t,e),sqrt:r.sqrt||(t=>(o||=xl(e),o(s,t))),toBytes:e=>n?qc(e,a):Kc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?Gc(e):Wc(e)},invertBatch:e=>wl(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Ol(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function kl(e){let t=Ol(e);return t+Math.ceil(t/2)}function Al(e,t,n=!1){let r=e.length,i=Ol(t),a=kl(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=hl(n?Gc(e):Wc(e),t-Ml)+Ml;return n?qc(o,i):Kc(o,i)}var jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl=o((()=>{Cr(),ml(),jl=BigInt(0),Ml=BigInt(1),Nl=BigInt(2),Pl=BigInt(3),Fl=BigInt(4),Il=BigInt(5),Ll=BigInt(8),Rl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Bl(e,t){let n=t.negate();return e?n:t}function Vl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Hl(e,t){Vl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:ul(e),maxNumber:i,shiftBy:BigInt(e)}}function Ul(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+=Zl);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 Wl(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 Gl(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 Kl(e){return $l.get(e)||1}function ql(e,t){return{constTimeNegate:Bl,hasPrecomputes(e){return Kl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Xl;)n&Zl&&(r=r.add(i)),i=i.double(),n>>=Zl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Hl(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=Hl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Ul(i,e,s);i=t,c?o=o.add(Bl(u,r[d])):a=a.add(Bl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=Hl(n,t);for(let e=0;e<o.windows&&i!==Xl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=Ul(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=Ql.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Ql.set(t,n(r))),r},wNAFCached(e,t,n){let r=Kl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Kl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Vl(n,t),$l.set(e,n),Ql.delete(e)}}}function Jl(e,t,n,r){Wl(n,e),Gl(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=el(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=ul(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 Yl(e){return Sl(e.Fp),nl(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...El(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Xl,Zl,Ql,$l,eu=o((()=>{zl(),ml(),Xl=BigInt(0),Zl=BigInt(1),Ql=new WeakMap,$l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction tu(e){e.lowS!==void 0&&Rc(`lowS`,e.lowS),e.prehash!==void 0&&Rc(`prehash`,e.prehash)}function nu(e){let t=Yl(e);nl(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 ru(e,t){return Vc(Kc(e,t))}function iu(e){let t=nu(e),{Fp:n}=t,r=Dl(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return Yc(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,mu),hu),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 Qc(e,fu,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Ic(e)&&(e=Vc(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:Wc(Jc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=hl(o,a)),$c(`private key`,o,fu,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=rl((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=rl(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=wl(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(Jc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return Jl(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,mu),{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,mu),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;$c(`scalar`,e,du,i);let a=h.ZERO;if(e===du)return a;if(this.is0()||e===fu)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>du||l>du;)s&fu&&(u=u.add(f)),l&fu&&(d=d.add(f)),f=f.double(),s>>=fu,l>>=fu;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;$c(`scalar`,e,fu,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===du||t===fu||!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===fu)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===fu?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Rc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Rc(`isCompressed`,e),Vc(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=ql(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function au(e){let t=Yl(e);return nl(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function ou(e){let t=au(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return hl(e,r)}function l(e){return _l(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=iu({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=Yc;return Rc(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=Wc(i);if(!Qc(e,fu,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&fu)===fu;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>>fu}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>Wc(e.slice(t,n));class _{constructor(e,t,n){$c(`r`,e,fu,r),$c(`s`,t,fu,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=Jc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=uu.toSig(Jc(`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(Jc(`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+ru(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 Uc(this.toDERHex())}toDERHex(){return uu.hexFromSig(this)}toCompactRawBytes(){return Uc(this.toCompactHex())}toCompactHex(){let e=i;return ru(this.r,e)+ru(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=kl(t.n);return Al(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=Jc(`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=Wc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=ul(a);function T(e){return $c(`num < 2^`+a,e,du,w),Kc(e,i)}function ee(e,r,i=te){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=Jc(`msgHash`,e),tu(i),f&&(e=Jc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(Jc(`extraEntropy`,e))}let x=Yc(...b),w=v;function ee(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===du)return;let a=c(n*c(w+i*y));if(a===du)return;let o=(r.x===i?0:2)|Number(r.y&fu),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return tl(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=Jc(`msgHash`,n),r=Jc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(tu(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`||Ic(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 uu.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function su(e,t){let n=e.ORDER,r=du;for(let e=n-fu;e%pu===du;e/=pu)r+=fu;let i=r,a=pu<<i-fu-fu,o=a*pu,s=(n-fu)/o,c=(s-fu)/pu,l=o-fu,u=a,d=e.pow(t,s),f=e.pow(t,(s+fu)/pu),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>fu;t--){let n=t-pu;n=pu<<n-fu;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%hu===mu){let n=(e.ORDER-mu)/hu,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 cu(e,t){if(Sl(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=su(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=wl(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var lu,uu,du,fu,pu,mu,hu,gu=o((()=>{eu(),zl(),ml(),lu=class extends Error{constructor(e=``){super(e)}},uu={Err:lu,_tlv:{encode:(e,t)=>{let{Err:n}=uu;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=zc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?zc(i.length/2|128):``;return zc(e)+a+i+t},decode(e,t){let{Err:n}=uu,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}=uu;if(e<du)throw new t(`integer: negative integers are not allowed`);let n=zc(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}=uu;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 Wc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=uu,i=Jc(`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}=uu,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},du=BigInt(0),fu=BigInt(1),pu=BigInt(2),mu=BigInt(3),hu=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction _u(e){return{hash:e,hmac:(t,...n)=>Pc(e,t,_r(...n)),randomBytes:yr}}function vu(e,t){let n=t=>ou({...e,..._u(t)});return{...n(t),create:n}}var yu=o((()=>{Fc(),Cr(),gu()}));function bu(e,t){if(Su(e),Su(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 xu(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 Su(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Cu(e,t,n,r){Lc(e),Lc(t),Su(n),t.length>255&&(t=r(Yc(Zc(`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=Yc(t,bu(t.length,1)),c=bu(0,a),l=bu(n,2),u=Array(o),d=r(Yc(c,e,l,bu(0,1),s));u[0]=r(Yc(d,bu(1,1),s));for(let e=1;e<=o;e++)u[e]=r(Yc(xu(d,u[e-1]),bu(e+1,1),s));return Yc(...u).slice(0,n)}function wu(e,t,n,r,i){if(Lc(e),Lc(t),Su(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(Zc(`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(bu(n,2)).update(t).update(bu(t.length,1)).digest()}function Tu(e,t,n){nl(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;Lc(e),Su(t);let l=typeof c==`string`?Zc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Cu(e,l,f,o);else if(s===`xof`)p=wu(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=hl(Ou(p.subarray(i,i+d)),r)}m[e]=t}return m}function Eu(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]=wl(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Du(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=Tu(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(Tu(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 Ou,ku=o((()=>{zl(),ml(),Ou=Wc})),Au=c({encodeToCurve:()=>od,hashToCurve:()=>ad,schnorr:()=>td,secp256k1:()=>Ku,secp256k1_hasher:()=>id});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ju(e){let t=zu,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=gl(gl(gl(u,n,t)*u%t,n,t)*u%t,Uu,t)*l%t,f=gl(d,i,t)*d%t,p=gl(f,a,t)*f%t,m=gl(p,s,t)*p%t,h=gl(gl(gl(gl(gl(gl(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,Uu,t);if(!Gu.eql(Gu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Mu(e,...t){let n=qu[e];if(n===void 0){let t=kc(Uint8Array.from(e,e=>e.charCodeAt(0)));n=Yc(t,t),qu[e]=n}return kc(Yc(n,...t))}function Nu(e){let t=Ku.utils.normPrivateKeyToScalar(e),n=Qu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Zu(-t),bytes:Ju(n)}}function Pu(e){$c(`x`,e,Hu,zu);let t=ju(Xu(Xu(e*e)*e+BigInt(7)));t%Uu!==Vu&&(t=Xu(-t));let n=new Qu(e,t,Hu);return n.assertValidity(),n}function Fu(...e){return Zu(ed(Mu(`BIP0340/challenge`,...e)))}function Iu(e){return Nu(e).bytes}function Lu(e,t,n=yr(32)){let r=Jc(`message`,e),{bytes:i,scalar:a}=Nu(t),o=Zu(ed(Mu(`BIP0340/nonce`,Yu(a^ed(Mu(`BIP0340/aux`,Jc(`auxRand`,n,32)))),i,r)));if(o===Vu)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Nu(o),l=Fu(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(Yu(Zu(c+l*a)),32),!Ru(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Ru(e,t,n){let r=Jc(`signature`,e,64),i=Jc(`message`,t),a=Jc(`publicKey`,n,32);try{let e=Pu(ed(a)),t=ed(r.subarray(0,32));if(!Qc(t,Hu,zu))return!1;let n=ed(r.subarray(32,64));if(!Qc(n,Hu,Bu))return!1;let o=$u(e,n,Zu(-Fu(Yu(t),Ju(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd=o((()=>{Mc(),Cr(),yu(),ku(),zl(),ml(),gu(),zu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Bu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),Vu=BigInt(0),Hu=BigInt(1),Uu=BigInt(2),Wu=(e,t)=>(e+t/Uu)/t,Gu=Dl(zu,void 0,void 0,{sqrt:ju}),Ku=vu({a:Vu,b:BigInt(7),Fp:Gu,n:Bu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Bu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-Hu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=Wu(a*e,t),c=Wu(-r*e,t),l=hl(e-s*n-c*i,t),u=hl(-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}}}},kc),qu={},Ju=e=>e.toRawBytes(!0).slice(1),Yu=e=>Kc(e,32),Xu=e=>hl(e,zu),Zu=e=>hl(e,Bu),Qu=Ku.ProjectivePoint,$u=(e,t,n)=>Qu.BASE.multiplyAndAddUnsafe(e,t,n),ed=Wc,td={getPublicKey:Iu,sign:Lu,verify:Ru,utils:{randomPrivateKey:Ku.utils.randomPrivateKey,lift_x:Pu,pointToBytes:Ju,numberToBytesBE:Kc,bytesToNumberBE:Wc,taggedHash:Mu,mod:hl}},nd=Eu(Gu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),rd=cu(Gu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:Gu.create(BigInt(`-11`))}),id=Du(Ku.ProjectivePoint,e=>{let{x:t,y:n}=rd(Gu.create(e[0]));return nd(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:Gu.ORDER,m:1,k:128,expand:`xmd`,hash:kc}),ad=id.hashToCurve,od=id.encodeToCurve}));Lt(),zt(),hn(),A();async function cd({hash:e,signature:t}){let n=O(e)?e:Xt(e),{secp256k1:r}=await Promise.resolve().then(()=>(sd(),Au));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=ld(Number(a??i));return new r.Signature(j(e),j(n)).addRecoveryBit(o)}let e=O(t)?t:Xt(t);if(Rt(e)!==65)throw Error(`invalid signature length`);let n=ld(mn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function ld(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 ud({hash:e,signature:t}){return uc(await cd({hash:e,signature:t}))}D(),Io(),dn(),A();function dd(e,t=`hex`){let n=fd(e),r=Po(new Uint8Array(n.length));return n.encode(r),t===`hex`?Qt(r.bytes):r.bytes}function fd(e){return Array.isArray(e)?pd(e.map(e=>fd(e))):md(e)}function pd(e){let t=e.reduce((e,t)=>e+t.length,0),n=hd(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 md(e){let t=typeof e==`string`?on(e):e,n=hd(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 hd(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new E(`Length is too large.`)}Zo(),dn(),A(),Wr();function gd(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=Ur(Xo([`0x05`,dd([t?k(t):`0x`,i,n?k(n):`0x`])]));return r===`bytes`?on(a):a}async function _d(e){let{authorization:t,signature:n}=e;return ud({hash:gd(t),signature:n??t})}Se(),ee(),D(),Fe();var vd=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=Ce({from:t?.address,to:u,value:d!==void 0&&`${xe(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${T(o)} gwei`,maxFeePerGas:s!==void 0&&`${T(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${T(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}};be(),Et();function yd(e,{docsPath:t,...n}){return new vd((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}function bd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Wt({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Wt({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function xd(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=k(t)),n!==void 0&&(o.nonce=k(n)),r!==void 0&&(o.state=bd(r)),i!==void 0){if(o.state)throw new ec;o.stateDiff=bd(i)}return o}function Sd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Yr(n,{strict:!1}))throw new kn({address:n});if(t[n])throw new $s({address:n});t[n]=xd(r)}return t}var Cd=o((()=>{An(),Gt(),tc(),Qr(),A()}));async function wd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}hn();async function Td(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 M(e,ri,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?j(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):M(e,ri,`getBlock`)({}),M(e,wd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new oe;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Ed(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 ae;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await M(e,ri,`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 oe;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Td(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 M(e,wd,`getGasPrice`)({}))}}function Dd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new E(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?k(n):r??`latest`}var Od=o((()=>{D(),A()}));Od(),hn();async function kd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Dd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return mn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}dn(),A();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=>on(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Qt(e))}dn(),A();function jd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>on(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>on(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=>Qt(e))}Mc();let Md=kc;Lt(),dn(),A();function Nd(e,t){let n=t||`hex`,r=Md(O(e,{strict:!1})?nn(e):e);return n===`bytes`?r:Xt(r)}A();function Pd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Nd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Qt(i)}function Fd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Pd({commitment:e,to:r,version:n}));return i}D();var Id=class extends E{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Ld=class extends E{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Rd=class extends E{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},zd=class extends E{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Io(),zt(),dn(),A();function Bd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?on(e.data):e.data,r=Rt(n);if(!r)throw new Ld;if(r>761855)throw new Id({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Po(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=>Qt(e.bytes))}function Vd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Bd({data:t,to:r}),a=e.commitments??Ad({blobs:i,kzg:n,to:r}),o=e.proofs??jd({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}Fe();function Hd(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 Ee({transaction:e})}p(),Mn(),ei();let Ud=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Wd=new Map,Gd=new jn(128);async function Kd(e,t){let n=t;n.account??=e.account,n.parameters??=Ud;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await M(e,ii,`getChainId`)({}),c):n.chainId)}let u=r&&f(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let p=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Gd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await M(e,ai,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return Gd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Gd.set(e.uid,!1),n}):n;d??=p.nonce,n={...p,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:m,gas:h,kzg:g,type:_}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let v;async function y(){return v||(v=await M(e,ri,`getBlock`)({blockTag:`latest`}),v)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await M(e,kd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&m&&g){let e=Ad({blobs:m,kzg:g});if(o.includes(`blobVersionedHashes`)){let t=Fd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Vd({blobs:m,commitments:e,proofs:jd({blobs:m,commitments:e,kzg:g}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&_===void 0)try{n.type=Hd(n)}catch{let t=Wd.get(e.uid);t===void 0&&(t=typeof(await y())?.baseFeePerGas==`bigint`,Wd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Ed(e,{block:await y(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new se({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new oe;if(n.gasPrice===void 0){let{gasPrice:t}=await Ed(e,{block:await y(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&h===void 0&&(n.gas=await M(e,qd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),$r(n),delete n.parameters,n}p(),D(),A(),kt(),En(),Cd(),ei();async function qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?f(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await _d({authorization:t.authorizationList[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Kd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?k(u):void 0)||d,C=Sd(b);$r(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||Sn)({...Ot(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw yd(n,{...t,account:i,chain:e.chain})}}p(),Hs();async function Jd(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=Vs({abi:n,args:i,functionName:a});try{return await M(e,qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?f(s.account):void 0)?.address})}}function Yd(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=Ps({abi:t,args:n,name:r});if(!e)throw new vo(r,{docsPath:Xd});a=e}if(a.type!==`function`)throw new vo(void 0,{docsPath:Xd});if(!a.outputs)throw new yo(a.name,{docsPath:Xd});let o=ms(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var Xd,Zd=o((()=>{ko(),Es(),Ls(),Xd=`/docs/contract/decodeFunctionResult`})),Qd,$d=o((()=>{Qd=`0.1.1`}));function ef(){return Qd}var tf=o((()=>{$d()}));function nf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?nf(e.cause,t):t?null:e}var N,rf=o((()=>{tf(),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 nf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${ef()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function af(e,t){if(Nf(e)>t)throw new Kf({givenSize:Nf(e),maxSize:t})}function of(e,t){if(typeof t==`number`&&t>0&&t>Nf(e)-1)throw new qf({offset:t,position:`start`,size:Nf(e)})}function sf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Nf(e)!==n-t)throw new qf({offset:n,position:`end`,size:Nf(e)})}function cf(e){if(e>=df.zero&&e<=df.nine)return e-df.zero;if(e>=df.A&&e<=df.F)return e-(df.A-10);if(e>=df.a&&e<=df.f)return e-(df.a-10)}function lf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Jf({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 uf(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 df,ff=o((()=>{Yf(),df={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function pf(e,t){if(ip(e)>t)throw new gp({givenSize:ip(e),maxSize:t})}function mf(e,t){if(typeof t==`number`&&t>0&&t>ip(e)-1)throw new _p({offset:t,position:`start`,size:ip(e)})}function hf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&ip(e)!==n-t)throw new _p({offset:n,position:`end`,size:ip(e)})}function gf(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 vp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function _f(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 vf=o((()=>{R()}));function yf(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=>yf(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)}:${yf(r)}`),t},[]).join(`,`)}}`}function bf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Sf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function xf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Sf:n,n)}var Sf,Cf=o((()=>{Sf=`#__bigint`}));function wf(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 Gf(e)}function Tf(...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 Ef(e){return e instanceof Uint8Array?e:typeof e==`string`?Of(e):Df(e)}function Df(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Of(e,t={}){let{size:n}=t,r=e;n&&(pf(e,n),r=np(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=cf(i.charCodeAt(t++)),r=cf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function kf(e,t={}){let{size:n}=t,r=Uf.encode(e);return typeof n==`number`?(af(r,n),jf(r,n)):r}function Af(e,t){return Xc(e,t)}function jf(e,t){return lf(e,{dir:`right`,size:t})}function Mf(e){return crypto.getRandomValues(new Uint8Array(e))}function Nf(e){return e.length}function Pf(e,t,n,r={}){let{strict:i}=r;of(e,t);let a=e.slice(t,n);return i&&sf(a,t,n),a}function Ff(e,t={}){let{size:n}=t;return n!==void 0&&af(e,n),L($f(e,t),t)}function If(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(af(r,n),r=zf(r)),r.length>1||r[0]>1)throw new Wf(r);return!!r[0]}function Lf(e,t={}){let{size:n}=t;return n!==void 0&&af(e,n),sp($f(e,t),t)}function Rf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(af(r,n),r=Bf(r)),Hf.decode(r)}function zf(e){return uf(e,{dir:`left`})}function Bf(e){return uf(e,{dir:`right`})}function Vf(e){try{return wf(e),!0}catch{return!1}}var Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf=o((()=>{ml(),rf(),R(),ff(),vf(),Cf(),Hf=new TextDecoder,Uf=new TextEncoder,Wf=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`})}},Gf=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?xf(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`})}},Kf=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`})}},qf=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`})}},Jf=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 Xf(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new pp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new mp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function Zf(e){return e instanceof Uint8Array?$f(e):Array.isArray(e)?$f(new Uint8Array(e)):e}function Qf(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(pf(n,t.size),tp(n,t.size)):n}function $f(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=dp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(pf(r,t.size),np(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 fp({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?tp(s,r):s}function ep(e,t={}){return $f(up.encode(e),t)}function tp(e,t){return gf(e,{dir:`left`,size:t})}function np(e,t){return gf(e,{dir:`right`,size:t})}function rp(e){return $f(Mf(e))}function I(e,t,n,r={}){let{strict:i}=r;mf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&hf(a,t,n),a}function ip(e){return Math.ceil((e.length-2)/2)}function ap(e){return _f(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&pf(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 op(e,t={}){return Of(e,t)}function sp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function cp(e,t={}){let{size:n}=t,r=Of(e);return n&&(af(r,n),r=Bf(r)),new TextDecoder().decode(r)}function lp(e,t={}){let{strict:n=!1}=t;try{return Xf(e,{strict:n}),!0}catch{return!1}}var up,dp,fp,pp,mp,hp,gp,_p,vp,R=o((()=>{Yf(),rf(),ff(),vf(),Cf(),up=new TextEncoder,dp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),fp=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`})}},pp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?xf(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`})}},mp=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`})}},hp=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`})}},gp=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`})}},_p=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`})}},vp=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 yp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var bp=o((()=>{R()}));function xp(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(yp)}}}var Sp=o((()=>{R(),bp()})),Cp=o((()=>{})),wp,Tp,Ep,Dp,Op=o((()=>{wp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Tp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Ep=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Dp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),kp,Ap,jp,Mp,Np,Pp=o((()=>{D(),kp=class extends E{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Ap=class extends E{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},jp=class extends E{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Mp=class extends E{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Np=class extends E{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Fp(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 ao({docsPath:Ip});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new oo({docsPath:Ip});return Xo([r,ts(i.inputs,n)])}var Ip,Lp=o((()=>{ko(),Zo(),ps(),Ip=`/docs/contract/encodeDeployData`}));function Rp({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 zp=o((()=>{Pp()}));function Bp(e,{docsPath:t,...n}){return new nc((()=>{let t=Tt(e,n);return t instanceof ye?e:t})(),{docsPath:t,...n})}var Vp=o((()=>{cc(),be(),Et()}));function Hp(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Up=o((()=>{}));function Wp({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=()=>Gp.delete(t),s=()=>c().map(({args:e})=>e),c=()=>Gp.get(t)||[],l=e=>Gp.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=Hp();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 Gp,Kp=o((()=>{Up(),Gp=new Map})),qp,Jp,Yp,Xp=o((()=>{Le(),D(),He(),qp=class extends E{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Ve(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},Jp=class extends E{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Ve(t)}`,`Response: ${Ie(e)}`],name:`OffchainLookupResponseMalformedError`})}},Yp=class extends E{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function Zp(e){let{abi:t,data:n}=e,r=Lo(n,0,4),i=t.find(e=>e.type===`function`&&r===Ms(to(e)));if(!i)throw new bo(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?ms(i.inputs,Lo(n,4)):void 0}}var Qp=o((()=>{ko(),Ho(),Ns(),Es(),io()}));function $p(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=Ps({abi:t,args:r,name:n});if(!e)throw new mo(n,{docsPath:em});i=e}if(i.type!==`error`)throw new mo(void 0,{docsPath:em});let a=Ms(to(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new po(i.name,{docsPath:em});o=ts(i.inputs,r)}return Xo([a,o])}var em,tm=o((()=>{ko(),Zo(),Ns(),ps(),io(),Ls(),em=`/docs/contract/encodeErrorResult`}));function nm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=Ps({abi:t,name:n});if(!e)throw new vo(n,{docsPath:rm});i=e}if(i.type!==`function`)throw new vo(void 0,{docsPath:rm});if(!i.outputs)throw new yo(i.name,{docsPath:rm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Do(r)})();return ts(i.outputs,a)}var rm,im=o((()=>{ko(),ps(),Ls(),rm=`/docs/contract/encodeFunctionResult`}));async function am(e){let{data:t,ccipRequest:n}=e,{args:[r]}=Zp({abi:si,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await am({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=om(e)}})),nm({abi:si,functionName:`query`,result:[i,a]})}function om(e){return e.name===`HttpRequestError`&&e.status?$p({abi:si,errorName:`HttpError`,args:[e.status,e.shortMessage]}):$p({abi:[Ws],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var sm=o((()=>{fi(),Ks(),Qp(),tm(),im()})),cm=c({ccipRequest:()=>um,offchainLookup:()=>lm,offchainLookupAbiItem:()=>fm,offchainLookupSignature:()=>dm});async function lm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=qs({data:r,abi:[fm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:um;try{if(!pi(a,s))throw new Yp({sender:s,to:a});let{data:r}=await mm(e,{blockNumber:t,blockTag:n,data:Jo([u,ts([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await am({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?Re(i.signal):ze(e)?e:new qp({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function um({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 Re(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 Ue({body:c,details:a?.error?Ie(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!O(a)){i=new Jp({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Re(t.signal);if(ze(e))throw e;i=new Ue({body:c,details:e.message,url:o})}}throw i}var dm,fm,pm=o((()=>{Tm(),Xp(),qe(),He(),Js(),ps(),mi(),Zo(),Lt(),sm(),Le(),dm=`0x556f1830`,fm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function mm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:p,data:m,factory:h,factoryData:g,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,requestOptions:C,to:w,value:T,stateOverride:ee,...te}=t,ne=n?f(n):void 0;if(p&&(h||g))throw new E(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(p&&w)throw new E(\"Cannot provide both `code` & `to` as parameters.\");let re=p&&m,ie=h&&g&&w&&m,D=re||ie,ae=re?bm({code:p,data:m}):ie?xm({data:m,factory:h,factoryData:g,to:w}):m;try{$r(t);let n=Dd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?xp(d):void 0,p=Sd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||Sn)({...Ot(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:ae,gas:_,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:S,to:D?void 0:w,value:T},`call`);if(i&&hm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=vm(e,{blockNumber:o,deployless:t});if(!n||!ym(p,n))return await _m(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:C,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Mp)&&!(e instanceof kp))throw e}let g=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:g},C);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(C?.signal?.aborted)throw Re(C.signal);if(ze(n))throw n;let r=Sm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(pm(),cm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&w)return{data:await i(e,{data:r,requestOptions:C,to:w})};throw D&&r?.slice(0,10)===`0x101bb98d`?new oc({factory:h}):Bp(n,{...t,account:ne,chain:e.chain})}}function hm({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 gm(e){if(!e)return`default`;let t=wm.get(e);if(t!==void 0)return t;let n=Cm++;return wm.set(e,n),n}async function _m(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?vm(e,{blockNumber:o,deployless:r}):u,h=Dd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=Wp({id:`${e.uid}.${g}.${gm(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=Vs({abi:oi,args:[n],functionName:`aggregate3`}),i={...m===null?{data:bm({code:Dp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return Yd({abi:oi,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new sc({data:y});return y===`0x`?{data:void 0}:{data:y}}function vm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return Rp({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Mp}function ym(e,t){return e?Object.keys(e).some(e=>pi(e,t)):!1}function bm(e){let{code:t,data:n}=e;return Fp({abi:Wa([`constructor(bytes, bytes)`]),bytecode:wp,args:[t,n]})}function xm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Fp({abi:Wa([`constructor(address, bytes, address, bytes)`]),bytecode:Tp,args:[i,t,n,r]})}function Sm(e){if(!(e instanceof E))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Cm,wm,Tm=o((()=>{Ka(),Sp(),p(),fi(),Cp(),Op(),D(),Pp(),cc(),He(),Zd(),Lp(),Hs(),mi(),Od(),zp(),Vp(),kt(),En(),Kp(),Cd(),ei(),Cm=0,wm=new WeakMap}));p(),Zd(),Hs(),Tm();async function Em(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?f(s.account):e.account,l=Vs({abi:n,args:i,functionName:a});try{let{data:u}=await M(e,mm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:Yd({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 lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}D();var Dm=class extends E{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},Om=class extends E{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Pp();function km({chain:e,currentChainId:t}){if(!e)throw new jp;if(t!==e.id)throw new Ap({chain:e,currentChainId:t})}async function Am(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}p(),D(),Zo(),kt(),En(),Mn(),ei();let jm=new jn(128);async function Mm(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,type:_,value:v,...y}=t;if(n===void 0)throw new Dm({docsPath:`/docs/actions/wallet/sendTransaction`});let b=n?f(n):null,x;try{$r(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await _d({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(b?.type===`json-rpc`||b===null){let t;i!==null&&(t=await M(e,ii,`getChainId`)({}),r&&km({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,x=(f||Sn)({...Ot(y,{format:f}),accessList:a,account:b,authorizationList:o,blobs:s,chainId:t,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:_,value:v},`sendTransaction`),S=jm.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=>(jm.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(jm.set(e.uid,!1),n):r});throw n}}if(b?.type===`local`){if(b.nonceManager&&g===void 0){let t=y.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:M(e,ii,`getChainId`)({}))();x={address:b.address,chainId:n}}let t=await M(e,Kd,`prepareTransactionRequest`)({account:b,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:b.nonceManager,parameters:[...Ud,`sidecars`],type:_,value:v,...y,to:n}),r=i?.serializers?.transaction,f=await b.signTransaction(t,{serializer:r});return await M(e,Am,`sendRawTransaction`)({serializedTransaction:f})}throw b?.type===`smart`?new Om({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Om({docsPath:`/docs/actions/wallet/sendTransaction`,type:b?.type})}catch(e){throw e instanceof Om?e:(x&&b?.nonceManager?.reset(x),Dt(e,{...t,account:b,chain:t.chain||void 0}))}}p(),Hs();async function z(e,t){return z.internal(e,Mm,`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 Dm({docsPath:`/docs/contract/writeContract`});let u=a?f(a):null,d=Vs({abi:i,args:s,functionName:c});try{return await M(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw lc(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),D();var Nm=class extends E{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function Pm(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new Nm({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}`)}Zd(),Hs(),Tm();async function Fm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=Vs({abi:n,args:i,functionName:a});try{let{data:t}=await M(e,mm,`call`)({...o,data:s,to:r});return Yd({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw lc(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}Qr(),mi(),Hs(),w();function Im(e,t){return{amount:e,decimals:t,formatted:C(e,t)}}function Lm(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Pm(e.formatted,Rm(n))}function Rm(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function zm(e,t){return typeof e==`bigint`?t:e.decimals??t}function Bm(e,t){let{decimals:n,token:r}=t,i=Vm(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Yr(r,{strict:!1}))return{address:r,decimals:n??Wm(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 Vm(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=Um(n,t);if(i)return Hm(i,r);if(Yr(t,{strict:!1}))for(let e of n){let n=Hm(e,r);if(n&&pi(n.address,t))return n}}function Hm(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 Um(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function Wm(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=Hm(e,r);if(n&&pi(n.address,t))return n.decimals}}function Gm(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 Km(e){return{...e,data:Vs(e),to:e.address}}fi();async function qm(e,t){return qm.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 Km(Jm(e,t))}e.call=n;async function r(t,n){return Jd(t,{...Gm(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...Gm(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:di,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(qm||={});function Jm(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=Bm(e,{token:i});return{abi:di,address:a,args:[r,Lm(n,o)],functionName:`approve`}}let Ym=new Map,Xm=new Map,Zm=0;function Qm(e,t,n){let r=++Zm,i=()=>Ym.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Ym.delete(e),Xm.delete(e);return}Ym.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Xm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Ym.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Xm.set(e,l),o}He();async function $m(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Re(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Re(t))};t?.addEventListener(`abort`,o,{once:!0})})}He();function eh(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Re(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await $m(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Re(i));return}if(ze(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Fe(),A();async function th(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:k(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,k(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,k(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,k(s)]},{dedupe:!0})),!u)throw new je({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||yn)(u,`getTransaction`)}hn(),_n();let nh={\"0x0\":`reverted`,\"0x1\":`success`};function rh(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=>hi(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?mn(e.transactionIndex):null,status:e.status?nh[e.status]:null,type:e.type?vn[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let ih=gn(`transactionReceipt`,rh);Fe();async function ah(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Me({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||rh)(n,`getTransactionReceipt`)}function oh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await $m(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await $m(r),s())};s()})(),a}let sh=new Map,ch=new Map;function lh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,sh),r=t(e,ch);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function uh(e,{cacheKey:t,cacheTime:n=1/0}){let r=lh(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 dh=e=>`blockNumber.${e}`;async function fh(e,{cacheTime:t=e.cacheTime}={}){let n=await uh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:dh(e.uid),cacheTime:t});return BigInt(n)}hn(),Le();function ph(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?!(e.transport.type===`webSocket`||e.transport.type===`ipc`||e.transport.type===`fallback`&&(e.transport.transports[0].config.type===`webSocket`||e.transport.transports[0].config.type===`ipc`)):a,c;return s?Qm(Ie([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>oh(async()=>{try{let t=await M(e,fh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Qm(Ie([`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=j(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Fe(),Up(),Le();async function mh(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=Ie([`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}=Hp(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Pe({hash:i}))},c):void 0;return h=Qm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await M(e,ah,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=M(e,ph,`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 eh(async()=>{d=await M(e,th,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await M(e,ah,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof je||n instanceof Me){if(!d){m=!1;return}try{f=d,m=!0;let n=await eh(()=>M(e,ri,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof ti});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await M(e,ah,`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))}}})}),_}Fe();async function hh(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||rh)(i);if(a.status===`reverted`&&n)throw new Ne({receipt:a});return a}p(),D(),Fe(),Zo(),kt(),En(),Mn(),ei();let gh=new jn(128);async function _h(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,pollingInterval:_,throwOnReceiptRevert:v,type:y,value:b,...x}=t,S=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new Dm({docsPath:`/docs/actions/wallet/sendTransactionSync`});let C=n?f(n):null,w;try{$r(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await _d({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(C?.type===`json-rpc`||C===null){let t;i!==null&&(t=await M(e,ii,`getChainId`)({}),r&&km({currentChainId:t,chain:i}));let f=e.chain?.formatters?.transactionRequest?.format,w=(f||Sn)({...Ot(x,{format:f}),accessList:a,account:C,authorizationList:o,blobs:s,chainId:t,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,to:n,type:y,value:b},`sendTransaction`),T=gh.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[w]},{retryCount:0}).then(t=>(gh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(gh.set(e.uid,!1),n):r});throw n}})(),ne=await M(e,mh,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:_,timeout:S});if(v&&ne.status===`reverted`)throw new Ne({receipt:ne});return ne}if(C?.type===`local`){if(C.nonceManager&&g===void 0){let t=x.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:M(e,ii,`getChainId`)({}))();w={address:C.address,chainId:n}}let r=await M(e,Kd,`prepareTransactionRequest`)({account:C,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Jo([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:p,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:g,nonceManager:C.nonceManager,parameters:[...Ud,`sidecars`],type:y,value:b,...x,to:n}),f=i?.serializers?.transaction,_=await C.signTransaction(r,{serializer:f});return await M(e,hh,`sendRawTransactionSync`)({serializedTransaction:_,throwOnReceiptRevert:v,timeout:t.timeout})}throw C?.type===`smart`?new Om({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Om({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:C?.type})}catch(e){throw e instanceof Om?e:(w&&!(e instanceof Ne)&&C?.nonceManager?.reset(w),Dt(e,{...t,account:C,chain:t.chain||void 0}))}}async function vh(e,t){return z.internal(e,_h,`sendTransactionSync`,t)}w();async function yh(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Bm(e,{token:r}),o=zm(n,a),s=await qm.inner(vh,e,{...t,throwOnReceiptRevert:i}),{args:c}=qm.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:C(c.value,o)},receipt:s}}fi();async function bh(e,t){return bh.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 Km(xh(e,t))}e.call=n;async function r(t,n){return Jd(t,{...Gm(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...Gm(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:di,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(bh||={});function xh(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=Bm(e,{token:a}),c=Lm(n,s);return r?{abi:di,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:di,address:o,args:[i,c],functionName:`transfer`}}w();async function Sh(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Bm(e,{token:r}),o=zm(n,a),s=await bh.inner(vh,e,{...t,throwOnReceiptRevert:i}),{args:c}=bh.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:C(c.value,o)},receipt:s}}A();async function Ch(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:k(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}Lp();function wh(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=Fp({abi:n,args:r,bytecode:i});return Mm(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Jr();async function Th(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Gr(e))}p(),D(),wt(),Hs(),Zo(),hn(),A();let Eh=k(0,{size:32});async function Dh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?f(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?Vs({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Jo([n,t.dataSuffix]):n,to:t.to,value:t.value?k(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:k(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new ht(new E(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new xt(new E(e,{details:e}))}let t=[];for(let n of d){try{let i=await Mm(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?j(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:Jo([...t.map(e=>e.status===`fulfilled`?e.value:Eh),k(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Dt(n,{...t,account:l,chain:t.chain})}}Ho(),Vt(),hn();async function Oh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Bt(Vo(t,-64,-32)),r=Vo(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>Eh.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:mn(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?mn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:j(e.blockNumber),gasUsed:j(e.gasUsed),status:nh[e.status]}))??[],statusCode:l,status:c,version:o}}p(),A();async function kh(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?f(n):void 0,a=r?[i?.address,[k(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 Ah(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}p(),mi();async function jh(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new Dm({docsPath:`/docs/eip7702/prepareAuthorization`});let a=f(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:f(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await M(e,ii,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await M(e,kd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&pi(o.address,a.address))&&(s.nonce+=1)),s}Jr();async function Mh(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Kr(e))}async function Nh(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}D();var Ph=class extends E{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};D(),Up(),Le();async function Fh(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=Ie([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=Hp(),p,m=Qm(l,{resolve:d,reject:f},t=>{let s=oh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await eh(async()=>{let t=await M(e,Oh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Ph(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Ih({id:n}))},s):void 0,await u}var Ih=class extends E{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};async function Lh(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await M(e,Dh,`sendCalls`)(t);return await M(e,Fh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Rh(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}p();async function zh(e,t){let{account:n=e.account}=t;if(!n)throw new Dm({docsPath:`/docs/eip7702/signAuthorization`});let r=f(n);if(!r.signAuthorization)throw new Om({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await jh(e,t);return r.signAuthorization(i)}p(),A();async function Bh(e,{account:t=e.account,message:n}){if(!t)throw new Dm({docsPath:`/docs/actions/wallet/signMessage`});let r=f(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?$t(n):n.raw instanceof Uint8Array?Xt(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}p(),A(),En(),ei();async function Vh(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Dm({docsPath:`/docs/actions/wallet/signTransaction`});let a=f(n);$r({account:a,...t});let o=await M(e,ii,`getChainId`)({});r!==null&&km({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Sn;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:k(o),from:a.address}]},{retryCount:0})}Le(),D();var Hh=class extends E{constructor({domain:e}){super(`Invalid domain \"${Ie(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Uh=class extends E{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},Wh=class extends E{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};ps(),Zo(),A(),Wr();function Gh(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:tg({domain:t}),...e.types};eg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(Kh({domain:t,types:i})),r!==`EIP712Domain`&&a.push(qh({data:n,primaryType:r,types:i})),Ur(Jo(a))}function Kh({domain:e,types:t}){return qh({data:e,primaryType:`EIP712Domain`,types:t})}function qh({data:e,primaryType:t,types:n}){return Ur(Jh({data:e,primaryType:t,types:n}))}function Jh({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Yh({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Qh({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ts(r,i)}function Yh({primaryType:e,types:t}){return Ur(Xt(Xh({primaryType:e,types:t})))}function Xh({primaryType:e,types:t}){let n=``,r=Zh({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 Zh({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])Zh({primaryType:e.type,types:t},n);return n}function Qh({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},Ur(Jh({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},Ur(r)];if(n===`string`)return[{type:`bytes32`},Ur(Xt(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Qh({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},Ur(ts(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}ko(),An(),Qr(),zt(),A(),es(),Le();function $h(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 Ie({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function eg(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($o);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;k(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Yr(o))throw new kn({address:o});let c=r.match(Qo);if(c){let[e,t]=c;if(t&&Rt(o)!==Number.parseInt(t,10))throw new So({expectedSize:Number.parseInt(t,10),givenSize:Rt(o)})}let l=i[r];l&&(ng(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Hh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Uh({primaryType:r,types:i})}function tg({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 ng(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Wh({type:e})}p();async function rg(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Dm({docsPath:`/docs/actions/wallet/signTypedData`});let o=f(n),s={EIP712Domain:tg({domain:r}),...t.types};if(eg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=$h({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}A();async function ig(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:k(t)}]},{retryCount:0})}async function ag(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function og(e){return{addChain:t=>Ch(e,t),deployContract:t=>wh(e,t),fillTransaction:t=>ai(e,t),getAddresses:()=>Th(e),getCallsStatus:t=>Oh(e,t),getCapabilities:t=>kh(e,t),getChainId:()=>ii(e),getPermissions:()=>Ah(e),prepareAuthorization:t=>jh(e,t),prepareTransactionRequest:t=>Kd(e,t),requestAddresses:()=>Mh(e),requestPermissions:t=>Nh(e,t),sendCalls:t=>Dh(e,t),sendCallsSync:t=>Lh(e,t),sendRawTransaction:t=>Am(e,t),sendRawTransactionSync:t=>hh(e,t),sendTransaction:t=>Mm(e,t),sendTransactionSync:t=>_h(e,t),showCallsStatus:t=>Rh(e,t),signAuthorization:t=>zh(e,t),signMessage:t=>Bh(e,t),signTransaction:t=>Vh(e,t),signTypedData:t=>rg(e,t),switchChain:t=>ig(e,t),waitForCallsStatus:t=>Fh(e,t),watchAsset:t=>ag(e,t),writeContract:t=>z(e,t),writeContractSync:t=>vh(e,t),token:{approve:y(e,qm),approveSync:y(e,yh),transfer:y(e,bh),transferSync:y(e,Sh)}}}function sg(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return _({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(og)}Mn();let cg=new jn(8192);function lg(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(cg.get(n))return cg.get(n);let r=e().finally(()=>cg.delete(n));return cg.set(n,r),r}D(),qe(),wt(),He(),Le();function ug(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 ot(Error(`method not supported`),{method:u});if(c?.aborted)throw Re(c);return lg(()=>eh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Re(c);if(ze(e))throw e;let t=e;switch(t.code){case Ze.code:throw new Ze(t);case Qe.code:throw new Qe(t);case $e.code:throw new $e(t,{method:n.method});case et.code:throw new et(t);case tt.code:throw new tt(t);case nt.code:throw new nt(t);case rt.code:throw new rt(t);case it.code:throw new it(t);case at.code:throw new at(t);case ot.code:throw new ot(t,{method:n.method});case st.code:throw new st(t);case ct.code:throw new ct(t);case lt.code:throw new lt(t);case ut.code:throw new ut(t);case dt.code:throw new dt(t);case ft.code:throw new ft(t);case pt.code:throw new pt(t);case mt.code:throw new mt(t);case ht.code:throw new ht(t);case gt.code:throw new gt(t);case _t.code:throw new _t(t);case vt.code:throw new vt(t);case yt.code:throw new yt(t);case bt.code:throw new bt(t);case xt.code:throw new xt(t);case 5e3:throw new lt(t);case St.code:throw new St(t);default:throw e instanceof E?e:new Ct(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Ue){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})=>dg(e)}),{enabled:i,id:i?fg(`${l}.${Ie(n)}`):void 0})}}function dg(e){return ze(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===st.code||e.code===tt.code||e.code===429:e instanceof Ue&&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 fg(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 pg({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=g();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:ug(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function mg(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>pg({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}D();var hg=class extends E{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};He();function gg(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&&ze(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function _g(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let vg=_g();qe(),He(),Le();function yg(e,t={}){let{url:n,headers:r}=xg(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 gg(async({signal:e})=>{let t={...u,body:Ie(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??vg.take(),...e})):{jsonrpc:`2.0`,id:i.id??vg.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 Ke({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await bg(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 Ue({body:i,details:Ie(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Re(p):ze(e)||e instanceof Ue||e instanceof We||e instanceof Ke?e:new Ue({body:i,cause:e,url:n})}}}}async function bg(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 We({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new We({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 We({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function xg(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}}}qe(),Kp();let Sg=0,Cg=new WeakMap;function wg(e){if(!e)return`default`;let t=Cg.get(e);if(t!==void 0)return t;let n=Sg++;return Cg.set(e,n),n}function Tg(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 hg;let x=yg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return pg({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}=Wp({id:`${b}.${wg(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 Ge({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}Zo(),zt(),A();function Eg(e){let t=typeof e==`string`?$t(e):typeof e.raw==`string`?e.raw:Qt(e.raw);return Jo([$t(`\u0019Ethereum Signed Message:\n${Rt(t)}`),t])}Wr();function Dg(e,t){return Ur(Eg(e),t)}var Og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.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 kg(e,t){return e.exec(t)?.groups}let Ag=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,jg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Mg=/^\\(.+?\\).*?$/,Ng=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Pg(e){let t=e.type;if(Ng.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Pg(i),r<n-1&&(t+=`, `)}let r=kg(Ng,e.type);return t+=`)${r?.array||``}`,Pg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Fg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Pg(i),r!==n-1&&(t+=`, `)}return t}function Ig(e){return e.type===`function`?`function ${e.name}(${Fg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Fg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Fg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Fg(e.inputs)})`:e.type===`constructor`?`constructor(${Fg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Lg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Rg(e){return Lg.test(e)}function zg(e){return kg(Lg,e)}let Bg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Vg=new Set([`calldata`,`memory`,`storage`]);var Hg=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ug=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Wg=class extends Og{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Gg=class extends Og{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Kg=class extends Og{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},qg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Jg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Yg=class extends Og{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Xg=class extends Og{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Zg=class extends Og{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Qg=class extends Og{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},$g=class extends Og{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function e_(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let t_=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]]),n_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,r_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,i_=/^u?int$/;function a_(e,t){let n=e_(e,t?.type,t?.structs);if(t_.has(n))return t_.get(n);let r=Mg.test(e),i=kg(r?r_:n_,e);if(!i)throw new Gg({param:e});if(i.name&&l_(i.name))throw new Kg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=o_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(a_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(i_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!s_(c))throw new Ug({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new qg({param:e,type:t?.type,modifier:i.modifier});if(Vg.has(i.modifier)&&!u_(c,!!i.array))throw new Jg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return t_.set(n,u),u}function o_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?o_(o,[...t,n.trim()]):o_(o,t,`${n}${i}`,r);case`(`:return o_(o,t,`${n}${i}`,r+1);case`)`:return o_(o,t,`${n}${i}`,r-1);default:return o_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new $g({current:n,depth:r});return t.push(n.trim()),t}function s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ag.test(e)||jg.test(e)}let c_=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function l_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ag.test(e)||jg.test(e)||c_.test(e)}function u_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function d_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Rg(n))continue;let i=zg(n);if(!i)throw new Xg({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=a_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Zg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=p_(a,t)}return r}let f_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function p_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Mg.test(i.type))r.push(i);else{let e=kg(f_,i.type);if(!e?.type)throw new Yg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Qg({type:o});r.push({...i,type:`tuple${a??``}`,components:p_(t[o],t,new Set([...n,o]))})}else if(s_(o))r.push(i);else throw new Hg({type:o})}}return r}function m_(e){let t=[];if(typeof e==`string`){let n=o_(e),r=n.length;for(let e=0;e<r;e++)t.push(a_(n[e],{modifiers:Bg}))}else{let n=d_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Rg(r))continue;let a=o_(r),o=a.length;for(let e=0;e<o;e++)t.push(a_(a[e],{modifiers:Bg,structs:n}))}}if(t.length===0)throw new Wg({params:e});return t}let h_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;Fc(),Hr(),Yf(),R();function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Vr(Ef(e));return n===`Bytes`?r:$f(r)}function __(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Pc(Md,Ef(e),Ef(t));return r===`Bytes`?i:$f(i)}function v_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Md(Ef(e));return n===`Bytes`?r:$f(r)}function y_(e){return lp(e)&&ip(e)===32}Yf(),rf(),R(),Cf();function b_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new D_({prefix:r,cause:new k_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new D_({prefix:r,cause:new O_});return}throw new E_({publicKey:e})}function x_(e){let t=(()=>{if(lp(e))return C_(e);if(Vf(e))return S_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return b_(t),t}function S_(e){return C_($f(e))}function C_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new A_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(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 w_(e,t={}){return Of(T_(e,t))}function T_(e,t={}){b_(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 E_=class extends N{constructor({publicKey:e}){super(`Value \\`${xf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},D_=class extends 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`})}},O_=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`})}},k_=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`})}},A_=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 ${ip(Zf(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};Yf(),rf();let j_=/^0x[a-fA-F0-9]{40}$/;function M_(e,t={}){let{strict:n=!0}=t;if(!j_.test(e))throw new R_({address:e,cause:new z_});if(n){if(e.toLowerCase()===e)return;if(N_(e)!==e)throw new R_({address:e,cause:new B_})}}function N_(e){if(h_.has(e))return h_.get(e);M_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=g_(kf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return h_.set(e,i),i}function P_(e,t={}){let{checksum:n=!1}=t;return M_(e),n?N_(e):e}function F_(e,t={}){return P_(`0x${g_(`0x${T_(e).slice(4)}`).substring(26)}`,t)}function I_(e,t){return M_(e,{strict:!1}),M_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function L_(e,t={}){let{strict:n=!0}=t??{};try{return M_(e,{strict:n}),!0}catch{return!1}}var R_=class extends 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`})}},z_=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`})}},B_=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 V_=/^(.*)\\[([0-9]*)\\]$/,H_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,U_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let W_=2n**256n-1n;Yf(),rf(),R();function G_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=lv(t.type);if(a){let[n,o]=a;return q_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Z_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return K_(e,{checksum:r});if(t.type===`bool`)return J_(e);if(t.type.startsWith(`bytes`))return Y_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return X_(e,t);if(t.type===`string`)return Q_(e,{staticPosition:i});throw new Ev(t.type)}function K_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?N_(e):e)($f(Pf(e.readBytes(32),-20))),32]}function q_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Lf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Lf(e.readBytes(32)),s=uv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=G_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(uv(t)){let n=a+Lf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=G_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=G_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function J_(e){return[If(e.readBytes(32),{size:32}),32]}function Y_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Lf(e.readBytes(32));e.setPosition(n+t);let r=Lf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[$f(i),32]}return[$f(e.readBytes(Number.parseInt(i,10),32)),32]}function X_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Ff(i,{signed:n}):Lf(i,{signed:n}),32]}function Z_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(uv(t)){let n=i+Lf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=G_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=G_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Q_(e,{staticPosition:t}){let n=t+Lf(e.readBytes(32));e.setPosition(n);let r=Lf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Rf(zf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function $_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(ev({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function ev({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=lv(r.type);if(i){let[t,a]=i;return rv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return cv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return nv(n,{checksum:e});if(r.type===`bool`)return av(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=U_.exec(r.type)??[];return ov(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return iv(n,{type:r.type});if(r.type===`string`)return sv(n);throw new Ev(r.type)}function tv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=ip(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+=ip(s)):n.push(s)}return P(...n,...r)}function nv(e,t){let{checksum:n=!1}=t;return M_(e,{strict:n}),{dynamic:!1,encoded:tp(e.toLowerCase())}}function rv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Tv(e);if(!a&&e.length!==r)throw new Sv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=ev({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=tv(s);if(a){let t=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 iv(e,{type:t}){let[,n]=t.split(`bytes`),r=ip(e);if(!n){let t=e;return r%32!=0&&(t=np(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(tp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Cv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:np(e)}}function av(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:tp(Qf(e))}}function ov(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new fp({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 sv(e){let t=ep(e),n=Math.ceil(ip(t)/32),r=[];for(let e=0;e<n;e++)r.push(np(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(np(F(ip(t),{size:32})),...r)}}function cv(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=ev({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?tv(a):P(...a.map(({encoded:e})=>e))}}function lv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function uv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(uv);let n=lv(e.type);return!!(n&&uv({...e,type:n[1]}))}rf();let dv={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new hv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new mv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new pv({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new pv({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function fv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(dv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var pv=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},mv=class extends 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`})}},hv=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`})}};Yf(),rf(),R();function gv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Of(t):t,o=fv(a);if(Nf(a)===0&&e.length>0)throw new xv;if(Nf(a)&&Nf(a)<32)throw new bv({data:typeof t==`string`?t:$f(t),parameters:e,size:Nf(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]=G_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function _v(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let i=tv($_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function vv(e,t){if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(vv.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return M_(e),tp(e.toLowerCase(),r?32:0)}if(e===`string`)return ep(n);if(e===`bytes`)return n;if(e===`bool`)return tp(Qf(n),r?32:1);let i=e.match(U_);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(H_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Cv({expectedSize:Number.parseInt(t,10),value:n});return np(n,r?32:0)}let o=e.match(V_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new Ev(e)}e.encode=t})(vv||={});function yv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?m_(e):e}var bv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Fg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},xv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Sv=class extends 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`})}},Cv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${ip(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},wv=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`})}},Tv=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`})}},Ev=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`})}};rf(),R();function Dv(e){return e.startsWith(`tempo`)?Ov(e).address:e}function Ov(e){if(!e.startsWith(`tempox`))throw new kv({address:e});let t=e.slice(6);return Xf(t,{strict:!0}),{address:N_(t)}}var kv=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();let Av=`0x20c0`;function jv(e){let t=Dv(e);if(!t.toLowerCase().startsWith(Av))throw Error(`invalid tip20 address.`);return L(I(t,6))}function Mv(e){if(typeof e==`string`){let t=Dv(e);return M_(t),t}return P(Av,F(e,{size:18}))}R();let Nv=yv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),Pv=yv(`bytes32, bytes32, bytes32, uint256, address`),Fv=yv(`bytes32, bytes32, uint96`),Iv=g_(ep(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),Lv=g_(ep(`TIP20 Channel Reserve`)),Rv=g_(ep(`1`)),zv=`0x0000000000000000000000000000000000000000`,Bv=`0x4d50500000000000000000000000000000000000`,Vv=g_(ep(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function Hv(e){let{authorizedSigner:t=zv,expiringNonceHash:n,operator:r=zv,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:Kv(t),expiringNonceHash:n,operator:Kv(r),payee:Kv(i),payer:Kv(a),salt:o,token:typeof s==`string`?Kv(s):Mv(s)}}function Uv(e,t){let n=Hv(e);return g_(_v(Nv,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,Bv,BigInt(t.chainId)]))}function Wv(e){return g_(_v(Pv,[Iv,Lv,Rv,BigInt(e.chainId),Bv]))}function Gv(e){let t=g_(_v(Fv,[Vv,e.channelId,e.cumulativeAmount]));return g_(P(`0x1901`,Wv({chainId:e.chainId}),t))}function Kv(e){return P_(e)}rf();function qv(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 Jv(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return L_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Jv(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=>Jv(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Yv(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 Yv(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&L_(n[r],{strict:!1}))return o}}rf(),R();function Xv(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=lp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Zv(e)===I(t,0,4):e.type===`event`?$v(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new ty({name:t});if(o.length===1)return{...o[0],...i?{hash:$v(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:$v(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?Jv(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Yv(e.inputs,s.inputs,r);if(t)throw new ey({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 ty({name:t});return{...c,...i?{hash:$v(c)}:{}}}function Zv(...e){return I($v((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})()),0,4)}function Qv(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})();return qv(typeof t==`string`?t:Ig(t))}function $v(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Xv(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:g_(ep(Qv(t)))}var ey=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${qv(Ig(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${qv(Ig(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},ty=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`})}};Yf(),rf(),R();function ny(e){return ry(e,`Hex`)}function ry(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return iy(fv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new hp(e);return Of(e)}return e})(),{recursiveReadLimit:1/0}),n)}function iy(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?$f(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=ay(e,n,128),i=e.readBytes(r);return t===`Hex`?$f(i):i}return oy(e,ay(e,n,192),t)}function ay(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 oy(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(iy(e,n));return i}function sy(e,t){let{as:n}=t,r=ly(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?$f(i.bytes):i.bytes}function cy(e,t={}){let{as:n=`Hex`}=t;return sy(e,{as:n})}function ly(e){return Array.isArray(e)?uy(e.map(e=>ly(e))):dy(e)}function uy(e){let t=e.reduce((e,t)=>e+t.length,0),n=fy(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 dy(e){let t=typeof e==`string`?Of(e):e,n=fy(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 fy(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.`)}Mc(),yu(),zl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet py=Dl(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),my=vu({a:py.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:py,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},kc),hy=Dl(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));vu({a:hy.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:hy,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},jc);let gy=Dl(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));vu({a:gy.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:gy,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Ac);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet _y=my,vy=my;Yf(),R();function yy(e){let{privateKey:t}=e;return x_(vy.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):$f(t).slice(2)))}function by(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=vy.sign(r instanceof Uint8Array?r:Of(r),i instanceof Uint8Array?i:Of(i),{extraEntropy:typeof t==`boolean`?t:Zf(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function xy(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return vy.verify(i,n instanceof Uint8Array?n:Of(n),T_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}sd(),Yf(),R();function Sy(e){let{privateKey:t}=e;return x_(Ku.ProjectivePoint.fromPrivateKey(Zf(t).slice(2)))}function Cy(e){return F_(wy(e))}function wy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return x_(new Ku.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(Zf(t).substring(2)))}function Ty(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Ku.sign(Ef(r),Ef(i),{extraEntropy:typeof t==`boolean`?t:Zf(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Ey(e){let{hash:t,payload:n}=e;return e.address?I_(e.address,Cy({payload:n,signature:e.signature})):Ku.verify(e.signature,Ef(n),w_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}rf(),R(),Cf();function Dy(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Vy({signature:e});if(e.r<0n||e.r>W_)throw new Hy({value:e.r});if(e.s<0n||e.s>W_)throw new Uy({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Wy({value:e.yParity})}function Oy(e){return ky($f(e))}function ky(e){if(e.length!==130&&e.length!==132)throw new By({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 Ry(t)}catch{throw new Wy({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Ay(e){if(e.r!==void 0&&e.s!==void 0)return jy(e)}function jy(e){let t=typeof e==`string`?ky(e):e instanceof Uint8Array?Oy(e):typeof e.r==`string`?Ny(e):e.v?My(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Dy(t),t}function My(e){return{r:e.r,s:e.s,yParity:Ry(e.v)}}function Ny(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=Ry(t)),typeof n!=`number`)throw new Wy({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Py(e){let[t,n,r]=e;return jy({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Fy(e){Dy(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(zy(e.yParity),{size:1}):`0x`)}function Iy(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 Ly(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:ap(F(t)),n===0n?`0x`:ap(F(n))]}function Ry(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Gy({value:e})}function zy(e){if(e===0)return 27;if(e===1)return 28;throw new Wy({value:e})}var By=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${ip(Zf(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Vy=class extends N{constructor({signature:e}){super(`Signature \\`${xf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Hy=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`})}},Uy=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`})}},Wy=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`})}},Gy=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`})}};Yf();let Ky=new TextEncoder,qy=new TextDecoder,Jy=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Yy={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Xy(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]=Jy[r>>18],i[t+1]=Jy[r>>12&63],i[t+2]=Jy[r>>6&63],i[t+3]=Jy[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=qy.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function Zy(e,t={}){return Xy(Of(e),t)}function Qy(e,t={}){return Xy(kf(e),t)}function $y(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Ky.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Yy[r[e]]<<18)+(Yy[r[e+1]]<<12)+(Yy[r[e+2]]<<6)+Yy[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 eb(e){return Rf($y(e))}Yf(),rf(),R();function tb(e,t={}){let{as:n=`Hex`}=t,r=hb(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?$f(i.bytes):i.bytes}var nb=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`})}},rb=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`})}},ib=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`})}},ab=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`})}},ob=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`})}},sb=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`})}},cb=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`})}},lb=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},ub=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`})}},db=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`})}},fb=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`})}},pb=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`})}},mb=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 hb(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 hb.number(e);if(typeof e==`bigint`)throw new cb;if(typeof e==`string`)return hb.string(e);if(Array.isArray(e))return hb.array(e);if(e instanceof Uint8Array)return hb.byteString(e);if(e instanceof ArrayBuffer)return hb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return hb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return hb.map(e);if(typeof e==`object`)return hb.object(e);throw new lb({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 ub({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 ub({number:e.toString(10)})}e.number=t;function n(e){let t=kf(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 db({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 fb({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 mb({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 pb({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 pb({size:i})}e.map=o})(hb||={});function gb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return gb.readUnsignedInteger(e,r);case 1:return gb.readNegativeInteger(e,r);case 2:return gb.readByteString(e,r);case 3:return gb.readTextString(e,r);case 4:return gb.readArray(e,r);case 5:return gb.readMap(e,r);case 6:throw new ab({tag:r});case 7:return gb.readSimpleOrFloat(e,r);default:throw new nb({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 ib:new rb({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 ob({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 ob({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Rf(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 sb({value:t});return}throw new rb({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}})(gb||={}),rf();function _b(e){let t=w_(e),n=t.slice(1,33),r=t.slice(33,65);return tb(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}function vb(e){let t=_y.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function yb(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(v_(ep(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=$f(new Uint8Array(16)),s=$f(t.id);return P(a,o,F(t.id.length,{size:2}),s,_b(t.publicKey))}function bb(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:Zy(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}Yf(),rf(),R();function xb(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:$y(e),type:`public-key`})):[{id:$y(t),type:`public-key`}]}:{},challenge:Of(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Sb(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=yb({flag:i,rpId:o,signCount:s}),u=bb({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=v_(ep(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function Cb(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:xb(n);try{let e=await t(r);if(!e)throw new wb;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=vb(o);return{id:s,metadata:{authenticatorData:$f(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new wb({cause:e})}}var wb=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 Tb(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Of(s);if(u.length<37||a!==void 0&&!Af(u.slice(0,32),v_(ep(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||$f($y(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:xy({hash:!0,payload:Tf(u,v_(kf(c),{as:`Bytes`})),publicKey:i,signature:o})}let Eb=Sb;async function Db(e){return Cb(e)}function Ob(e){return Tb(e)}rf(),R();let kb=`0x${`00`.repeat(32)}`;function Ab(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&ip(t)!==32)throw new Lb({reason:`salt must be 32 bytes`});if(r.length===0)throw new Lb({reason:`owners cannot be empty`});if(r.length>10)throw new Lb({reason:`too many owners`});if(Number(n)<1)throw new Lb({reason:`threshold cannot be zero`});let i=0,a;for(let e of r){if(!L_(e.owner)||L(e.owner)===0n)throw new Lb({reason:`owner cannot be zero`});if(Number(e.weight)<1)throw new Lb({reason:`owner weight cannot be zero`});let t=L(e.owner);if(a!==void 0&&a>=t)throw new Lb({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>4294967295)throw new Lb({reason:`total owner weight exceeds u32 max`});if(Number(n)>i)throw new Lb({reason:`threshold exceeds total owner weight`})}function jb(e){let t=[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),n={salt:e.salt?tp(e.salt,32):kb,threshold:e.threshold,owners:t};return Ab(n),n}function Mb(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?tp(t,32):kb,threshold:n===`0x`?0:sp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:sp(n)}})}}function Nb(e){let t=typeof e==`object`&&`genesisConfigId`in e?e.genesisConfigId:Fb(e);return P_(I(g_(P(ep(`tempo:multisig:account`),t)),12,32))}function Pb(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:Nb(e.genesisConfig),r=`genesisConfigId`in e&&e.genesisConfigId?e.genesisConfigId:Fb(e.genesisConfig);return g_(P(ep(`tempo:multisig:signature`),Zf(t),n,r))}function Fb(e){Ab(e);let t=g_(P(ep(`tempo:multisig:config`),tp(e.salt??kb,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 Lb({reason:`config ID cannot be zero`});return t}function Ib(e){Ab(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]);return[e.salt?tp(e.salt,32):kb,F(e.threshold),t]}var Lb=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`})}};rf(),R(),Cf();let Rb=`0x01`,zb=`0x02`,Bb=`0x03`,Vb=`0x04`,Hb=`0x05`,Ub=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Wb(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Wb({...e,signature:t.inner}):t.type===`multisig`?t.account:F_(Gb(e))}function Gb(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return wy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Gb({payload:t,signature:n.inner});case`multisig`:throw new ex({envelope:n})}}function Kb(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-ip(Ub)):e;if(ip(t)===65){let e=ky(t);return Dy(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=ip(r);if(n===Rb){if(i!==129)throw new tx({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:sp(I(r,128,129))!==0,signature:{r:L(I(r,0,32)),s:L(I(r,32,64))},type:`p256`}}if(n===zb){if(i<128)throw new tx({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=cp(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 tx({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===Bb||n===Vb)return{userAddress:I(r,0,20),inner:Kb(I(r,20)),type:`keychain`,version:n===Vb?`v2`:`v1`};if(n===Hb){let[e,t,n,i]=ny(r);return{type:`multisig`,account:e,genesisConfigId:t,signatures:n.map(e=>Kb(e)),...i&&i!==`0x`?{init:Mb(i)}:{}}}throw new tx({reason:`Unknown signature type identifier: ${n}. Expected ${Rb} (P256), ${zb} (WebAuthn), ${Bb} (Keychain V1), ${Vb} (Keychain V2), or ${Hb} (Multisig)`,serialized:t})}function qb(e,t){if(typeof e==`string`)return Kb(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Yb(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?Nb(t):i.account,o=i.genesisConfigId?i.genesisConfigId:t?Fb(t):i.genesisConfigId,s=r===!0?t:r||void 0;return{...i,account:a,genesisConfigId:o,signatures:i.signatures.map(e=>qb(e)),...s?{init:jb(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:F_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:F_(wy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Jb(e){if(e.type===`secp256k1`)return{signature:Ny(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=ip(t),r,i;for(let e=37;e<n;e++){let n=cp(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 tx({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:Jb(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=>Kb(e)),...t.init?{init:jb(t.init)}:{}}}throw new ex({envelope:e})}function Yb(e){if(typeof e!=`object`||!e)throw new ex({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 ex({envelope:e})}function Xb(e,t={}){let n=Yb(e);if(n===`secp256k1`)return P(Fy(e.signature),t.magic?Ub:`0x`);if(n===`p256`){let n=e;return P(Rb,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?Ub:`0x`)}if(n===`webAuthn`){let n=e;return P(zb,P(n.metadata.authenticatorData,ep(n.metadata.clientDataJSON)),F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?Ub:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?Bb:Vb,n.userAddress,Xb(n.inner),t.magic?Ub:`0x`)}if(n===`multisig`){let n=e;return P(Hb,cy([n.account,n.genesisConfigId,n.signatures.map(e=>Xb(e)),n.init?Ib(n.init):`0x`]),t.magic?Ub:`0x`)}throw new ex({envelope:e})}function Zb(e){let{payload:t,signatures:n}=e,r=Pb(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account,genesisConfigId:e.genesisConfigId});return n.map(e=>({key:L(Wb({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function Qb(e){let t=Yb(e);if(t===`secp256k1`)return{...Iy(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,ep(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:Qb(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=>Xb(e)),...t.init?{init:t.init}:{}}}throw new ex({envelope:e})}function $b(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return F_(t.publicKey)})();if(!r)return!1;let i=qb(e);if(i.type===`secp256k1`)return r?Ey({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return I_(F_(i.publicKey),r)?xy({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return I_(F_(i.publicKey),r)?Ob({challenge:Zf(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new nx(`Unable to verify signature envelope of type \"${i.type}\".`)}var ex=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${xf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},tx=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`})}},nx=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};R();function rx(e,t={}){if(`keyId`in e)return ix(e);let n=e;n.witness!==void 0&&vx(n.witness);let r={...n,address:Dv(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:Dv(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:Dv(e.address),selector:_x(e.selector),...e.recipients?{recipients:e.recipients.map(e=>Dv(e))}:{}}))}:{}};return t.signature?{...r,signature:qb(t.signature)}:r}function ix(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=Jb(e.signature);s!==void 0&&vx(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:gx(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&&hx(e.period)>0?{period:hx(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...c?{isAdmin:!0}:{},...l===void 0?{}:{account:l}}}function ax(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=yx(c)?void 0:hx(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:mx(n),...r===void 0?{}:{period:hx(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,_=yx(d)?void 0:d;_!==void 0&&vx(_);let v=(()=>{if(!yx(f)){if(f!==`0x01`)throw new xx(f);return!0}})(),y=yx(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=Kb(n)),rx(x)}function ox(e){return cx(e)}function sx(e){return ax(ny(e))}function cx(e){let[t]=dx(e);return g_(cy(t))}function lx(e){return cy(dx(e))}function ux(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&&vx(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:_x(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:Dv(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:px(n)}:{}})),signature:Qb(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function dx(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&vx(o);let l=e.signature?Xb(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,fx(e.limit)];return e.period&&e.period>0&&t.push(px(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([_x(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?px(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[[fx(n),u,t,...g],...l?[l]:[]]}function fx(e){return e===0n?`0x`:F(e)}function px(e){return e===0?`0x`:F(e)}function mx(e){return e===`0x`?0n:BigInt(e)}function hx(e){return e===`0x`?0:sp(e)}function gx(e){return typeof e==`string`?e:Array.isArray(e)?$f(new Uint8Array(e)):e}function _x(e){if(e)return e.startsWith(`0x`)?e:Zv(e)}function vx(e){if(ip(e)!==32)throw new bx(e)}function yx(e){return e===void 0||e===`0x`}var bx=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${ip(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},xx=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 Sx={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function Cx(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:g_(ep(Sx[e]??e))}R();function wx(e,t={}){return typeof e.chainId==`string`?Tx(e):{...e,...t.signature}}function Tx(e){let{address:t,chainId:n,nonce:r}=e,i=Ay(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function Ex(e){return e.map(Tx)}function Dx(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Iy(i)}}function Ox(e){return e.map(Dx)}let kx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Ax={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function jx(e,t={}){if(!e)return null;let n=Ay(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=Ex(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=zy(n.yParity)),r}R();function Mx(e,t={}){if(typeof e.chainId==`string`)return Nx(e);let n={...e,address:Dv(e.address)};return t.signature?{...n,signature:t.signature}:n}function Nx(e){let{address:t,chainId:n,nonce:r}=e,i=Jb(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function Px(e){return e.map(e=>Nx(e))}function Fx(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=Kb(i)),Mx(a)}function Ix(e){let t=[];for(let n of e)t.push(Fx(n));return t}function Lx(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:Qb(i)}}function Rx(e){return e.map(e=>Lx(e))}function zx(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Xb(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function Bx(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(zx(n));return t}let Vx={...kx,tempo:`0x76`},Hx={...Ax,\"0x76\":`tempo`};function Ux(e,t={}){if(!e)return null;let n=jx(e);return n.type=Hx[e.type],e.aaAuthorizationList&&(n.authorizationList=Px(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=Jb(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=ix(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Ny(e.feePayerSignature),n.feePayerSignature.v=zy(n.feePayerSignature.yParity)),n}R();function Wx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Ox(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=kx[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}R();function Gx(e){let t=Wx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=Rx(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?Dv(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?Dv(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=Mv(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=ux(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 rp(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=Vx.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}rf(),R();function Kx(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&M_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>y_(e)?e:ap(e))})}return t}function qx(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(ip(r[e])!==32)throw new Jx({storageKey:r[e]});n&&M_(n,{strict:!1}),t.push([n,r])}return t}var Jx=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${ip(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};rf();let Yx={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Xx(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 Zx(e,t=`wei`){return Xx(e,Yx.gwei-Yx[t])}rf();var Qx=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${Zx(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`})}},$x=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`})}},eS=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`})}},tS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${Zx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${Zx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};rf(),R();let nS=`tempo`;function rS(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new dS;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new fS({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&M_(e.to,{strict:!1});if(n<=0)throw new $x({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Qx({feeCap:r});if(i&&r&&i>r)throw new tS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function iS(e){let t=ny(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 eS({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:nS});let y={chainId:Number(n),type:nS};lp(a)&&a!==`0x`&&(y.gas=BigInt(a)),lp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),lp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),lp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),lp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),lp(u)&&u!==`0x`&&(y.validBefore=Number(u)),lp(d)&&d!==`0x`&&(y.validAfter=Number(d)),lp(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=Kx(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=Ix(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||L_(p)?(y.feePayerSignature=null,L_(p)&&(y.from=p)):y.feePayerSignature=Py(p)),_&&(y.keyAuthorization=ax(_));let b=v?Kb(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Wb({payload:cS(aS(y)),signature:b,root:!0})}catch{}return rS(y),y}function aS(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?iS(e):e;return i.from&&=Dv(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:Dv(e.to)}:{}})),rS(i),{...i,...r?{signature:qb(r)}:{},...n?{feePayerSignature:jy(n)}:{},type:`tempo`}}function oS(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;rS(e);let h=qx(n),g=t.signature||e.signature,_=Bx(r),v=i.map(e=>[e.to?Dv(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=qb(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return F_(t.publicKey);if(t.type===`secp256k1`)return Cy({payload:cS(aS(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Ly(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`)?Mv(o):`0x`,b,_,...c?[dx(c)]:[],...g?[Xb(qb(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,cy(x))}function sS(e){return oS({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function cS(e,t={}){let n=lS(e,{presign:!0});return t.from?g_(P(`0x04`,n,Dv(t.from))):n}function lS(e,t={}){return g_(t.presign?sS(e):oS(e))}function uS(e,t){let n=Dv(t.sender);return g_(oS({...e,signature:void 0},{sender:n,format:`feePayer`}))}var dS=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},fS=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`})}};Od();async function pS(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Dd({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}rf(),R();function mS(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new _S(e)}function hS(e){let{data:t,signature:n,to:r}=e;return P(_v(yv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function gS(e){try{return mS(e),!0}catch{return!1}}var _S=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`})}};rf(),R();let vS=yv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function yS(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new SS(e)}else Dy(e.authorization)}function bS(e){yS(e);let t=sp(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=gv(vS,n);return{authorization:wx({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 xS(e){try{return yS(e),!0}catch{return!1}}var SS=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`})}};Jr(),mi();async function CS({address:e,authorization:t,signature:n}){return pi(Kr(e),await _d({authorization:t,signature:n}))}sd(),hn(),dn();function wS({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 Ku.Signature(j(e),j(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:on(o)}fi(),Op(),cc(),Lp(),Hs(),Jr(),mi(),Zo(),Lt(),hn(),A(),Tm();async function TS(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return O(e)?e:typeof e==`object`&&`r`in e&&`s`in e?wS(e):Qt(e)})();try{if(s===`eoa`)try{if(pi(Kr(n),await ud({hash:i,signature:c})))return!0}catch{}return xS(c)?await ES(e,{...t,multicallAddress:o,signature:c}):await DS(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(pi(Kr(n),await ud({hash:i,signature:c})))return!0}catch{}if(e instanceof kS)return!1;throw e}}async function ES(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=bS(t.signature);if(await pS(e,{address:n,blockNumber:r,blockTag:i})===Xo([`0xef0100`,s.address]))return await OS(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:k(s.r,{size:32}),s:k(s.s,{size:32}),yParity:s.yParity};if(!await CS({address:n,authorization:d}))throw new kS;let f=await M(e,Fm,`readContract`)({...o?{address:o}:{code:Dp},authorizationList:[d],abi:oi,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:Vs({abi:li,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new kS}async function DS(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||gS(o)?o:hS({data:i,signature:o,to:r}))(),u=s?{to:s,data:Vs({abi:ui,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Fp({abi:ui,args:[n,a,l],bytecode:Ep}),...c},{data:d}=await M(e,mm,`call`)(u).catch(e=>{throw e instanceof nc?new kS:e});if(pn(d??`0x0`))return!0;throw new kS}async function OS(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await M(e,Fm,`readContract`)({address:n,abi:li,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof rc?new kS:e})).startsWith(`0x1626ba7e`))return!0;throw new kS}var kS=class extends Error{};function AS(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function jS(){return{}}let MS=[{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`}]}],NS=[{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:[]}],PS=[{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:[]}],FS=[{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:[]}],IS=[{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:[]}],LS=[{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:[]}],RS=[{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:[]}],zS=[{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`}]}],BS=[{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:[]}],VS=[{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:[]}],HS=[{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:[]}],US=[{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`}]}],WS=[{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:[]}],GS=[...MS,...NS,...PS,...FS,...IS,...LS,...B,...RS,...zS,...BS,...VS,...HS,...US,...WS];Yf();async function KS(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=x_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function qS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Ef(t)),i=Df(new Uint8Array(r)),a=Ff(Pf(i,0,32)),o=Ff(Pf(i,32,64));return o>_y.CURVE.n/2n&&(o=_y.CURVE.n-o),{r:a,s:o}}D(),It(),Io(),dn(),A();let JS=1024;function YS(e,t=`hex`){return XS(Po((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Nt(e);return on(e)}return e})(),{recursiveReadLimit:1/0}),t)}function XS(e,t=`hex`,n=0){if(n>=JS)throw new Pt({limit:JS});if(e.bytes.length===0)return t===`hex`?Qt(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=ZS(e,r,128),i=e.readBytes(n);return t===`hex`?Qt(i):i}return QS(e,ZS(e,r,192),t,n+1)}function ZS(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new E(`Invalid RLP prefix`)}function QS(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(XS(e,n,r));return a}Lt(),zt();function $S(e){return O(e)&&Rt(e)===32}On(),An(),D(),Pp(),be(),Qr(),zt(),Ho(),hn();function eC(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Yr(n))throw new kn({address:n});if(t<0)throw new Np({chainId:t})}nC(e)}function tC(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Ld;for(let e of t){let t=Rt(e),n=mn(Lo(e,0,1));if(t!==32)throw new Rd({hash:e,size:t});if(n!==1)throw new zd({hash:e,version:n})}}nC(e)}function nC(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Np({chainId:t});if(i&&!Yr(i))throw new kn({address:i});if(r&&r>Dn)throw new le({maxFeePerGas:r});if(n&&r&&n>r)throw new ve({maxFeePerGas:r,maxPriorityFeePerGas:n})}function rC(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Np({chainId:t});if(a&&!Yr(a))throw new kn({address:a});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>Dn)throw new le({maxFeePerGas:r})}function iC(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Yr(a))throw new kn({address:a});if(t!==void 0&&t<=0)throw new Np({chainId:t});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>Dn)throw new le({maxFeePerGas:r})}Fe(),Ho(),hn();function aC(e){let t=Vo(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`&&mn(t)>=192)return`legacy`;throw new De({serializedType:t})}An(),Fe(),Qr(),Lt(),Yt(),Vt(),hn();function oC(e){let t=aC(e);return t===`eip1559`?lC(e):t===`eip2930`?uC(e):t===`eip4844`?cC(e):t===`eip7702`?sC(e):dC(e)}function sC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Oe({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:mn(n),type:`eip7702`};return O(s)&&s!==`0x`&&(h.to=s),O(o)&&o!==`0x`&&(h.gas=j(o)),O(l)&&l!==`0x`&&(h.data=l),O(r)&&(h.nonce=r===`0x`?0:mn(r)),O(c)&&c!==`0x`&&(h.value=j(c)),O(a)&&a!==`0x`&&(h.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(h.accessList=pC(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=mC(d)),eC(h),{...t.length===13?hC(t):void 0,...h}}function cC(e){let t=fC(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 Oe({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:mn(a),to:u,type:`eip4844`};return O(l)&&l!==`0x`&&(S.gas=j(l)),O(f)&&f!==`0x`&&(S.data=f),O(o)&&(S.nonce=o===`0x`?0:mn(o)),O(d)&&d!==`0x`&&(S.value=j(d)),O(m)&&m!==`0x`&&(S.maxFeePerBlobGas=j(m)),O(c)&&c!==`0x`&&(S.maxFeePerGas=j(c)),O(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=j(s)),p.length!==0&&p!==`0x`&&(S.accessList=pC(p)),y&&b&&x&&(S.sidecars=Vd({blobs:y,commitments:b,proofs:x})),tC(S),{...r.length===14?hC(r):void 0,...S}}function lC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new Oe({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:mn(n),type:`eip1559`};return O(s)&&s!==`0x`&&(m.to=s),O(o)&&o!==`0x`&&(m.gas=j(o)),O(l)&&l!==`0x`&&(m.data=l),O(r)&&(m.nonce=r===`0x`?0:mn(r)),O(c)&&c!==`0x`&&(m.value=j(c)),O(a)&&a!==`0x`&&(m.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(m.accessList=pC(u)),nC(m),{...t.length===12?hC(t):void 0,...m}}function uC(e){let t=fC(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new Oe({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:mn(n),type:`eip2930`};return O(o)&&o!==`0x`&&(p.to=o),O(a)&&a!==`0x`&&(p.gas=j(a)),O(c)&&c!==`0x`&&(p.data=c),O(r)&&(p.nonce=r===`0x`?0:mn(r)),O(s)&&s!==`0x`&&(p.value=j(s)),O(i)&&i!==`0x`&&(p.gasPrice=j(i)),l.length!==0&&l!==`0x`&&(p.accessList=pC(l)),rC(p),{...t.length===11?hC(t):void 0,...p}}function dC(e){let t=YS(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new Oe({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(O(a)&&a!==`0x`&&(d.to=a),O(i)&&i!==`0x`&&(d.gas=j(i)),O(s)&&s!==`0x`&&(d.data=s),O(n)&&(d.nonce=n===`0x`?0:mn(n)),O(o)&&o!==`0x`&&(d.value=j(o)),O(r)&&r!==`0x`&&(d.gasPrice=j(r)),iC(d),t.length===6)return d;let f=O(c)&&c!==`0x`?j(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 we({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function fC(e){return YS(`0x${e.slice(4)}`,`hex`)}function pC(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Yr(r,{strict:!1}))throw new kn({address:r});t.push({address:r,storageKeys:i.map(e=>$S(e)?e:Bt(e))})}return t}function mC(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:mn(r),nonce:a===`0x`?0:mn(a),...hC([o,s,c])})}return t}function hC(e){let t=e.slice(-3),n=t[0]===`0x`?0n:j(t[0]);if(n!==0n&&n!==1n)throw new Te({yParity:n});let r=n===0n?27n:28n;return{r:qt(t[1],{size:32}),s:qt(t[2],{size:32}),v:r,yParity:r===27n?0:1}}A();function gC(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?Xt(e):`0x`,a,r?Xt(r):`0x`,...wC({},i)])}return t}An(),Fe(),Qr();function _C(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 ke({storageKey:i[e]});if(!Yr(r,{strict:!1}))throw new kn({address:r});t.push([r,i])}return t}Fe(),Zo(),Vt(),A();function vC(e,t){let n=Hd(e);return n===`eip1559`?xC(e,t):n===`eip2930`?SC(e,t):n===`eip4844`?bC(e,t):n===`eip7702`?yC(e,t):CC(e,t)}function yC(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;eC(e);let f=_C(u),p=gC(n);return Xo([`0x04`,dd([k(r),a?k(a):`0x`,l?k(l):`0x`,c?k(c):`0x`,i?k(i):`0x`,o??`0x`,s?k(s):`0x`,d??`0x`,f,p,...wC(e,t)])])}function bC(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;tC(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=>Qt(e)),n=e.kzg,r=Ad({blobs:t,kzg:n});f===void 0&&(f=Fd({commitments:r})),p===void 0&&(p=Vd({blobs:t,commitments:r,proofs:jd({blobs:t,commitments:r,kzg:n})}))}let m=_C(u),h=[k(n),i?k(i):`0x`,l?k(l):`0x`,c?k(c):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,d??`0x`,m,s?k(s):`0x`,f??[],...wC(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 Xo([`0x03`,dd(p?[h,g,_,v]:h)])}function xC(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;nC(e);let d=_C(l);return Xo([`0x02`,dd([k(n),i?k(i):`0x`,c?k(c):`0x`,s?k(s):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,u??`0x`,d,...wC(e,t)])])}function SC(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;rC(e);let u=_C(c);return Xo([`0x01`,dd([k(n),a?k(a):`0x`,l?k(l):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`,u,...wC(e,t)])])}function CC(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;iC(e);let l=[a?k(a):`0x`,c?k(c):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new we({v:t.v});return e})(),r=Bt(t.r),i=Bt(t.s);l=[...l,k(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,k(n),`0x`,`0x`]);return dd(l)}function wC(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=Bt(n.r),o=Bt(n.s);return[typeof i==`number`?i?k(1):`0x`:r===0n?`0x`:r===1n?k(1):r===27n?`0x`:k(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}R();function TC(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:Hd(e)}function EC(e){try{return TC(e)===`tempo`}catch{return!1}}function DC(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?kC(e):oC(e)}async function OC(e,t){if(!EC(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return vC(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return vC(e,t)}if(TC(e)===`tempo`)return AC(e,t);throw Error(`Unsupported transaction type`)}function kC(e){let{feePayerSignature:t,nonce:n,...r}=iS(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 AC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return qb({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=Zb({payload:cS(aS(u)),signatures:e.signatures.map(e=>qb(e)),genesisConfig:e.multisig});return oS(u,{feePayerSignature:void 0,signature:qb({genesisConfig:e.multisig,signatures:t,...a?{}:{init:!0}})})}if(n&&typeof e.feePayer==`object`){let t=aS(u,{signature:n}),r=uS(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Cy({payload:cS(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return oS(t,{feePayerSignature:jy(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?oS(u,{signature:n}):n?oS(u,{format:`feePayer`,sender:e.from,signature:n}):oS(u,{feePayerSignature:null}):oS({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),p(),Wr();function jC(e){let{access:t}=e;return t?UC(e):HC(e)}function MC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=yy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=Eb({...t,challenge:n,rpId:i,origin:a});return Xb({metadata:r,signature:by({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function NC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=yy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return Xb({signature:by({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function PC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Sy({privateKey:e});return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Fy(Ty({payload:n,privateKey:e}))}})}function FC(e,t={}){let{id:n}=e,r=C_(e.publicKey);return jC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Db({...t,challenge:e,credentialId:n});return Xb({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function IC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return jC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return Xb({signature:await qS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function LC(e,t){let n=RC(t);return zC(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function RC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return Gv({chainId:t,channelId:typeof n==`string`?n:Uv(n,{chainId:t}),cumulativeAmount:r})}function zC(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function BC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=WC(r),d=zC(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=ox({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return rx({address:l,chainId:n,signature:qb(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function VC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??F_(e.publicKey),o=T_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?Ur(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?Xb(qb({userAddress:n,inner:qb(o),type:`keychain`,version:i})):o}return{address:N_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=qb(await s({hash:gd({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:F(a,{size:32}),s:F(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:Dg(t)})},async signTransaction(e,t){let{serializer:n=OC}=t??{},r=Ur(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:Pb({payload:r,genesisConfig:i}),raw:!0}):await n(e,qb(await s({hash:r})))},async signTypedData(e){return await s({hash:Gh(e)})},async signVoucher(e){let t=RC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function HC(e){let t=VC(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}=WC(e),d=c?{}:{expiry:i,limits:a,scopes:o};return rx({address:l,chainId:r,signature:qb(await t.sign({hash:ox({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function UC(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=f(t);return{...VC({...e,parentAddress:r}),accessKeyAddress:F_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function WC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:F_(C_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let GC=`0xaAAAaaAA00000000000000000000000000000000`,KC=`0xdec0000000000000000000000000000000000000`,qC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function JC(e,t){return qC.indexOf(e)<qC.indexOf(t)}mi(),Hs();function YC(e,t){let{decimals:n,token:r}=t;if(typeof r==`string`){let t=ZC(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=Mv(r);return{address:i,decimals:n??$C(e,i)}}function XC(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=ZC(e,t);if(n)return n}let i=Mv(t);for(let e of n){let t=QC(e,r);if(t&&pi(t.address,i))return t}}function ZC(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 QC(e,r)}function QC(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 $C(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=QC(e,r);if(n&&pi(n.address,t))return n.decimals}}async function ew(e,t){let{address:n,decimals:r}=YC(e,t);return r===void 0?{address:n,decimals:await Fm(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function tw(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:Vs(e),to:e.address}}p();let nw={0:`secp256k1`,1:`p256`,2:`webAuthn`},rw={true:`limited`,false:`unlimited`};async function iw(e,t){return iw.inner(Mm,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let p=await BC(f(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:p})}e.inner=t;function n(e){let[t]=As({abi:MS,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(iw||={});async function aw(e,t){return aw.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:GC,abi:MS,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(aw||={});async function ow(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n),o=await Fm(e,{...i,account:null,...ow.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:nw[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:rw[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:GC,abi:MS,functionName:`getKey`,args:[t,pw(n)]})}e.call=t})(ow||={});async function sw(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=f(n),s=e.chain?.hardfork;if(s&&JC(s,`t3`))return{remaining:await Fm(e,{...a,...sw.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Fm(e,{...a,...sw.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:GC,abi:MS,functionName:`getRemainingLimit`,args:[t,pw(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:GC,abi:MS,functionName:`getRemainingLimitWithPeriod`,args:[t,pw(n),r]})}e.callWithPeriod=n})(sw||={});async function cw(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return Fm(e,{...i,account:null,...cw.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:GC,abi:MS,functionName:`isAdminKey`,args:[t,pw(n)]})}e.call=t})(cw||={});async function lw(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=f(n);return Fm(e,{...i,account:null,...lw.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:GC,abi:MS,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(lw||={});async function uw(e,t){return uw.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:GC,abi:MS,functionName:`revokeKey`,args:[pw(t)]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(uw||={});async function dw(e,t){return dw.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:GC,abi:MS,functionName:`updateSpendingLimit`,args:[pw(t),n,r]})}e.call=n;function r(e){let[t]=As({abi:MS,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(dw||={});async function fw(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Fm(e,{...o,...fw.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:IS,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(fw||={});function pw(e){return typeof e==`string`?e:e.accessKeyAddress}R(),p(),En();function mw(e){if(!EC(e))return yn(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=Ux(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:Vx[a.type],type:a.type}}function hw(e){return rh(e)}function gw(e,t){let n=e,r=n.account?f(n.account):void 0;if(!EC(n))return Sn(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,signatures:a,...o}=n,s=Gx({...o,type:`tempo`});t===`estimateGas`&&(s.maxFeePerGas=void 0,s.maxPriorityFeePerGas=void 0),s.to=void 0,s.data=void 0,s.value=void 0;let[c,l]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,_w(n.keyData)]:[n.keyType,_w(n.keyData)]})(),u=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(s.from=r.address),{...s,...n.capabilities?{capabilities:n.capabilities}:{},...l?{keyData:l}:{},...u?{keyId:u}:{},...c?{keyType:c}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?f(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function _w(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let vw=new Map;async function yw(e){vw.set(e,(vw.get(e)??0)+1),await Promise.resolve();let t=(vw.get(e)??0)>1;return queueMicrotask(()=>{let t=vw.get(e)??0;t<=1?vw.delete(e):vw.set(e,t-1)}),t}R(),On(),mi(),En(),Wr();let bw={blockTime:1e3,extendSchema:jS(),formatters:{transaction:bn({exclude:[`aaAuthorizationList`],format:mw}),transactionReceipt:ih({format:hw}),transactionRequest:Tn({format:gw})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i&&(r.multisig=i,r.from=Nb(i),r.account?.source!==`multisig`&&delete r.account),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await M(t,ow,`getMetadata`)({account:i,accessKey:a});pi(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 yw(e):!1})()?(r.nonceKey=Dn,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)=>OC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Kb(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?Ur(P(`0x04`,r,n)):r,a=(()=>{try{return Wb({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await ow(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:$b(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await pS(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return $b(o,{address:n,payload:r})}}return await M(e,TS,`verifyHash`)({...t,chain:null})}},xw=AS({...bw,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`]}}}),Sw=AS({...bw,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}),Cw=AS({...bw,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),ww=AS({...bw,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),H={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},Tw={payment:`Payment`},Ew={evm:`evm`,stripe:`stripe`,tempo:`tempo`},Dw={charge:`charge`,session:`session`,subscription:`subscription`},Ow={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},kw={v1:`v1`,v2:`v2`};function Aw(e,t){if(!(!e||typeof e!=`object`))return e[t]}function jw(e){return e}function Mw(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function Nw(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return f(r)}}fi(),Op(),ko(),D(),cc(),Zd(),Hs(),zp();async function Pw(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 Rp({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=Vs({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=lc(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=>M(e,Fm,`readContract`)({...m===null?{code:Dp}:{address:m},abi:oi,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 co;if(!a)throw new sc({data:r});let e=Yd({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=lc(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new E(`multicall results mismatch`);return y}R(),p();async function Fw(e,t){return Fw.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:KC,abi:LS,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(Fw||={});async function Iw(e,t){return Iw.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:KC,abi:LS,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(Iw||={});async function Lw(e,t){return Lw.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:KC,abi:LS,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(Lw||={});async function Rw(e,t){return Rw.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:KC,abi:LS,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(Rw||={});async function zw(e,t){let{account:n=e.account,token:r,...i}=t,a=n?f(n).address:void 0;if(!a)throw Error(`account is required.`);return Fm(e,{...i,...zw.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:KC,abi:LS,args:[t,n],functionName:`balanceOf`})}e.call=t})(zw||={});async function Bw(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Fm(e,{...a,...Bw.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(Bw||={});async function Vw(e,t){let{orderId:n,...r}=t;return Fm(e,{...r,...Vw.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:KC,abi:LS,args:[t],functionName:`getOrder`})}e.call=t})(Vw||={});async function Hw(e,t){let{base:n,quote:r,...i}=t;return Fm(e,{...i,...Hw.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return V({address:KC,abi:LS,args:[Yw(t,n)],functionName:`books`})}e.call=t})(Hw||={});async function Uw(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Fm(e,{...a,...Uw.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(Uw||={});async function Ww(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Fm(e,{...a,...Ww.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:KC,abi:LS,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(Ww||={});async function Gw(e,t){return Gw.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:KC,abi:LS,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=As({abi:LS,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(Gw||={});async function Kw(e,t){return Kw.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:KC,abi:LS,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=As({abi:LS,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})(Kw||={});async function qw(e,t){return qw.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:KC,abi:LS,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(qw||={});async function Jw(e,t){return Jw.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:KC,abi:LS,functionName:`withdraw`,args:[t,n]})}e.call=n})(Jw||={});function Yw(e,t){return g_(P(e,t))}R(),p(),Hs();async function Xw(e,t){return Xw.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}=YC(e,{token:i});return V({address:a,abi:B,functionName:`approve`,args:[r,Lm(n,o)]})}e.call=n;async function r(t,n){return Jd(t,{...tw(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...tw(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(Xw||={});async function Zw(e,t){return Zw.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}=YC(e,{token:i});return V({address:a,abi:B,functionName:`burnBlocked`,args:[n,Lm(r,o)]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(Zw||={});async function Qw(e,t){return Qw.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}=YC(e,{token:i}),s=Lm(n,o);return V({address:a,abi:B,...r?{functionName:`burnWithMemo`,args:[s,tp(r,32)]}:{functionName:`burn`,args:[s]}})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(Qw||={});async function $w(e,t){return $w.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:YC(e,{token:n}).address,abi:B,functionName:`changeTransferPolicyId`,args:[r]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})($w||={});async function eT(e,t){return eT.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?f(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=rp(32)}=t;return V({address:`0x20fc000000000000000000000000000000000000`,abi:zS,args:typeof a==`string`?[n,r,i,YC(e,{token:o}).address,s,c,a]:[n,r,i,YC(e,{token:o}).address,s,c],functionName:`createToken`})}e.call=n;function r(e){let[t]=As({abi:zS,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(eT||={});async function tT(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Fm(e,{...o,...tT.call(e,{account:n,spender:i,token:a})}),ew(e,{decimals:r,token:a})]);return Im(s,c)}(function(e){function t(e,t){return V({address:YC(e,t).address,abi:B,functionName:`allowance`,args:[t.account,t.spender]})}e.call=t})(tT||={});async function nT(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new Dm;let o=f(n).address,[s,{decimals:c}]=await Promise.all([Fm(e,{...a,...nT.call(e,{account:o,token:i})}),ew(e,{decimals:r,token:i})]);return Im(s,c)}(function(e){function t(e,t){let n=t.account??e.account;if(!n)throw new Dm;let r=f(n).address;return V({address:YC(e,t).address,abi:B,functionName:`balanceOf`,args:[r]})}e.call=t})(nT||={});async function rT(e,t){let{token:n,...r}=t,{address:i}=YC(e,{token:n}),a=B,o=XC(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return jv(i)===jv(`0x20c0000000000000000000000000000000000000`)?Pw(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:iT(r),symbol:iT(i),currency:iT(e),decimals:iT(t),logoURI:iT(n,``),totalSupply:iT(a),...s})):Pw(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:iT(i),symbol:iT(c),currency:iT(e),decimals:iT(t),logoURI:iT(n,``),quoteToken:iT(r),totalSupply:iT(l),paused:iT(a),supplyCap:iT(o),transferPolicyId:iT(u),...s}))}function iT(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function aT(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Fm(e,{...i,...aT.call(e,{token:r})}),ew(e,{decimals:n,token:r})]);return Im(a,o)}(function(e){function t(e,t){return V({address:YC(e,t).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(aT||={});async function oT(e,t){return Fm(e,{...t,...oT.call(e,t)})}(function(e){function t(e,t){let{role:n,token:r}=t;return V({address:YC(e,{token:r}).address,abi:B,functionName:`getRoleAdmin`,args:[Cx(n)]})}e.call=t})(oT||={});async function sT(e,t){let{account:n=e.account}=t,r=n?f(n).address:void 0;if(!r)throw Error(`account is required.`);return Fm(e,{...t,...sT.call(e,{...t,account:r})})}(function(e){function t(e,t){let{account:n,role:r,token:i}=t;return V({address:YC(e,{token:i}).address,abi:B,functionName:`hasRole`,args:[n,Cx(r)]})}e.call=t})(sT||={});async function cT(e,t){return cT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,to:r,role:i}=t,a=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`grantRole`,args:[a,r]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(cT||={});async function lT(e,t){return lT.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}=YC(e,{token:a}),c=Lm(r,s);return V({address:o,abi:B,...i?{functionName:`mintWithMemo`,args:[n,c,tp(i,32)]}:{functionName:`mint`,args:[n,c]}})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(lT||={});async function uT(e,t){return uT.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:YC(e,{token:n}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(uT||={});async function dT(e,t){return dT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,role:r}=t,i=Cx(r);return V({address:YC(e,{token:n}).address,abi:B,functionName:`renounceRole`,args:[i]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(dT||={});async function fT(e,t){return fT.inner(Mm,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:Vs(i)}})})}e.inner=t;function n(e,t){let{token:n,from:r,role:i}=t,a=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`revokeRole`,args:[a,r]})}e.call=n;function r(e){let t=As({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(fT||={});async function pT(e,t){return pT.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:YC(e,{token:n}).address,abi:B,functionName:`setSupplyCap`,args:[r]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(pT||={});async function mT(e,t){return mT.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=Cx(r),o=Cx(i);return V({address:YC(e,{token:n}).address,abi:B,functionName:`setRoleAdmin`,args:[a,o]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(mT||={});async function hT(e,t){return hT.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}=YC(e,{token:a}),c=Lm(t.amount,s);return V({address:o,abi:B,...r&&n?{functionName:`transferFromWithMemo`,args:[n,i,c,tp(r,32)]}:r?{functionName:`transferWithMemo`,args:[i,c,tp(r,32)]}:n?{functionName:`transferFrom`,args:[n,i,c]}:{functionName:`transfer`,args:[i,c]}})}e.call=n;async function r(t,n){return Jd(t,{...tw(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Em(t,{...tw(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=As({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(hT||={});async function gT(e,t){return gT.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:YC(e,{token:n}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(gT||={});async function _T(e,t){return _T.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:YC(e,{token:n}).address,abi:B,functionName:`setNextQuoteToken`,args:[YC(e,{token:r}).address]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(_T||={});async function vT(e,t){return vT.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:YC(e,{token:n}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=As({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(vT||={});function yT(e){return e.source}var bT=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 xT(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw ST(r.error);return r.result}function ST(e){let t=e;if(t instanceof Error&&!(`code`in t))return new PT({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===PT.code?new PT(t):n===wT.code?new wT(t):n===NT.code?new NT(t):n===jT.code?new jT(t):n===kT.code?new kT(t):n===MT.code?new MT(t):n===OT.code?new OT(t):n===FT.code?new FT(t):n===TT.code?new TT(t):n===ET.code?new ET(t):n===DT.code?new DT(t):n===AT.code?new AT(t):new PT({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var CT=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??``}},wT=class e extends CT{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(wT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var TT=class e extends CT{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(TT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var ET=class e extends CT{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(ET,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var DT=class e extends CT{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(DT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var OT=class e extends CT{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(OT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var kT=class e extends CT{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(kT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var AT=class e extends CT{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(AT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var jT=class e extends CT{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(jT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var MT=class e extends CT{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(MT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var NT=class e extends CT{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(NT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var PT=class e extends CT{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(PT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var FT=class e extends CT{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(FT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),rf();var IT=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}},LT=class extends IT{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(LT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var RT=class extends IT{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(RT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var zT=class extends IT{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(zT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var BT=class extends IT{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(BT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var VT=class extends IT{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(VT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var HT=class extends IT{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(HT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var UT=class extends IT{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(UT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var WT=class extends IT{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(WT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var GT=class extends IT{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(GT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var KT=class extends IT{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(KT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var qT=class extends IT{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(qT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var JT=class extends IT{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(JT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var YT=class extends IT{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(YT,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function XT(){let e=new bT.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 ZT(e,t={}){if(!e)throw new $T;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?xT(n):n}catch(e){throw QT(e)}}}}function QT(e){let t=ST(e);if(t instanceof PT){if(!t.data)return t;let{code:e}=t.data;if(e===BT.code)return new BT(t);if(e===VT.code)return new VT(t);if(e===LT.code)return new LT(t);if(e===RT.code)return new RT(t);if(e===zT.code)return new zT(t);if(e===HT.code)return new HT(t);if(e===JT.code)return new JT(t);if(e===YT.code)return new YT(t);if(e===qT.code)return new qT(t);if(e===KT.code)return new KT(t);if(e===GT.code)return new GT(t);if(e===WT.code)return new WT(t);if(e===UT.code)return new UT(t)}return t}var $T=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function eE(e={}){let t=e.id??0;return{prepare(e){return tE({id:t++,...e})},get id(){return t}}}function tE(e){return{...e,jsonrpc:`2.0`}}function nE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return pg({key:nE.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(DC(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:nE.type})}}function rE(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=_({chain:i.chain,transport:nE(Tg(e),Tg(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?nE(Tg(a),Tg(n)):Tg(a);return _({chain:{...t,id:r},transport:o})}}var iE;function U(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var aE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},oE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(iE=globalThis).__zod_globalConfig??(iE.__zod_globalConfig={});let sE=globalThis.__zod_globalConfig;function cE(e){return e&&Object.assign(sE,e),sE}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 uE(e,t){return typeof t==`bigint`?t.toString():t}function dE(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function fE(e){return e==null}function pE(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let mE=Symbol(`evaluating`);function hE(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==mE)return r===void 0&&(r=mE,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function gE(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function _E(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let vE=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function yE(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bE(e){if(yE(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(yE(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let xE=new Set([`string`,`number`,`symbol`]),SE=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function CE(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function wE(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function TE(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 EE(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function DE(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 wE(e,_E(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return gE(this,`shape`,r),r},checks:[]}))}function OE(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 kE(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 AE(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function jE(e){return typeof e==`string`?e:e?.message}function ME(e,t,n){let r=e.message?e.message:jE(e.inst?._zod.def?.error?.(e))??jE(t?.error?.(e))??jE(n.customError?.(e))??jE(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 NE(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function PE(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let FE=(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,uE,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},IE=U(`$ZodError`,FE),LE=U(`$ZodError`,FE,{Parent:Error}),RE=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 aE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>ME(e,a,cE())));throw vE(t,i?.callee),t}return o.value},zE=RE(LE),BE=(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=>ME(e,a,cE())));throw vE(t,i?.callee),t}return o.value})(LE),VE=(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 aE;return a.issues.length?{success:!1,error:new(e??IE)(a.issues.map(e=>ME(e,i,cE())))}:{success:!0,data:a.value}})(LE),HE=(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=>ME(e,i,cE())))}:{success:!0,data:a.value}})(LE),UE=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return RE(e)(t,n,i)})(LE),WE=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},GE=/^-?\\d+n?$/,KE=/^-?\\d+(?:\\.\\d+)?$/,qE=/^(?:true|false)$/i,JE=/^null$/i,YE=/^undefined$/i,XE=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ZE={number:`number`,bigint:`bigint`,object:`date`},QE=U(`$ZodCheckLessThan`,(e,t)=>{XE.init(e,t);let n=ZE[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})}}),$E=U(`$ZodCheckGreaterThan`,(e,t)=>{XE.init(e,t);let n=ZE[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})}}),eD=U(`$ZodCheckMaxLength`,(e,t)=>{var n;XE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!fE(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=NE(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tD=U(`$ZodCheckMinLength`,(e,t)=>{var n;XE.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!fE(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=NE(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nD=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;XE.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),rD=U(`$ZodCheckRegex`,(e,t)=>{nD.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})}}),iD={major:4,minor:4,patch:3},aD=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=iD;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=OE(e),i;for(let a of t){if(a._zod.def.when){if(kE(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 aE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=OE(e,t))});else{if(e.issues.length===t)continue;r||=OE(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(OE(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new aE;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 aE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}hE(e,`~standard`,()=>({validate:t=>{try{let n=VE(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return HE(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),oD=U(`$ZodString`,(e,t)=>{aD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??WE(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}}),sD=U(`$ZodNumber`,(e,t)=>{aD.init(e,t),e._zod.pattern=e._zod.bag.pattern??KE,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}}),cD=U(`$ZodBoolean`,(e,t)=>{aD.init(e,t),e._zod.pattern=qE,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=U(`$ZodBigInt`,(e,t)=>{aD.init(e,t),e._zod.pattern=GE,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}}),uD=U(`$ZodUndefined`,(e,t)=>{aD.init(e,t),e._zod.pattern=YE,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}}),dD=U(`$ZodNull`,(e,t)=>{aD.init(e,t),e._zod.pattern=JE,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}}),fD=U(`$ZodUnknown`,(e,t)=>{aD.init(e,t),e._zod.parse=e=>e});function pD(e,t,n){e.issues.length&&t.issues.push(...AE(n,e.issues)),t.value[n]=e.value}let mD=U(`$ZodArray`,(e,t)=>{aD.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=>pD(t,n,e))):pD(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function hD(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...AE(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 gD(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=EE(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function _D(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>hD(e,n,i,t,u,d))):hD(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 vD=U(`$ZodObject`,(e,t)=>{if(aD.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=dE(()=>gD(t));hE(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=yE,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=>hD(n,t,e,s,r,i))):hD(a,t,e,s,r,i)}return i?_D(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function yD(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=>!OE(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=>ME(e,r,cE())))}),t)}let bD=U(`$ZodUnion`,(e,t)=>{aD.init(e,t),hE(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),hE(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),hE(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),hE(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=>pE(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=>yD(t,r,e,i)):yD(o,r,e,i)}}),xD=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,bD.init(e,t);let n=e._zod.parse;hE(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=dE(()=>{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(!yE(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)}}),SD=U(`$ZodTuple`,(e,t)=>{aD.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=CD(n,`optin`),c=CD(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=>wD(t,r,e))):wD(a,r,e)}}return o.length?Promise.all(o).then(()=>TD(l,r,n,a,c)):TD(l,r,n,a,c)}});function CD(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function wD(e,t,n){e.issues.length&&t.issues.push(...AE(n,e.issues)),t.value[n]=e.value}function TD(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(...AE(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 ED=U(`$ZodRecord`,(e,t)=>{aD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!bE(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=>ME(e,r,cE())),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(...AE(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...AE(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`&&KE.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=>ME(e,r,cE())),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(...AE(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...AE(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),DD=U(`$ZodEnum`,(e,t)=>{aD.init(e,t);let n=lE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>xE.has(typeof e)).map(e=>typeof e==`string`?CE(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}}),OD=U(`$ZodLiteral`,(e,t)=>{if(aD.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`?CE(e):e?CE(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}}),kD=U(`$ZodTransform`,(e,t)=>{aD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new oE(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 aE;return n.value=i,n.fallback=!0,n}});function AD(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let jD=U(`$ZodOptional`,(e,t)=>{aD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,hE(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),hE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${pE(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=>AD(e,r)):AD(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),MD=U(`$ZodNullable`,(e,t)=>{aD.init(e,t),hE(e._zod,`optin`,()=>t.innerType._zod.optin),hE(e._zod,`optout`,()=>t.innerType._zod.optout),hE(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${pE(e.source)}|null)$`):void 0}),hE(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)}),ND=U(`$ZodPipe`,(e,t)=>{aD.init(e,t),hE(e._zod,`values`,()=>t.in._zod.values),hE(e._zod,`optin`,()=>t.in._zod.optin),hE(e._zod,`optout`,()=>t.out._zod.optout),hE(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=>PD(e,t.in,n)):PD(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>PD(e,t.out,n)):PD(r,t.out,n)}});function PD(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 FD=U(`$ZodCodec`,(e,t)=>{aD.init(e,t),hE(e._zod,`values`,()=>t.in._zod.values),hE(e._zod,`optin`,()=>t.in._zod.optin),hE(e._zod,`optout`,()=>t.out._zod.optout),hE(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=>ID(e,t,n)):ID(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ID(e,t,n)):ID(r,t,n)}}});function ID(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=>LD(e,r,t.out,n)):LD(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>LD(e,r,t.in,n)):LD(e,r,t.in,n)}}function LD(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let RD=U(`$ZodReadonly`,(e,t)=>{aD.init(e,t),hE(e._zod,`propValues`,()=>t.innerType._zod.propValues),hE(e._zod,`values`,()=>t.innerType._zod.values),hE(e._zod,`optin`,()=>t.innerType?._zod?.optin),hE(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(zD):zD(r)}});function zD(e){return e.value=Object.freeze(e.value),e}let BD=U(`$ZodTemplateLiteral`,(e,t)=>{aD.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||SE.has(typeof e))n.push(CE(`${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)}),VD=U(`$ZodCustom`,(e,t)=>{XE.init(e,t),aD.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=>HD(t,n,r,e));HD(i,n,r,e)}});function HD(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(PE(e))}}function UD(e,t){return new e({type:`string`,...TE(t)})}function WD(e,t){return new e({type:`number`,checks:[],...TE(t)})}function GD(e,t){return new e({type:`boolean`,...TE(t)})}function KD(e,t){return new e({type:`bigint`,...TE(t)})}function qD(e,t){return new e({type:`undefined`,...TE(t)})}function JD(e,t){return new e({type:`null`,...TE(t)})}function YD(e){return new e({type:`unknown`})}function XD(e,t){return new QE({check:`less_than`,...TE(t),value:e,inclusive:!0})}function ZD(e,t){return new $E({check:`greater_than`,...TE(t),value:e,inclusive:!0})}function QD(e,t){return new eD({check:`max_length`,...TE(t),maximum:e})}function $D(e,t){return new tD({check:`min_length`,...TE(t),minimum:e})}function eO(e,t){return new rD({check:`string_format`,format:`regex`,...TE(t),pattern:e})}function tO(e,t,n){let r=TE(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function nO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...TE(n)})}let rO=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);aD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>zE(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>VE(e,t,n),e.parseAsync=async(t,n)=>BE(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>HE(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)=>wE(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),iO=U(`ZodMiniString`,(e,t)=>{oD.init(e,t),rO.init(e,t)});function W(e){return UD(iO,e)}let aO=U(`ZodMiniNumber`,(e,t)=>{sD.init(e,t),rO.init(e,t)});function oO(e){return WD(aO,e)}let sO=U(`ZodMiniBoolean`,(e,t)=>{cD.init(e,t),rO.init(e,t)});function cO(e){return GD(sO,e)}let lO=U(`ZodMiniBigInt`,(e,t)=>{lD.init(e,t),rO.init(e,t)});function uO(e){return KD(lO,e)}let dO=U(`ZodMiniUndefined`,(e,t)=>{uD.init(e,t),rO.init(e,t)});function fO(e){return qD(dO,e)}let pO=U(`ZodMiniNull`,(e,t)=>{dD.init(e,t),rO.init(e,t)});function mO(e){return JD(pO,e)}let hO=U(`ZodMiniUnknown`,(e,t)=>{fD.init(e,t),rO.init(e,t)});function gO(){return YD(hO)}let _O=U(`ZodMiniArray`,(e,t)=>{mD.init(e,t),rO.init(e,t)});function G(e,t){return new _O({type:`array`,element:e,...TE(t)})}let vO=U(`ZodMiniObject`,(e,t)=>{vD.init(e,t),rO.init(e,t),hE(e,`shape`,()=>t.shape)});function K(e,t){return new vO({type:`object`,shape:e??{},...TE(t)})}function yO(e,t){return DE(e,t)}let bO=U(`ZodMiniUnion`,(e,t)=>{bD.init(e,t),rO.init(e,t)});function q(e,t){return new bO({type:`union`,options:e,...TE(t)})}let xO=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{xD.init(e,t),rO.init(e,t)});function SO(e,t,n){return new xO({type:`union`,options:t,discriminator:e,...TE(n)})}let CO=U(`ZodMiniTuple`,(e,t)=>{SD.init(e,t),rO.init(e,t)});function wO(e,t,n){let r=t instanceof aD;return new CO({type:`tuple`,items:e,rest:r?t:null,...TE(r?n:t)})}let TO=U(`ZodMiniRecord`,(e,t)=>{ED.init(e,t),rO.init(e,t)});function EO(e,t,n){return!t||!t._zod?new TO({type:`record`,keyType:W(),valueType:e,...TE(t)}):new TO({type:`record`,keyType:e,valueType:t,...TE(n)})}let DO=U(`ZodMiniEnum`,(e,t)=>{DD.init(e,t),rO.init(e,t),e.options=Object.values(t.entries)});function OO(e,t){return new DO({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...TE(t)})}let kO=U(`ZodMiniLiteral`,(e,t)=>{OD.init(e,t),rO.init(e,t)});function J(e,t){return new kO({type:`literal`,values:Array.isArray(e)?e:[e],...TE(t)})}let AO=U(`ZodMiniTransform`,(e,t)=>{kD.init(e,t),rO.init(e,t)});function jO(e){return new AO({type:`transform`,transform:e})}let MO=U(`ZodMiniOptional`,(e,t)=>{jD.init(e,t),rO.init(e,t)});function Y(e){return new MO({type:`optional`,innerType:e})}let NO=U(`ZodMiniNullable`,(e,t)=>{MD.init(e,t),rO.init(e,t)});function PO(e){return new NO({type:`nullable`,innerType:e})}let FO=U(`ZodMiniPipe`,(e,t)=>{ND.init(e,t),rO.init(e,t)});function IO(e,t){return new FO({type:`pipe`,in:e,out:t})}let LO=U(`ZodMiniCodec`,(e,t)=>{FO.init(e,t),FD.init(e,t)});function RO(e,t,n){return new LO({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let zO=U(`ZodMiniReadonly`,(e,t)=>{RD.init(e,t),rO.init(e,t)});function X(e){return new zO({type:`readonly`,innerType:e})}let BO=U(`ZodMiniTemplateLiteral`,(e,t)=>{BD.init(e,t),rO.init(e,t)});function VO(e,t){return new BO({type:`template_literal`,parts:e,...TE(t)})}let HO=U(`ZodMiniCustom`,(e,t)=>{VD.init(e,t),rO.init(e,t)});function UO(e,t){return tO(HO,e??(()=>!0),t)}function WO(e,t={}){return nO(HO,e,t)}function GO(){return W().check(eO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function KO(){return W().check(eO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function qO(e=`Invalid ISO 8601 datetime`){return IO(q([KO(),UO(e=>e instanceof Date)]),jO(JO)).check(WO(e=>Number.isFinite(e.getTime()),e))}function JO(e){return e instanceof Date?e:new Date(e)}function YO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function XO(){return W().check(eO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function ZO(){return W().check(eO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function QO(){return W().check(eO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}function $O(e){return`accessKeyAddress`in e}function ek(e){return $O(e)?e.accessKeyAddress:e.address}let tk={mainnet:4217,testnet:42431},nk={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};tk.mainnet,nk.usdc,tk.testnet,nk.pathUsd;let rk={[tk.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[tk.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},ik={[tk.mainnet]:`https://rpc.tempo.xyz`,[tk.testnet]:`https://rpc.moderato.tempo.xyz`},ak=[`push`,`pull`],ok=K({amount:GO(),memo:Y(ZO()),recipient:IO(W(),jO(e=>e))}),sk=(1n<<64n)-1n,ck={dev_second:1n,day:86400n,week:604800n},lk=IO(XO(),jO(e=>e.toLowerCase())),uk=K({accessKeyAddress:lk,keyType:OO([`p256`,`secp256k1`,`webAuthn`])}),dk=K({accessKey:Y(uk),chainId:Y(oO())}),fk=qO(`subscriptionExpires must be a valid date`).check(WO(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),pk=OO([`dev_second`,`day`,`week`]),mk=IO(q([W(),uO(),UO(e=>typeof e==`number`&&Number.isSafeInteger(e))]),jO(e=>e.toString())).check(eO(/^[1-9]\\d*$/,`Invalid periodCount`),WO(e=>{try{return BigInt(e)<=sk}catch{return!1}},`periodCount exceeds uint64`));function hk(e){return WO(e=>{let{amount:t,decimals:n}=e;return Pm(t,n)>0n},e)}function gk(e){let{periodCount:t,periodUnit:n}=e;try{let e=ck[n];return e===void 0?!1:BigInt(t)*e<=sk}catch{return!1}}let _k=jw({name:`tempo`,intent:`charge`,schema:{credential:{payload:SO(`type`,[K({hash:ZO(),type:J(`hash`)}),K({signature:QO(),type:J(`transaction`)}),K({signature:QO(),type:J(`proof`)})])},request:IO(K({amount:GO(),chainId:Y(oO()),currency:W(),decimals:oO(),description:Y(W()),externalId:Y(W()),feePayer:Y(IO(q([cO(),UO()]),jO(e=>typeof e==`object`?!0:e))),memo:Y(ZO()),recipient:Y(W()),splits:Y(G(ok).check($D(1),QD(10))),supportedModes:Y(G(OO(ak)).check($D(1)))}).check(WO(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Pm(e,t),i=n.reduce((e,n)=>e+Pm(n.amount,t),0n);return n.every(e=>Pm(e.amount,t)>0n)&&i<r},`Invalid splits`)),jO(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Pm(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:Pm(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),vk=jw({name:`tempo`,intent:`session`,schema:{credential:{payload:SO(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO(),transaction:QO(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:GO(),channelId:ZO(),descriptor:Y(UO()),transaction:QO(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO()}),K({action:J(`close`),channelId:ZO(),cumulativeAmount:GO(),descriptor:Y(UO()),signature:QO()})])},request:IO(K({amount:GO(),chainId:Y(oO()),channelId:Y(ZO()),currency:W(),decimals:oO(),escrowContract:Y(W()),feePayer:Y(IO(q([cO(),UO()]),jO(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(GO()),operator:Y(XO()),recipient:Y(W()),sessionProtocol:Y(OO([kw.v2,kw.v1])),sessionSnapshot:Y(UO()),suggestedDeposit:Y(GO()),unitType:W()}).check(WO(({amount:e,decimals:t})=>Pm(e,t)>0n,`Session amount must be greater than 0`)),jO(({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:Pm(e,r).toString(),...u?{suggestedDeposit:Pm(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:Pm(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[Ow.sessionProtocol]:c},...l!==void 0&&{[Ow.sessionSnapshot]:l}}})))}}),yk=jw({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:QO(),type:J(`keyAuthorization`)})},request:IO(K({amount:GO(),accessKey:Y(uk),chainId:Y(oO()),currency:lk,decimals:oO(),description:Y(W()),externalId:Y(W()),methodDetails:Y(dk),periodCount:mk,periodUnit:pk,recipient:lk,subscriptionExpires:fk}).check(hk(`Subscription amount must be greater than 0`),WO(gk,`Subscription period exceeds uint64`)),jO(({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:Pm(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});function bk(e){return Zv(e)}function xk(){return null}function Sk(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let Ck={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function wk(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function Tk(e,t,n){return Gh({domain:Sk(e,t),types:Ck,primaryType:`Voucher`,message:wk(n)})}async function Ek(e,t,n,r,i){return rg(e,{account:t,domain:Sk(r,i),types:Ck,primaryType:`Voucher`,message:wk(n)})}function Dk(e){let t=qb(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 Fy(t.inner.signature)}return Xb(t)}function Ok(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function kk(e){if(!Ok(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function Ak(e,t,n,r,i,a){let o=a??t,s=ek(o),c=Tk(r,i,n),l=Dk($O(o)?await o.sign({hash:c,raw:!0}):await Ek(e,o,n,r,i)),u=qb(l);if(kk(u),!$b(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}Cf();function jk(e){let t=eb(e);return JSON.parse(t)}function Mk(e){return Qy(yf(e),{pad:!1,url:!0})}Yf();let Nk=K({description:Y(W()),digest:Y(W().check(eO(/^sha-256=/,`Invalid digest format`))),expires:Y(KO()),id:W().check($D(1)),intent:W(),method:W(),meta:Y(EO(W(),W())),opaque:Y(W()),realm:W(),request:EO(W(),gO())});function Pk(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?YO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:Mk(i)),f=l?Gk({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return Nk.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 Fk(e,t){let n=Ik(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=Lk(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 Pk({...a,request:jk(r),...i&&{opaque:i}},t)}function Ik(e){let t=Tw.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(!Bk(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 Lk(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]=Rk(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function Rk(e,t){if(e[t]===`\"`)return zk(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function zk(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 Bk(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 Vk(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return Hk(e.headers,t)}function Hk(e,t){let n=e.get(H.wwwAuthenticate);if(!n)throw Error(`Missing ${H.wwwAuthenticate} header.`);return Uk(n,t)}function Uk(e,t){let n=[],r=RegExp(`${Tw.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 Fk(e.slice(r,a).replace(/,\\s*$/,``),t)})}function Wk(e){return[e.realm,e.method,e.intent,Mk(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?Mk(e.meta):``)].join(`|`)}function Gk(e,t){let n=Wk(e);return Xy(__(kf(t.secretKey),kf(n),{as:`Bytes`}),{url:!0,pad:!1})}var Kk=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},qk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Jk(e){let t=e.match(RegExp(`^${Tw.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Kk;try{let e=eb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Yk(r);return{challenge:Nk.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:jk(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new qk}}function Yk(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Xk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:Mk(e)}}function Xk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Zk(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:Mk(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:Mk(r)},payload:e.payload,...e.source&&{source:e.source}},s=Qy(JSON.stringify(o),{pad:!1,url:!0});return`${Tw.payment} ${s}`}var Qk=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}}}},$k=class extends Qk{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},Z=class extends Qk{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.`)}},eA=class extends Qk{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 tA(e,t){return e.toLowerCase()===t.toLowerCase()}function nA(e){return g_(_v(yv([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let rA=[{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:[]}];Qp(),Hs(),fi(),Ls(),Ns(),Tm();async function iA(e,t,n){return Fm(e,{address:t,abi:rA,functionName:`getChannel`,args:[n]})}Ps({abi:rA,name:`open`}),Ps({abi:rA,name:`topUp`}),R(),Hs();function aA(e,t){return t??e}function oA(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??rk[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function sA(e,t,n,r){return Zk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function cA(e,t,n,r,i,a,o){let s=aA(t,o),c=await Ak(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function lA(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=aA(t,n.voucherSigner),d=ek(u),f=rp(32),p=nA({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=Vs({abi:B,functionName:`approve`,args:[r,o]}),h=Vs({abi:rA,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Kd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,...l?{nonceKey:`expiring`,validBefore:g}:{}});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Vh(e,_),y=await Ak(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 uA(e,t,n,r){try{let i=await iA(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 dA=K({account:Y(UO()),action:Y(OO([`open`,`topUp`,`voucher`,`close`])),channelId:Y(W()),cumulativeAmount:Y(GO()),cumulativeAmountRaw:Y(W()),transaction:Y(W()),additionalDeposit:Y(GO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function fA(e={}){let{decimals:t=6}=e,n=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),r=Nw({account:e.account}),i=e.maxDeposit===void 0?void 0:Pm(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 oA(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 Pm(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,w=l(_,v,g),T=o.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let n=await uA(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Pm(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(w,n),s.set(n.channelId,w),a.set(n.channelId,g),T=n,c(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await cA(h,d,T.channelId,T.cumulativeAmount,g,m,C),c(T);else{let e=await lA(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(w,e.entry),s.set(e.entry.channelId,w),a.set(e.entry.channelId,g),ee=e.payload,c(e.entry)}return sA(r,ee,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?Pm(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?Pm(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 Ak(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:ek(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 cA(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 Ak(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 sA(r,x,d,i)}return Mw(vk,{canHandleChallenge({challenge:e}){let t=Aw(e.request.methodDetails,Ow.sessionProtocol);return t===void 0||t===kw.v1},context:dA,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}function pA(e,t){if(!e)throw new $k({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new $k({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new eA({expires:e})}function mA(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=yA(n)}return t}function hA(e,t){let n=mA(e),r=TA(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[yA(e)]??1,index:t}));return{definition:r,entries:i,header:_A(i),keys:n}}function gA(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)=>CA(e,t))}function _A(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${kA(n)}`}).join(`, `)}function vA(e,t,n){let r=new Map;for(let e of t){let t=yA(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(yA(e));if(!i)return[];let a=bA(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function yA(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function bA(e,t){let n;for(let r of t){if(!xA(e,r))continue;let t={...r,specificity:SA(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 xA(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function SA(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function CA(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}`);AA(r,`method`),AA(i,`intent`);let a=1;for(let t of wA(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=DA(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function wA(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function TA(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>yA(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]=EA(t,`payment preference \"${e}\"`)}return a}function EA(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return OA(e,t)}function DA(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 OA(Number(e),t)}function OA(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 kA(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function AA(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var jA=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 MA(e){}function NA(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=MA,onError:n=MA,onRetry:r=MA,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 jA(`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(PA(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 FA(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(PA(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(FA(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){i&&i(e.slice(t,n).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 jA(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new jA(`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 PA(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 FA(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 IA=[`exact`],LA=`PAYMENT-REQUIRED`,RA=`PAYMENT-SIGNATURE`,zA=W().check($D(1)),BA=oO().check(WO(e=>e>0,`Must be positive`)),VA=W().check(eO(/^\\d+$/,`Invalid atomic amount`)),HA=XO(),UA=W().check(eO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),WA=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:zA}),GA=K({amount:VA,asset:zA,extra:Y(EO(W(),gO())),maxTimeoutSeconds:BA,network:UA,payTo:zA,scheme:OO(IA)}),KA=EO(W(),K({info:EO(W(),gO()),schema:EO(W(),gO())})),qA=K({accepts:G(GA).check($D(1)),error:Y(W()),extensions:Y(KA),resource:WA,x402Version:J(2)}),JA=q([K({authorization:K({from:HA,nonce:ZO(),to:HA,validAfter:VA,validBefore:VA,value:VA}),signature:QO()}),K({permit2Authorization:K({deadline:VA,from:HA,nonce:VA,permitted:K({amount:VA,token:HA}),spender:HA,witness:K({to:HA,validAfter:VA})}),signature:QO()})]),YA=K({accepted:GA,extensions:Y(KA),payload:JA,resource:Y(WA),x402Version:J(2)}),XA=K({amount:Y(VA),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(KA),extra:Y(EO(W(),gO())),network:zA,payer:Y(W()),success:cO(),transaction:W()}),ZA=[H.authorization,LA,`PAYMENT-RESPONSE`,RA];function QA(e,t,n){let r=new Headers(e.headers);for(let e of ZA)r.delete(e);return r.set(t,n),{...e,headers:r}}function $A(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 ej=new WeakMap;function tj(e){let t=$A(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 nj(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 rj(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=Nk.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 ij(e){if(e)return`error`in e?e.error?.code===-32042?rj(e.error.data):void 0:rj(e.result?._meta?.[`org.paymentauth/payment-required`])}function aj(e,t){return!e||e.id!==t?[]:ij(e)?.challenges??[]}async function oj(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=NA({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=nj(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 sj(e){let t=ej.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(nj).catch(()=>void 0);if(t.includes(`text/event-stream`))return oj(e)})();return ej.set(e,n),n}function cj(){return{getChallenges(e,t){let n=tj(t);return e.status===402||n===void 0?[]:sj(e).then(e=>aj(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Jk(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function lj(){return{getChallenges(e){return e.status!==402||!e.headers.has(H.wwwAuthenticate)?[]:Vk(e)},setCredential(e,t){return QA(e,H.authorization,t)}}}function uj(e){return{encode(t){return Qy(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(eb(t)))}catch{throw new dj}}}}var dj=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let fj=uj(qA),pj=uj(YA),mj=uj(XA);fj.encode,fj.decode;function hj(e){try{return gj(JSON.parse(eb(e)))}catch{throw new dj}}pj.encode,pj.decode,mj.encode,mj.decode;let gj=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new dj;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new dj;let n=WA.parse(t.resource),r=t.extensions===void 0?void 0:KA.parse(t.extensions);return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}},_j=Symbol.for(`mppx.x402.challenge`);function vj(e){return Object.defineProperty(e,_j,{value:!0}),e}function yj(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(LA);if(!t)return[];let n=hj(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=GA.safeParse(e);if(!r.success)return[];let i=r.data;return vj(Pk({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 QA(e,RA,t)}}}function bj(e){return e}function xj(){let e=[lj(),yj(),cj()],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 bj({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 Sj=Symbol.for(`mppx.fetch.wrapper`),Cj;function wj(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=xj()}=e,l=e.eventDispatcher??Dj(),u=t??hA(a),d=qj(r),f=async(e,t)=>{let r=Kj(e,t?.headers),f=r.has(H.acceptPayment),p=Zj(r,u),m=Wj(e,t,r),h=Uj(e,t,r,p.header,f,n),g=await d(Jj(h.input),h.init),_=Gj(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 n=(await Qj(vA(C,a,p.entries),b??s))[0];if(!n)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 r=n.challenge;S=r,w=n.method,S.expires&&pA(S.expires,S.id);let i=jj(e=>Xj(r,n.method,e??v)),u=await l.emit(`challenge.received`,Mj({challenge:r,challenges:C,createCredential:i,init:t,input:e,method:n.method,response:g}))??(o?await o(S,{createCredential:i}):void 0)??await i();if(Yj(u),await l.emit(`credential.created`,Nj({challenge:r,credential:u,init:t,input:e,method:n.method,response:g})),g=await d(rM(g,h.input,h.input),c.setCredential({...x,headers:h.headers},u,{challenge:r})),g.ok&&await l.emit(`payment.response`,Pj({challenge:r,credential:u,init:t,input:e,method:n.method,response:g})),!await c.isPaymentRequired(g,_))return g}return g}catch(n){throw await l.emit(`payment.failed`,Fj({challenge:S,challenges:C,error:n,init:t,input:e,method:w,response:g})),n}};return f[Sj]=d,f}function Tj(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);Cj||=globalThis.fetch,globalThis.fetch=wj({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(tM()?`same-origin`:`always`),fetch:globalThis.fetch})}function Ej(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 Dj(){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 Oj(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await Aj(e[`*`],t,n),r}case`credential.created`:await kj(e[`credential.created`],n),await Aj(e[`*`],t,n);return;case`payment.failed`:await kj(e[`payment.failed`],n),await Aj(e[`*`],t,n);return;case`payment.response`:await kj(e[`payment.response`],n),await Aj(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 Oj(e,t){try{return await e(t)}catch{return}}async function kj(e,t){for(let n of e)try{await n(t)}catch{}}async function Aj(e,t,n){await kj(e,Object.freeze({name:t,payload:n}))}function jj(e){let t;return n=>(t??=e(n),t)}function Mj(e){return Object.freeze({challenge:Bj(e.challenge),challenges:e.challenges.map(e=>Bj(e)),createCredential:e.createCredential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),response:zj(e.response)})}function Nj(e){return Object.freeze({challenge:Bj(e.challenge),credential:e.credential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),...e.response===void 0?{}:{response:zj(e.response)}})}function Pj(e){return Object.freeze({challenge:Bj(e.challenge),credential:e.credential,init:Ij(e.init),input:Lj(e.input),method:Rj(e.method),response:zj(e.response)})}function Fj(e){return Object.freeze({...e.challenge?{challenge:Bj(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>Bj(e))}:{},error:e.error,init:Ij(e.init),input:Lj(e.input),...e.method?{method:Rj(e.method)}:{},...e.response===void 0?{}:{response:zj(e.response)}})}function Ij(e){if(e)return Hj({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function Lj(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function Rj(e){return Hj(Object.assign({},e))}function zj(e){return e instanceof Response?e.clone():Bj(e)}function Bj(e){try{return Vj(structuredClone(e))}catch{return Hj(e)}}function Vj(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))Vj(t);return e}function Hj(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function Uj(e,t,n,r,i,a){let o=!!r&&!i&&$j(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(H.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function Wj(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 Gj(e,t){return t===void 0?e:{...e,body:t}}function Kj(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function qj(e){let t=e;for(;t[Sj];)t=t[Sj];return t}function Jj(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function Yj(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 Xj(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 Zj(e,t){let n=e.get(H.acceptPayment);if(!n)return t;try{return{...t,entries:gA(n),header:n}}catch{return t}}async function Qj(e,t){return t?t(e):e}function $j(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=nM(e);return t===`same-origin`?tM()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>eM(n,e))}function eM(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 tM(){return globalThis.location!==void 0}function nM(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,tM()?globalThis.location.href:void 0)}function rM(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=nM(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}let iM=(1n<<96n)-1n;function aM(e){return e>=0n&&e<=iM}function oM(e){return sM(e),e}function sM(e){if(!aM(e))throw Error(`Value ${e} is outside uint96 bounds.`)}function cM(e){return typeof e==`object`&&!!e}function lM(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function uM(e){return cM(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function dM(e){return cM(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 fM(e){let t=eb(e),n=JSON.parse(t);if(!dM(n))throw Error(`Invalid session receipt.`);return n}function pM(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function mM(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=hM(r);return uM(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=hM(r);return dM(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function hM(e){try{return JSON.parse(e)}catch{return null}}function gM(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function _M(){return JSON.stringify({mpp:`payment-close-request`})}function vM(e){let t=yM(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`&&dM(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`&&uM(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&dM(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function yM(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let bM=`0x4d50500000000000000000000000000000000000`,xM={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function SM(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:Pm(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=fA({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=wj({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function T(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function ee(e){if(!h)return;let t=h;h=null,t.reject(e)}function te(e){if(!p)return;let t=p;p=null,t.reject(e)}function ne(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function re(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ie(e){let t=e.headers.get(H.paymentReceipt),n=t?fM(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function E(e,t){return o=e,ie(await y(e,t))}function D(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=xM.CLOSED,r=null}if(e===`open`&&(i=xM.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available — call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[H.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(H.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}},fetch:E,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await E(e,{...s,headers:{...Ej(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=mM(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);re(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[H.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let ne=(await CM(vA(Vk(C),[v],hA([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ne)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ne;let ie=await v.createCredential({challenge:ne,context:{}});f=null,l=ne,g=0n,_=BigInt(ne.request.amount);let E=Jk(ie);u=E.payload.channelId;let ae=new n(y,p);d=ae;let oe=D(ae),se=e=>{ee(Error(e)),te(Error(e)),(ae.readyState===xM.CONNECTING||ae.readyState===xM.OPEN)&&ae.close(3008,e)},ce=e=>e.challengeId===ne.id&&e.channelId===u,le=new Promise((e,t)=>{let n=()=>{ae.removeEventListener(`error`,r),oe.emit(`open`,{type:`open`}),e()},r=()=>{ae.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};ae.addEventListener(`open`,n,{once:!0}),ae.addEventListener(`error`,r,{once:!0})});return ae.addEventListener(`close`,e=>{d===ae&&(d=null),l===ne&&(l=null),u===E.payload.channelId&&(u=null),m=null,ee(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),oe.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ae.addEventListener(`error`,()=>{oe.emit(`error`,{type:`error`})}),ae.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=vM(t);if(!n){oe.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,oe.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ce(n.data)){se(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){se(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),T(n.data),oe.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:ee(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){se(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){se(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:ne,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});ae.send(gM(r));break}case`payment-receipt`:if(!ce(n.data)){se(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){se(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{ee(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),ae.close()},{once:!0}),await le,ae.send(gM(ie)),await S(),oe.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===xM.OPEN){let t=f??await(async()=>(d.send(_M()),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(gM(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(ne(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[H.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${H.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(H.paymentReceipt);return p?fM(p):void 0}}}async function CM(e,t){let n=t;return n?n(e):e}R();function wM(e){return g_(_v(yv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function TM(e){return sS(e)}function EM(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function DM(e,t){return g_(P(TM(e),t.sender))}let OM=[{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`}],kM=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],AM={name:`descriptor`,type:`tuple`,components:OM},jM=[{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:[AM,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[AM,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[AM,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[AM],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[AM],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[AM],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:OM},{name:`state`,type:`tuple`,components:kM}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:kM}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:kM}]},{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 MM(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let NM={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function PM(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function FM(e,t){return LC(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function IM(e,t,n,r,i){let a=qb(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await FM(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return rg(e,{account:t,domain:MM(r,i),types:NM,primaryType:`Voucher`,message:n})})());if(!PM(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return Xb(a)}R(),Hs(),Qr();function LM(e){return typeof e==`object`&&!!e}function RM(e){return typeof e==`string`&&Yr(e,{strict:!1})?e:void 0}function zM(e){return RM(e.accessKeyAddress)}function BM(e){return zM(e)??e.address}async function VM(e,t){let{account:n,calls:r,feePayer:i,feeToken:a}=t;return Kd(e,{account:n,calls:r,...i?{feePayer:!0}:{},feeToken:a})}async function HM(e,t){return await Vh(e,t)}function UM(e,t){let n=e.request.methodDetails,r=LM(n)?RM(n.escrowContract)??RM(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function WM(e,t,n,r){return Zk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function GM(e,t){return e.toLowerCase()===t.toLowerCase()}async function KM(e,t,n,r,i,a=bM){let o=wM({...n,chainId:i,escrow:a}),s=oM(r),c=await IM(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function qM(e,t,n,r,i,a=bM){let o=await KM(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function JM(e,t,n){let r=BM(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=rp(32),s=oM(n.deposit),c=oM(n.initialAmount),l=await HM(e,await VM(e,{account:t,calls:[{to:i,data:Vs({abi:jM,functionName:`open`,args:[n.payee,a,n.token,s,o,r]})}],feePayer:n.feePayer,feeToken:n.token})),u=DC(l),d={authorizedSigner:r,expiringNonceHash:DM(EM({...n.feePayer?{feePayer:!0}:{},transaction:u}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},f=wM({...d,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:f,transaction:l,signature:await IM(e,t,{channelId:f,cumulativeAmount:c},i,n.chainId),descriptor:d,cumulativeAmount:c.toString(),authorizedSigner:d.authorizedSigner}}async function YM(e,t,n,r,i,a,o=bM){let s=wM({...n,chainId:i,escrow:o}),c=oM(r);return{action:`topUp`,type:`transaction`,channelId:s,transaction:await HM(e,await VM(e,{account:t,calls:[{to:o,data:Vs({abi:jM,functionName:`topUp`,args:[n,c]})}],feePayer:a,feeToken:n.token})),descriptor:n,additionalDeposit:c.toString()}}function XM(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function ZM(e){return XM({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function QM(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(ZM(t),t)},delete(t){e.delete(t)}}}Tm();let $M=2n**96n-1n;function eN(e){if(e<0n||e>$M)throw new Z({reason:`amount exceeds uint96 range`})}async function tN(e,t,n=bM){return nN(await Fm(e,{address:n,abi:jM,functionName:`getChannelState`,args:[t]}))}function nN(e){return eN(e.settled),eN(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Qr();let rN=UO(e=>typeof e==`string`&&Yr(e,{strict:!1})),iN=UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),aN=uj(K({acceptedCumulative:W(),chainId:oO(),channelId:iN,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:rN,expiringNonceHash:iN,operator:rN,payee:rN,payer:rN,salt:iN,token:rN}),escrow:rN,requiredCumulative:W(),settled:W(),spent:W(),units:Y(oO())}));function oN(e){return aN.encode(e)}function sN(e){return aN.decode(e)}let cN={status:`idle`};function lN(e){return{status:`active`,...e}}function uN(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?hN(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:pN(e.challengeId,t.snapshot),effects:[]}:hN(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:EN({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:mN(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:hN(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?hN(e,t):{state:kN(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?fN({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):hN(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:hN(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?hN(e,t):{state:mN(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}]}:hN(e,t);case`settled`:return e.status===`settling`?{state:mN(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:hN(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:hN(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:hN(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?hN(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`?hN(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function dN(e,t){let n=uN(e.state,t);return e.state=n.state,n}function fN(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 pN(e,t){return lN({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function mN(e,t,n,r){return lN({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function hN(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function gN(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function _N(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`);gN({cumulativeAmount:i,maxVoucherCumulative:n}),gN({cumulativeAmount:a,maxVoucherCumulative:n})}function vN(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;_N({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function yN(e,t){return typeof e==`bigint`?e:Pm(e,t)}function bN(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(xN(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 xN(e,t){gN({cumulativeAmount:e,maxVoucherCumulative:t??null})}function SN(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 CN(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function wN(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>CN({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function TN(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 EN(e){return lN({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 DN(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:cN}}function ON(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=vN({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&dN(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function kN(e,t){return lN({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function AN(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 jN(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 uN(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function MN(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 NN(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 PN(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(_M()),e.waitForCloseReady()))(),a=BigInt(i.spent);wN({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=>TN({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(gM(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Qr();function FN(e){return`cumulativeAmount`in e}function IN(e){if(FN(e))return BigInt(e.cumulativeAmount)}async function LN(e,t){t.opened?await e.store.set(t):await e.store.delete(ZM(t)),e.notifyUpdate(t)}async function RN(e,t,n){let r=IN(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 LN(e,i))}let zN=UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),BN=K({account:Y(UO()),action:Y(OO([`open`,`topUp`,`voucher`,`close`])),channelId:Y(UO(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(GO()),cumulativeAmountRaw:Y(W()),transaction:Y(zN),descriptor:Y(UO()),additionalDeposit:Y(GO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function VN(e){return e?.action!==void 0}function HN(e){return VN(e)&&e.descriptor!==void 0}function UN(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 Pm(i,t)}function WN(e,t,n,r){let i=UN(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function GN(e){return typeof e==`object`&&!!e}function KN(e){return typeof e==`string`&&Yr(e,{strict:!1})?e:void 0}function qN(e){let t=e.request.methodDetails;return GN(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:KN(t.escrowContract),escrow:KN(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:KN(t.operator),sessionSnapshot:Aw(t,Ow.sessionSnapshot)}:{}}function JN(e,t){if(typeof e==`string`&&Yr(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function YN(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function XN(e){return typeof e==`string`?e:void 0}async function ZN(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=qN(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=UM(t,n),c=JN(t.request.recipient,`recipient`),l=JN(t.request.currency,`currency`);return{amount:YN(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:XM({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:XN(t.request.suggestedDeposit),token:l}}async function QN(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=tN}=e,o=wM({...r,chainId:i.chainId,escrow:i.escrow});$N({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 $N(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(!GM(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!GM(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!GM(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!GM(r.authorizedSigner,t))throw Error(`context descriptor authorizedSigner does not match account`)}function eP(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function tP(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return BigInt(i.spent)+r;let o=UN(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}function nP(e,t){if(!GM(e.address,t.payer))return!1;let n=t.authorizedSigner;return BigInt(n)===0n||GM(n,t.payer)?!0:GM(BM(e),n)}function rP(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(VN(r)){if(!HN(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=eP({context:r,snapshot:o.snapshot});return!n&&s&&nP(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&nP(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 iP(e,t){switch(e.type){case`open`:return aP(e,t);case`recover`:return oP(e,t);case`voucher`:return sP(e,t);case`manual`:return cP(e,t)}}async function aP(e,t){let{account:n,resolved:r}=e,i=bN({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:r.amount,suggestedDepositRaw:r.suggestedDepositRaw}),a=await JM(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 LN(t,{channelId:a.channelId,cumulativeAmount:r.amount,deposit:i,descriptor:a.descriptor,escrow:r.escrow,chainId:r.chainId,opened:!0}),a}async function oP(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await QN({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:BM(n),token:o.token}}),l=tP({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`);xN(l,a);let u=await KM(o.client,n,s,l,o.chainId,o.escrow);return await LN(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function sP(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;xN(a,e.maxDeposit);let o=await KM(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await LN(t,r),o}async function cP(e,t){let{account:n,context:r,decimals:i,resolved:a}=e,{descriptor:o}=r,s=wM({...o,chainId:a.chainId,escrow:a.escrow});$N({channelId:r.channelId,descriptor:o,expectedChannelId:s,payee:a.payee,payer:n.address,authorizedSigner:BM(n),token:a.token});let c=await lP({account:n,channelId:s,context:r,decimals:i,descriptor:o,resolved:a});return await RN(t,a.key,c),c}async function lP(e){switch(e.context.action){case`open`:return uP(e);case`topUp`:return dP(e);case`voucher`:return fP(e);case`close`:return pP(e)}}async function uP(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=WN(r,i,`cumulativeAmount`,`open`),c=await KM(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 dP(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e,s=WN(r,i,`additionalDeposit`,`topUp`);return r.transaction?{action:`topUp`,type:`transaction`,channelId:n,transaction:r.transaction,descriptor:a,additionalDeposit:s.toString()}:YM(o.client,t,a,s,o.chainId,o.feePayer,o.escrow)}function fP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return KM(a.client,t,i,WN(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function pP(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return qM(a.client,t,i,WN(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}function mP(e={}){let{account:t,channelStore:n,decimals:r=6,escrow:i,getClient:a,maxDeposit:o,onChannelUpdate:s,resolveAccount:c}=e,l=rE({chain:xw,getClient:a,rpcUrl:ik}),u=Nw({account:t}),d=o===void 0?void 0:Pm(o,r),f=n??QM(),p={store:f,notifyUpdate:e=>s?.(e)};return Mw(vk,{canHandleChallenge({challenge:e}){return Aw(e.request.methodDetails,Ow.sessionProtocol)===kw.v2},context:BN,async createCredential({challenge:e,context:t}){let n=await ZN({challenge:e,escrowOverride:i,getClient:l}),a=u(n.client,t),o=await f.get(n.key),s=eP({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 WM(e,await iP(rP({account:h,entry:o,context:t,decimals:r,maxDeposit:d,resolved:n}),p),n.chainId,h)}})}Yf(),R();let hP=I(g_(kf(`mpp`),{as:`Hex`}),0,4);function gP(e){return op(I(g_(kf(e),{as:`Hex`}),0,10))}function _P(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(op(hP),0),i[4]=1,i.set(gP(t),5),n&&i.set(gP(n),15),i.set(vP(r),25),$f(i)}function vP(e){return op(I(g_(kf(e),{as:`Hex`}),0,7))}let yP=[nk.pathUsd,nk.usdc];function bP(e,t){let n=nT.call;return n.length>=2?n(e,t):n(t)}function xP(e,t){let n=Xw.call;return n.length>=2?n(e,t):n(t)}function SP(e,t){let n=Fw.call;return n.length>=2?n(e,t):n(t)}async function CP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!tA(e,i)),c=await Promise.allSettled([Fm(e,bP(e,{account:n,token:i})),...s.map(t=>Fm(e,bP(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 Bw(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[xP(e,{amount:n,spender:KC,token:l}),SP(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new TP({currency:i})}}function wP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>tA(e,t)))]:t,slippage:e.slippage??1}:!1}var TP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function EP(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 DP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function OP(e){return{name:`MPP`,version:`3`,chainId:e}}function kP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function AP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:OP(n),types:DP,primaryType:`Proof`,message:kP({account:t,challengeId:r,realm:i})}}function jP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let MP=K({account:Y(UO()),autoSwap:Y(UO()),mode:Y(OO(ak))});function NP(e,t){let n=hT.call;return n.length>=2?n(e,t):n(t)}function PP(e={}){let{clientId:t}=e,n=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),r=Nw({account:e.account});return Mw(_k,{context:MP,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 Zk({challenge:i,payload:{signature:await rg(c,{account:m,...AP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:jP({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:_P({challengeId:i.id,clientId:t,serverId:i.realm}),_=EP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>NP(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=wP(a?.autoSwap??e.autoSwap,yP),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 CP(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 Lh(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Zk({challenge:i,payload:{hash:t,type:`hash`},source:jP({address:y.address,chainId:l})})}let C=await Kd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});return C.gas=(C.gas??0n)+5000n,f?.feePayer&&(C.feePayer=!0),Zk({challenge:i,payload:{signature:await Vh(c,C),type:`transaction`},source:jP({address:y.address,chainId:l})})}})}function FP(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 IP(e){let t=FP(`close-ready`),n=FP(`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 LP={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function RP(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=LP.CLOSED,r=null}if(a.type===`open`&&(i=LP.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 zP(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function BP(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=yN(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 VP(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:kN(o,n)}:i?{channel:n,state:EN({challengeId:i,entry:n,spent:s.toString(),units:a.status===`active`?a.units:0})}:{channel:n}}async function HP(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=zP(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:oM(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function UP(e){return e.method===Ew.tempo&&e.intent===Dw.session}function WP(e){return Aw(e.request.methodDetails,Ow.sessionSnapshot)}function GP(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...Ej(r),...Ej(t?.headers),[H.authorization]:n}}}function KP(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 qP(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function JP(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 YP(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(KP(e.input),{method:`POST`,headers:{[H.authorization]:r}});if(!i.ok)throw Error(`Top-up POST failed with status ${i.status}`);let a=i.headers.get(H.paymentReceipt);return a?fM(a):void 0}async function XP(e){let t=ZP({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()}),u=await e.fetch(e.input,GP(e.input,e.init,l));return!u.ok&&!u.headers.get(H.paymentReceipt)&&e.restoreCumulative(i.channelId,o),u}function ZP(e){let t=Vk(e.response).find(UP);if(!t)return;let n=WP(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function QP(e){if(!e.lastUrl)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let t=async t=>{let n=await e.createSessionCredential(t,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:e.signedCloseAmount});return e.fetch(e.lastUrl,{method:`POST`,headers:{[H.authorization]:n}})},n=await t(e.target.challenge);if(n.status===402){let r=Vk(n).find(UP);r&&(e.setChallenge?.(r),n=await t(r))}if(!n.ok){let e=await JP(n),t=n.headers.get(H.wwwAuthenticate)??``;throw Error(`Close request failed with status ${n.status}${e?`: ${e}`:``}${t?` [${H.wwwAuthenticate}: ${t}]`:``}`)}let r=n.headers.get(H.paymentReceipt);return r?fM(r):void 0}async function $P(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...Ej(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);!pM(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o));let c=n.getChallenge();if(!pM(s))throw Error(`SSE response is not an event stream.`);if(!s.body)throw Error(`Response has no body.`);return eF({challenge:c,driver:n,input:e,onReceipt:r,response:s,signal:i})}async function*eF(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=mM(t);if(n)switch(n.type){case`message`:yield n.data;break;case`payment-need-voucher`:await tF(e,n.data);break;case`payment-receipt`:e.driver.acceptReceipt(n.data),e.onReceipt?.(n.data);break}}}}finally{t.releaseLock()}}async function tF(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await HP({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await e.driver.createSessionCredential(e.challenge,r.context),a=await e.driver.fetch(e.driver.managementInput(e.input),{method:`POST`,headers:{[H.authorization]:i}});if(!a.ok)throw Error(`Voucher POST failed with status ${a.status}`)}async function nF(e){let t=new URL(e.input.toString()),n=qP(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=Vk(r).find(UP);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 rF(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Jk(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:lM(t)}}function iF(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function aF(e){if(!iF(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 oF(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!iF(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!TN({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function sF(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=rF({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=RP(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===LP.CONNECTING||o.readyState===LP.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 lF({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 cF(o,c.emit,a),o.send(gM(n)),await e.waitForReceipt(),c.socket}function cF(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 lF(e){let t=vM(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`:uF(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 dF(e,t.data);return;case`payment-receipt`:fF(e,t.data);return}}function uF(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=aF({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 dF(e,t){try{let n=await HP({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(gM(r))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function fF(e,t){let n=oF({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 pF(e){return e.method===Ew.tempo&&e.intent===Dw.charge}function mF(e){if(!pF(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function hF(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 gF(e,t,n){if(!n)return t;let r={...Ej(e instanceof Request?e.headers:void 0),...Ej(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===H.paymentSession.toLowerCase())?t:{...t,headers:{...r,[H.paymentSession]:n}}}function _F(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:Pm(e.maxDeposit,t),WebSocket:n}}function vF(e){let t=_F(e),n=DN(),r=IP({getSocketSession:()=>n.socketSession}),i=e.channelStore??QM(),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=ZM(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(ZM(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(),te(e.previous)}}function d(e){let t=Aw(e.request.methodDetails,Ow.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 dN(n,e)}let p=mP({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=PP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),h=wj({fetch:t.fetch,methods:[p],onChallenge:async(e,t)=>{if(!UP(e))return;let r=o,i=r&&r.challengesReceived>0&&e.id===n.lastChallenge?.id;if(d(e)||(r?.created.size?await u():i&&te(r.previous)),r&&r.challengesReceived++,n.lastChallenge=e,f({type:`challengeReceived`,challengeId:e.id}),n.channel?.opened&&n.lastUrl){let t=n.channel.cumulativeAmount+lM(e);await T({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){ON({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(H.paymentSessionSnapshot);if(!t)return;let n=hF(sN(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:{...Ej(a),...Ej(i?.headers),[H.acceptPayment]:`${Ew.tempo}/${Dw.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await y(e);let n=Vk(e).find(pF);if(!n||!mF(n))return;let r=await m.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...Ej(u.headers),[H.authorization]:r}});return i.ok?await y(i):void 0}catch{return}}function x(e,t){let r=n.socketSession;return AN({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){gN({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function w(e){let r=await YP({...e,channel:n.channel,createSessionCredential:g,fetch:t.fetch});_(r);let i=VP({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 T(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 ee(e,t){let r=jN({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 te(e){let t=NN(e,n.channel);n.channel=t.channel,n.spent=t.spent,n.state=t.state}function ne(e){let t=e.headers.get(H.paymentReceipt),r=t?fM(t):null;return _(r),Object.assign(e,{receipt:r,challenge:n.lastChallenge,channelId:n.channel?.channelId??null,cumulative:n.channel?.cumulativeAmount??0n})}async function re(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=MN({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=gF(e,r,s),c=!i.channel?.opened;async function u(){let t=a.resumed;return!c||!t?!1:(c=!1,await l(t),o=gF(e,r,void 0),!0)}for(;;){let r;try{r=await h(e,o)}catch(e){if(te(i),await u())continue;throw e}let a=ne(r),s=!1;if(a.status===402){let r=await XP({input:e,init:o,response:a,createSessionCredential:g,fetch:t.fetch,getChannel:()=>n.channel,restoreCumulative:ee,setChallenge(e){n.lastChallenge=e},topUpIfNeeded:T});r&&(s=!0,a=ne(r))}if(!s&&!a.ok&&!a.receipt){if(te(i),await u())continue;return a}return a}}finally{o=void 0}}async function ie(e){let r=await QP({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:re,async topUp(e){let r=BP({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 $P(e,r,{createSessionCredential:g,doFetch:re,fetch:t.fetch,getChannel:()=>n.channel,getChallenge:()=>n.lastChallenge,assertVoucherWithinLocalLimit:C,managementInput:KP,acceptReceipt(e){_(e)},topUpIfNeeded:T})},async ws(e,i){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let a=qP(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 nF({createSessionCredential:g,fetch:t.fetch,input:e,onProbeUrl(e){n.lastUrl=e.toString()},probeInit:gF(a,o,s),signal:i?.signal});return n.lastChallenge=c,sF({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:T,waitForReceipt:r.waitForReceipt})},async close(){let e=n.socketSession,t=SN({channel:n.channel,currentSocket:e,lastChallenge:n.lastChallenge});if(!t)return;let i=e?.socket;if(e&&i?.readyState===LP.OPEN){let a=await PN({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 ie(t)}}}(function(e){e.serializeSnapshot=oN,e.deserializeSnapshot=sN})(vF||={}),Qr(),mi();let yF=(1n<<64n)-1n,bF={dev_second:1n,day:86400n,week:604800n};function xF(e){return e instanceof Date?e:new Date(e)}function SF(e){let t=e.getTime();if(!Number.isFinite(t))throw new Z({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new Z({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new Z({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function CF(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new Z({reason:`periodCount is invalid`});let t=bF[e.periodUnit];if(t===void 0)throw new Z({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>yF)throw new Z({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new Z({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function wF(e){let{challengeExpires:t,request:n}=e;CF(n);let r=SF(xF(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new Z({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function TF(e){return[{address:LF(e.currency,`currency`),selector:`0x95777d59`,recipients:[LF(e.recipient,`recipient`)]}]}async function EF(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=OF({accessKey:t,chainId:r,request:i});return rx(a,{signature:qb(await n.sign({hash:ox(a)}))})}function DF(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new Z({reason:`invalid keyAuthorization payload`});let a=kF(r.signature),o=AF(a);return jF({accessKey:t,authorization:a,chainId:n}),MF(a,i),PF(NF(a),i),FF(a.scopes,i),{authorization:a,source:{address:IF(a,o),chainId:n}}}function OF(e){let{accessKey:t,chainId:n,request:r}=e;return rx({address:LF(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:SF(xF(r.subscriptionExpires)),limits:[{token:LF(r.currency,`currency`),limit:BigInt(r.amount),period:CF(r)}],scopes:TF(r),type:t.keyType})}function kF(e){try{return sx(e)}catch{throw new Z({reason:`invalid keyAuthorization payload`})}}function AF(e){let t=e.signature;if(!t||t.type===`keychain`)throw new Z({reason:`keyAuthorization must use a primitive signature`});return t}function jF(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new Z({reason:`keyAuthorization chainId mismatch`});if(t){if(!pi(n.address,LF(t.accessKeyAddress,`accessKeyAddress`)))throw new Z({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new Z({reason:`keyAuthorization key type mismatch`})}}function MF(e,t){if(wF({request:t}),e.expiry!==SF(xF(t.subscriptionExpires)))throw new Z({reason:`keyAuthorization expiry mismatch`})}function NF(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new Z({reason:`keyAuthorization must contain exactly one token limit`});return t}function PF(e,t){if(!pi(e.token,LF(t.currency,`currency`)))throw new Z({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new Z({reason:`keyAuthorization amount mismatch`});if(e.period!==CF(t))throw new Z({reason:`keyAuthorization period mismatch`})}function FF(e,t){if(!e||e.length!==1)throw new Z({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=LF(t.currency,`currency`),r=LF(t.recipient,`recipient`),i=new Set;for(let t of e){if(!pi(t.address,n))throw new Z({reason:`keyAuthorization call target mismatch`});let e=RF(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new Z({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new Z({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!pi(t.recipients[0],r))throw new Z({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new Z({reason:`keyAuthorization must allow transferWithMemo`})}function IF(e,t){let n=ox(e);try{let e=Wb({payload:n,signature:t});if(!$b(t,{address:e,payload:n}))throw new Z({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof Z?e:new Z({reason:`keyAuthorization signature is invalid`})}}function LF(e,t){if(!Yr(e))throw new Z({reason:`${t} must be an address`});return e.toLowerCase()}function RF(e){return typeof e==`string`?e.toLowerCase():``}R(),mi();let zF=K({accessKey:Y(UO()),account:Y(UO())});function BF(e={}){let t=rE({chain:xw,getClient:e.getClient,rpcUrl:ik}),n=Nw({account:e.account});return Mw(yk,{context:zF,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??tk.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.\");HF(r.request),await e.validateRequest?.(r.request);let l=await VF(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!pi(DF({accessKey:c,chainId:a,payload:{signature:lx(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Zk({challenge:r,payload:{signature:lx(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function VF(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await EF({accessKey:n,account:r,chainId:i,request:a})||ix((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:SF(xF(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:F(BigInt(a.amount)),period:CF(a)}],scopes:TF(a)}]})).keyAuthorization)}function HF(e){CF(e),SF(xF(e.subscriptionExpires))}let UF=Object.assign(mP,{manager:vF}),WF=Object.assign(SM,{method:fA});function GF(e={}){return[PP(e),UF(e)]}(function(e){e.charge=PP,e.common=GF,e.session=UF,e.sessionLegacy=WF,e.subscription=BF})(GF||={});function KF(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=xj()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=hA(c,e.paymentPreferences),u=Dj(),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=wj(f);i&&Tj(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=nI(l.entries,n?.acceptPayment),s,d;try{let o=(await rI(vA(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&&pA(s.expires,s.id);let f=qF(e=>iI(l,d,e??t)),p=await u.emit(`challenge.received`,JF({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return Yj(p),await u.emit(`credential.created`,YF({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,XF({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function qF(e){let t;return n=>(t??=e(n),t)}function JF(e){return Object.freeze({challenge:$F(e.challenge),challenges:e.challenges.map(e=>$F(e)),createCredential:e.createCredential,method:ZF(e.method),response:QF(e.response)})}function YF(e){return Object.freeze({challenge:$F(e.challenge),credential:e.credential,method:ZF(e.method),response:QF(e.response)})}function XF(e){return Object.freeze({...e.challenge?{challenge:$F(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>$F(e))}:{},error:e.error,...e.method?{method:ZF(e.method)}:{},response:QF(e.response)})}function ZF(e){return tI(Object.assign({},e))}function QF(e){return e instanceof Response?e.clone():$F(e)}function $F(e){try{return eI(structuredClone(e))}catch{return tI(e)}}function eI(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))eI(t);return e}function tI(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function nI(e,t){return t?typeof t==`string`?gA(t):t:e}async function rI(e,t){return t?t(e):e}async function iI(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 aI(e){let{scheme:t,statement:n,...r}=e.match(oI)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(sI)?.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 oI=/^(?:(?<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)?/,sI=/(?: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>.+))?/;Js();let cI={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 lI(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function uI(e){let t=e.details??e.shortMessage??e.message,n=dI(e);if(n)try{let e=qs({abi:GS,data:n}),r=cI[e.errorName];return{...e,data:n,message:r?lI(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in cI?{errorName:`unknown`,message:cI[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function dI(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 dI(t.cause);if(t.error)return dI(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return dI(e)}return null}function fI(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 KS({extractable:t}),n=T_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!pI(n.keyPair.privateKey))throw new mI(\"`webCryptoP256` key material did not survive storage.\");return IC(n.keyPair,r)}if(n.jwk)return IC({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new mI(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:C_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function pI(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey?!0:!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var mI=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function hI(e){return e instanceof mI?!0:e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let gI={p256:fI()};R(),D();let _I={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},vI=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function yI(e){return{add:t=>OI({...t,store:e}),authorize:t=>xI({...t,store:e}),clear:()=>MI({store:e}),get:t=>EI({...t,store:e}),prepareAuthorization:t=>bI({...t,keystores:e.keystores}),getStatus:t=>wI({...t,store:e}),list:t=>JI({...t,store:e}),remove:t=>jI({...t,store:e}),select:t=>TI({...t,store:e}),updateAuthorization:t=>AI({...t,store:e})}}async function bI(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:rx({address:(()=>{switch(e){case`secp256k1`:return PC(s);case`p256`:return NC(s);case`webAuthn`:throw new NT({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:rx({address:t??F_(x_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??gI,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new NT({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=rx({address:F_(C_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function xI(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await bI({...r,chainId:r.chainId??n,keystores:i.keystores}),o=ox(a.keyAuthorization),s=await t.sign({hash:o}),c=rx(a.keyAuthorization,{signature:qb(s)});return OI({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),ux(c)}async function SI(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=JI({account:t,chainId:r,store:a});for(let e of s)if(!KI(e.expiry,o)&&II(e,i)&&!(n&&!PI(e,{calls:n}))&&await GI(e,a))return!0;return!1}function CI(e){return FI(e.parameters.scopes,{calls:e.calls})}async function wI(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=JI({account:n,accessKey:t,chainId:i,store:o}).find(e=>PI(e,{calls:r}));if(c){if(KI(c.expiry,s))return _I.expired;if(c.keyAuthorization){let e=await qI(a,{accessKey:c.address,account:n,now:s}).catch(()=>_I.pending);return e===_I.published&&kI({accessKey:c.address,account:n,chainId:i,store:o}),e===_I.published?_I.published:_I.pending}return await qI(a,{accessKey:c.address,account:n,now:s})}return t?await qI(a,{accessKey:t,account:n,now:s}):_I.missing}async function TI(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=JI({account:t,chainId:r,store:i});for(let e of o){if(!PI(e,{calls:n}))continue;if(KI(e.expiry,a)){await jI({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await GI(e,i);if(t)return t}}async function EI(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=JI({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(KI(o.expiry,a)){await jI({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await GI(o,i)}}function DI(e){return yT({source:{get(t){return JI({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){kI({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){AI({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function OI(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=>!XI(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function kI(e){let{store:t,...n}=e;YI({...n,patch:{keyAuthorization:void 0},store:t})}function AI(e){let{authorization:t,store:n,...r}=e;YI({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function jI(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!XI(e,n))}))}function MI(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function NI(e){return e instanceof E&&e.walk(e=>{let t=e.data?.errorName;return!!t&&vI.has(t)})?!0:e instanceof Error?vI.has(uI(e).errorName):!1}function PI(e,t){return FI(e.scopes,t)}function FI(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(!UI(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return e.recipients?e.recipients.length===0:!0;let a=BI(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return L_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function II(e,t){return!(!LI(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!HI(e.limits,t.reuse?.minLimits))}function LI(e,t){return!t||!e?!0:t.every(t=>e.some(e=>RI(e,t)))}function RI(e,t){return!UI(e)||!UI(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!zI(e.selector,t.selector)?!1:VI(e.recipients,t.recipients)}function zI(e,t){if(!e)return!0;if(!t)return!1;let n=BI(e),r=BI(t);return!!n&&n===r}function BI(e){try{return(e.startsWith(`0x`)&&e.length===10?e:bk(e)).toLowerCase()}catch{return}}function VI(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function HI(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 UI(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!L_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!L_(e))))}let WI=new WeakMap;async function GI(e,t){let n=DI(t);if(`keyPair`in e&&e.keyPair)return IC(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return PC(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return NC(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=WI.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),WI.set(e,i));try{return await i}catch(n){WI.delete(e),hI(n)&&jI({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function KI(e,t){return typeof e==`number`&&e<t}async function qI(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await ow(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?_I.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?_I.expired:_I.published}catch(e){if(NI(e))return _I.missing;throw e}}function JI(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>XI(e,n))}function YI(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!XI(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 XI(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 ZI(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 QI(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 RT({message:`Account \"${t}\" not found.`}):new BT({message:`No active account.`});return $I(s,{signable:n})}function $I(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 RT({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return PC(e.privateKey);case`p256`:return NC(e.privateKey);case`webCrypto`:return IC(e.keyPair);case`webAuthn`:return FC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return MC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new RT({message:`Unknown key type.`})}}function eL(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let tL=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function nL(e){return e}function rL(e,t={}){let{targetOrigin:n}=t,r=new Map;return nL({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(oL({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function iL(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=aL();t.on(`ready`,e=>a.resolve(e??{}));let o=nL({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 aL(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function oL(e){if(Array.isArray(e))return e.map(oL);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]=oL(r);return t}function sL(e,t,n){return n&&cL(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function cL(e,t){return lL(e)===lL(t)}function lL(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function uL(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 dL={height:600,width:404};function fL(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function pL(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function mL(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let hL;function gL(){return typeof window>`u`?vL():fL({name:`iframe`},e=>{let{host:t}=e;if(hL&&hL.host===t)return hL.refs.store=e.store,hL.refs.fallback.destroy(),hL.refs.fallback=_L()(e),hL.instance.syncTheme(e.theme),hL.instance;hL?.instance.destroy();let n={fallback:_L()(e),store:e.store},r=!1,i=bL(),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))),uL(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],f=!1;function p(){e.onReject(d.map(e=>e.request.id))}function m(){l=void 0;let t=iL({from:rL(window,{targetOrigin:a.origin}),to:rL(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),yL(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{T(),x(),r=!1,f=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let h=m();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),h.destroy(),h=m();return}}).observe(document.body,{childList:!0});let g=``,_=null,v=()=>p(),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});y.observe(o,{attributeOldValue:!0,attributes:!0});let b=!1,x=()=>{b&&(b=!1,o.removeEventListener(`cancel`,v),o.removeEventListener(`click`,v),o.style.pointerEvents=`none`,_?.focus(),_=null,document.body.style.overflow=g)},S=()=>{b||(b=!0,o.addEventListener(`cancel`,v),o.addEventListener(`click`,v),s.focus(),o.style.pointerEvents=`auto`,g=document.body.style.overflow,document.body.style.overflow=`hidden`)},C=!1,w=()=>{C||(C=!0,document.activeElement instanceof HTMLElement&&(_=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},T=()=>{if(C){C=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ee={close(){n.fallback.close(),r=!1,T(),x()},destroy(){hL?.instance===ee&&(hL=void 0),n.fallback.close(),r=!1,x(),T(),n.fallback.destroy(),h.destroy(),o.remove(),y.disconnect()},open(){r||(r=!0,w(),S())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,f){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await h.waitForReady();if(mL()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=tL(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&sL(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),h.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,h.send(`theme`,e??{})}};return hL={host:t,instance:ee,refs:n},ee})}function _L(e={}){if(typeof window>`u`)return vL();let{size:t=dL}=e;return fL({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=bL(),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))),uL(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=iL({from:rL(window,{targetOrigin:o.origin}),to:rL(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 vL(){return fL({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function yL(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function bL(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}let xL=new Map;function SL(e,t){let n=TL(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>DL(e,t),onResponse:t=>OL(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 kL(e),()=>{n.attachments.delete(r),EL(e)}}function CL(e,t){let n=TL(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}),kL(e)})}function wL(e){return new URL(e).host}function TL(e){let t=wL(e),n=xL.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:eE(),requestQueue:[],synced:!1};return xL.set(t,r),r}function EL(e){let t=TL(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function DL(e,t){if(t.length===0)return;let n=TL(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 LT);kL(e,{force:!0})}}function OL(e,t){let n=TL(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(QT(t.error)):r.resolve(t.result),kL(e,{force:!0}))}function kL(e,t={}){let n=TL(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,EL(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:[AL(a)]}))}function AL(e){return{request:e.request,status:e.status}}function jL(e){return e}function ML(e){return e}R();let Q=()=>VO([`0x`,W().check(eO(/^[0-9a-fA-F]{40}$/))],`Expected address`),NL=()=>RO(q([$(),uO()]),uO(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>F(e)}),$=()=>VO([`0x`,W()],`Expected hex value`),PL=()=>RO(q([$(),oO()]),oO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:sp(e),encode:e=>F(e)});R();let FL=K({address:Q(),blockHash:$(),blockNumber:NL(),data:$(),logIndex:PL(),removed:cO(),topics:X(G($())),transactionHash:$(),transactionIndex:PL()}),IL=K({blobGasPrice:Y(NL()),blobGasUsed:Y(NL()),blockHash:$(),blockNumber:NL(),contractAddress:PO(Q()),cumulativeGasUsed:NL(),effectiveGasPrice:NL(),feePayer:Y(Q()),feeToken:Y(Q()),from:Q(),gasUsed:NL(),logs:G(FL),logsBloom:$(),root:Y($()),status:RO($(),OO([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:PO(Q()),transactionHash:$(),transactionIndex:PL(),type:$()}),LL=UO(),RL=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),zL=RO(K({allowedCalls:Y(X(G(K({target:Q(),selectorRules:Y(X(G(K({selector:$(),recipients:Y(X(G(Q())))}))))})))),address:Y(Q()),chainId:NL(),expiry:q([PL(),mO(),fO()]),keyId:Q(),keyType:RL,limits:Y(X(G(K({token:Q(),limit:NL(),period:Y(PL())})))),signature:LL}),UO(),{decode(e){return ix({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=ux(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:sp(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:sp(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}:{}}))}:{}}))}:{}}}}),BL=K({data:Y($()),to:Y(Q()),value:Y(NL())}),VL=K({accessList:Y(G(K({address:Q(),storageKeys:G($())}))),calls:Y(X(G(BL))),chainId:Y(PL()),data:Y($()),feePayer:Y(q([cO(),W()])),feePayerSignature:Y(EO(W(),gO())),feeToken:Y(Q()),from:Y(Q()),gas:Y(NL()),keyAuthorization:Y(zL),keyData:Y($()),keyId:Y(Q()),keyType:Y(RL),maxFeePerGas:Y(NL()),maxPriorityFeePerGas:Y(NL()),nonce:Y(PL()),nonceKey:Y(NL()),to:Y(Q()),validAfter:Y(PL()),validBefore:Y(PL()),value:Y(NL())});var HL;(function(e){e.schema=jL({method:J(`eth_accounts`),params:void 0,returns:X(G(Q()))})})(HL||={});var UL;(function(e){e.schema=jL({method:J(`eth_chainId`),params:void 0,returns:$()})})(UL||={});var WL;(function(e){e.schema=jL({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Q()))})})(WL||={});var GL;(function(e){e.schema=jL({method:J(`eth_sendTransaction`),params:X(wO([VL])),returns:$()})})(GL||={});var KL;(function(e){let t=K({address:Q(),decimals:oO(),direction:OO([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Q())),symbol:W(),value:$()}),n=K({decimals:oO(),formatted:W(),name:W(),symbol:W(),token:Q(),value:$()});e.schema=jL({method:J(`eth_fillTransaction`),params:X(wO([VL])),returns:K({capabilities:K({balanceDiffs:Y(EO(Q(),X(G(t)))),error:Y(K({abiItem:Y(EO(W(),gO())),data:Y($()),errorName:W(),message:W()})),fee:Y(K({amount:$(),decimals:oO(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:$(),decimals:oO(),formatted:W(),token:Q(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:oO()})),sponsor:Y(K({address:Q(),name:Y(W()),url:Y(W())})),sponsored:cO()}),tx:EO(W(),gO())})})})(KL||={});var qL;(function(e){e.schema=jL({method:J(`eth_signTransaction`),params:X(wO([VL])),returns:$()})})(qL||={});var JL;(function(e){e.schema=jL({method:J(`eth_sendTransactionSync`),params:X(wO([VL])),returns:IL})})(JL||={});var YL;(function(e){e.schema=jL({method:J(`eth_signTypedData_v4`),params:X(wO([Q(),W()])),returns:$()})})(YL||={});var XL;(function(e){e.schema=jL({method:J(`personal_sign`),params:X(wO([$(),Q()])),returns:$()})})(XL||={});let ZL=Y(K({feePayer:Y(q([cO(),W()])),sync:Y(cO())}));var QL;(function(e){e.schema=jL({method:J(`wallet_sendCalls`),params:Y(X(wO([K({atomicRequired:Y(cO()),calls:X(G(BL)),capabilities:ZL,chainId:Y(PL()),from:Y(Q()),version:Y(W())})]))),returns:K({atomic:Y(cO()),capabilities:ZL,chainId:Y(PL()),id:W(),receipts:Y(G(IL)),status:Y(oO()),version:Y(W())})})})(QL||={});var $L;(function(e){e.schema=jL({method:J(`wallet_getBalances`),params:Y(X(wO([K({account:Y(Q()),chainId:Y(PL()),tokens:Y(X(G(Q())))})]))),returns:X(G(K({address:Q(),balance:NL(),decimals:oO(),display:W(),name:W(),symbol:W()})))})})($L||={});var eR;(function(e){e.schema=jL({method:J(`wallet_getCapabilities`),params:Y(X(q([wO([Q()]),wO([Q(),X(G($()))])]))),returns:EO($(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})(eR||={});var tR;(function(e){e.showDeposit=Y(q([cO(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Q(),W()]))})])),e.parameters=K({address:Y(Q()),chainId:Y(NL()),expiry:oO(),keyType:Y(RL),limits:Y(X(G(K({token:Q(),limit:NL(),period:Y(oO())})))),publicKey:Y($()),scopes:Y(X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:zL,rootAddress:Q()}),e.schema=jL({method:J(`wallet_authorizeAccessKey`),params:X(wO([e.parameters])),returns:e.returns})})(tR||={});var nR;(function(e){e.parameters=K({address:Y(Q()),expiry:oO(),keyType:Y(RL),limits:X(G(K({token:Q(),limit:NL(),period:Y(oO())})).check($D(1))),publicKey:Y($()),scopes:X(G(K({address:Q(),selector:Y(q([$(),W()])),recipients:Y(X(G(Q())))})).check($D(1))),showDeposit:tR.showDeposit})})(nR||={});var rR;(function(e){e.schema=jL({method:J(`wallet_revokeAccessKey`),params:X(wO([K({address:Q(),accessKeyAddress:Q()})])),returns:void 0})})(rR||={});var iR;(function(e){e.parameters=K({address:Q(),accessKeyAddress:Q(),chainId:Y(NL()),limits:X(G(K({token:Q(),limit:NL()})).check($D(1)))}),e.schema=jL({method:J(`wallet_updateAccessKey`),params:X(wO([e.parameters])),returns:void 0})})(iR||={});var aR;(function(e){e.authorizeAccessKey=Y(yO(tR.parameters,{showDeposit:!0})),e.showDeposit=Y(q([cO(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Q(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),returnToken:Y(cO())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([cO(),K({nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y($()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y($()),credentialId:Y(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(cO()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(PO(W())),idToken:Y(W())})),keyAuthorization:Y(zL),personalSign:Y(K({message:W(),keyAuthorization:Y($())})),signature:Y($()),username:Y(PO(W())),auth:Y(K({token:Y(W())}))})},e.schema=jL({method:J(`wallet_connect`),params:Y(X(wO([K({capabilities:e.capabilities.request,chainId:Y(PL()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Q(),capabilities:e.capabilities.result})))})})})(aR||={});var oR;(function(e){let t=Y(yO(nR.parameters,{showDeposit:!0})),n=aR.auth,r=aR.identity,i=aR.personalSign,a=aR.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y($()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y($()),credentialId:Y(W()),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(cO()),showDeposit:a})])),chainId:Y(PL()),version:Y(W())})})(oR||={});var sR;(function(e){e.schema=jL({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(sR||={});var cR;(function(e){e.schema=jL({method:J(`wallet_getCallsStatus`),params:Y(X(wO([W()]))),returns:K({atomic:cO(),chainId:PL(),id:W(),receipts:Y(G(IL)),status:oO(),version:W()})})})(cR||={});var lR;(function(e){e.parameters=SO(`editable`,[K({amount:W(),chainId:Y(PL()),editable:Y(J(!1)),feePayer:Y(q([cO(),W()])),from:Y(Q()),memo:Y(W()),to:Q(),token:q([Q(),W()])}),K({amount:Y(W()),chainId:Y(PL()),editable:J(!0),feePayer:Y(q([cO(),W()])),memo:Y(W()),to:Y(Q()),token:Y(q([Q(),W()]))})]),e.schema=jL({method:J(`wallet_transfer`),params:Y(X(wO([e.parameters]))),returns:K({chainId:PL(),receipt:IL})})})(lR||={});let uR=K({amount:Y(W()),pairToken:Y(Q()),slippage:Y(oO().check(ZD(0),XD(1))),token:Y(Q()),type:Y(q([J(`buy`),J(`sell`)]))});var dR;(function(e){e.schema=jL({method:J(`wallet_swap`),params:Y(X(wO([uR]))),returns:K({receipt:IL})})})(dR||={});var fR;(function(e){e.schema=jL({method:J(`wallet_switchEthereumChain`),params:X(wO([K({chainId:PL()})])),returns:void 0})})(fR||={});var pR;(function(e){e.schema=jL({method:J(`wallet_deposit`),params:Y(X(wO([K({address:Y(Q()),amount:Y(W()),chainId:Y(PL()),displayName:Y(W()),intent:Y(q([J(`applePay`),J(`credits`),J(`crypto`),J(`faucet`),J(`referralCode`),J(`x`)])),token:Y(q([Q(),W()]))})]))),returns:Y(K({receipts:Y(X(G(IL)))}))})})(pR||={});var mR;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([cO(),W()])),token:Y(Q()),zoneId:Y(PL())}),e.schema=jL({method:J(`wallet_depositZone`),params:Y(X(wO([e.parameters]))),returns:K({receipt:IL})})})(mR||={});var hR;(function(e){e.parameters=K({amount:Y(W()),token:Y(Q()),zoneId:Y(PL())}),e.schema=jL({method:J(`wallet_withdrawZone`),params:Y(X(wO([e.parameters]))),returns:K({receipt:IL})})})(hR||={}),nR.parameters,oR.parameters;let gR=ML([HL.schema,UL.schema,KL.schema,WL.schema,GL.schema,JL.schema,qL.schema,YL.schema,XL.schema,tR.schema,aR.schema,pR.schema,mR.schema,sR.schema,$L.schema,cR.schema,eR.schema,rR.schema,iR.schema,lR.schema,QL.schema,dR.schema,fR.schema,hR.schema]),_R=xk();function vR(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let yR=SO(`method`,gR.map(vR));R();function bR(e={}){let{dialog:t=pL()?_L():gL(),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.`),eL({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=SL(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=ZT({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):CL(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:_R});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:[UE(lR.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[UE(mR.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[UE(hR.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:mg(s)}}}})}let xR=new Map,SR=new WeakMap;function CR(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return TR(r);if(r?.url)return TR(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 xR;let e=SR.get(d);return e||(e=new Map,SR.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Tg(),r=i?wR(i,t):t;p=_({chain:e,transport:s?ER(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function wR(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function TR(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function ER(e,t,n){return r=>{let i=e(r),a=Tg(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=DC(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 DR=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function OR(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 kR({account:o,address:t,chainId:r,client:i,store:a})}function kR(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{return await jR(i,await Kd(i,{account:t,...e,parameters:[],type:`tempo`}))}catch(e){throw MR(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{return AR({account:t,address:n,chainId:r,client:i,request:await Kd(i,{account:t,...e,type:`tempo`}),store:a})}catch(e){throw MR(e,{account:t,address:n,chainId:r,store:a}),e}}}}function AR(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 MR(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 MR(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 MR(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function jR(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 MR(e,t){NR(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function NR(e){if(!(e instanceof Error))return!1;let t=uI(e);if(DR.has(t.errorName))return!0;let n=PR(e);return[...DR].some(e=>n.includes(e))}function PR(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:``,PR(r)].join(`\n`)}function FR(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(FR.cache.get(n))return FR.cache.get(n);let r=e().finally(()=>FR.cache.delete(n));return FR.cache.set(n,r),r}FR.cache=new Map;function IR(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function LR(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=IR(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let RR;function zR(){return RR||=LR(`keyval-store`,`keyval`),RR}function BR(e,t=zR()){return t(`readonly`,t=>IR(t.get(e)))}function VR(e,t,n=zR()){return n(`readwrite`,n=>(n.put(t,e),IR(n.transaction)))}function HR(e,t=zR()){return t(`readwrite`,t=>(t.delete(e),IR(t.transaction)))}let UR=Symbol.for(`accounts.storage.supportsStructuredClone`);function WR(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 GR(e)?KR(r):r}function GR(e){return e[UR]===!0}function KR(e){return Object.assign(e,{[UR]:!0})}function qR(e={}){let t=typeof indexedDB<`u`?LR(`tempo`,`store`):void 0;return KR(WR({async getItem(e){let n=await BR(e,t);return n===null?null:n},async setItem(e,n){await VR(e,n,t)},async removeItem(e){await HR(e,t)}},e))}function JR(e={}){let t=new Map;return KR(WR({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let YR=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 XR(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 ZR=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return ZR(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return ZR(t)(e)}}}},QR=(e,t)=>(n,r,i)=>{let a={storage:XR(()=>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 ZR(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},$R=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},ez=(e=>e?$R(e):$R),tz=Symbol.for(`accounts.storage.supportsStructuredClone`);function nz(e){let{chainId:t,keystores:n=gI,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?qR({key:`tempo`}):JR({key:`tempo`})}=e,s=ez(YR(QR(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>iz(e,t,{schema:a}),name:`store`,partialize:e=>rz(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:lz(o)}),storage:o,version:0}))),c=s;return c.accessKeys=yI({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function rz(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=>sz(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function iz(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(oz):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>VE(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:az(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function az(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 oz(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function sz(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&cz(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function cz(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function lz(e){return e[tz]===!0}async function uz(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let dz=new Map;async function fz(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=dz.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 dz.set(r,a),a.then(e=>{e.length===0&&dz.delete(r)}),a}async function pz(e){let{symbol:t,...n}=e,r=await fz(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function mz(e,t){let n=VE(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new zT({message:`Unsupported method \"${t?.method}\".`}):new IT(-32602,`Invalid params: ${hz(n.error.issues)}`)}return{...t,_decoded:n.data}}function hz(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?hz([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Cf();let gz=new Set;function _z(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function vz(e={}){let{adapter:t=bR(),chains:n=[xw,ww,Sw],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?qR():JR()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Tg(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),f=(()=>{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}})(),p=nz({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}),m=(e={})=>QI({...e,store:p}),h;function g(e={}){let{chainId:t,feePayer:r}=e;return CR(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:f?.precedence}})(),store:p,transports:u})}let _=t({getAccount:m,getClient:g,storage:s,store:p}),{actions:v}=_,y=e.accessKey?.keystores??_.accessKey?.keystores;Object.assign(l,y??gI);let b=XT();p.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>b.emit(`accountsChanged`,p.getState().accounts.map(e=>e.address))),p.subscribe(e=>e.chainId,e=>b.emit(`chainChanged`,F(e))),p.subscribe(e=>e.accounts.length>0,e=>{e?b.emit(`connect`,{chainId:F(p.getState().chainId)}):b.emit(`disconnect`,new BT)});function x(){if(p.getState().accounts.length===0)throw new BT({message:`No accounts connected.`})}function S(){let{accounts:e,activeAccount:t}=p.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 C(e){throw new zT({message:`\\`${e}\\` not supported by adapter.`})}async function w(e={}){return _.getAccount||C(`getAccount`),await _.getAccount(e)}function T(e){let t=g({chainId:e.chainId,feePayer:e.feePayer});return sg({account:e.account,chain:t.chain,transport:e.transport??mg({request:t.request})})}async function ee(e){let{feePayer:t,...n}=e,r=await w({address:e.from}),i=T({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 Kd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(e){{let t=p.getState(),n=e.chainId??t.chainId,r=g({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 OR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 Vh(t,n):await r.account.signTransaction(n)}async function ne(e){{let t=p.getState(),n=e.chainId??t.chainId,r=g({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 OR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 w({address:e.from});return await Mm(T({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=p.getState(),n=e.chainId??t.chainId,r=g({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 OR({address:i,calls:e.calls,chainId:n,client:r,store:p}):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 w({address:e.from}),i=T({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};return r.account.type===`json-rpc`?await i.request({method:`eth_sendTransactionSync`,params:[UE(VL,a)]}):UE(IL,await _h(i,{account:r.account,...a}))}async function ie(e){let t=await w({address:e.address}),n=T({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:Dg({raw:e.data})})}async function E(e){let t=JSON.parse(e.data),n=await w({address:e.address}),r=T({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:Gh(t)})}async function D(e){let t=await w(),n=e.chainId??g().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await p.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await ae(e,Number(n)),i=await T({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[UE(tR.parameters,r.parameters)]});return await se({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function ae(e,t){let n=e.chainId??t??g().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await bI({...e,chainId:n});return{parameters:oe(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!y&&!_z())return{parameters:e};let{key:r,keyAuthorization:i}=await bI({...e,chainId:n,keystores:l});if(!r)throw new PT({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...oe(e,i),publicKey:r.publicKey}}}function oe(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function se(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&p.accessKeys.add({account:n,authorization:ix(r),...o})}async function ce(e){let t=await w({address:e.address}),n=T({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await uw(g(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!NI(e))throw e}p.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:p.getState().chainId})}async function le(e){let t=await w({address:e.address}),n=Number(e.chainId??g().chain.id);if(t.account.type===`json-rpc`){await T({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[UE(iR.parameters,e)]});return}let r=e.limits.map(t=>dw.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await _h(g({chainId:n}),{account:t.account,calls:r})}async function ue(e,t){if(v.signTransaction)return await v.signTransaction(e,t);if(_.getAccount)return await te(e);C(`signTransaction`)}async function de(e,t){if(v.sendTransaction)return await v.sendTransaction(e,t);if(_.getAccount)return await ne(e);C(`sendTransaction`)}async function fe(e,t){if(v.sendTransactionSync)return await v.sendTransactionSync(e,t);if(_.getAccount)return await re(e);C(`sendTransactionSync`)}async function pe(e,t){if(v.signPersonalMessage)return await v.signPersonalMessage(e,t);if(_.getAccount)return await ie(e);C(`signPersonalMessage`)}async function me(e,t){if(v.signTypedData)return await v.signTypedData(e,t);if(_.getAccount)return await E(e);C(`signTypedData`)}async function he(e,t){if(v.authorizeAccessKey)return await v.authorizeAccessKey(e,t);if(_.getAccount)return await D(e);C(`authorizeAccessKey`)}async function ge(e,t){if(v.revokeAccessKey)return await v.revokeAccessKey(e,t);if(_.getAccount)return await ce(e);C(`revokeAccessKey`)}async function _e(e,t){if(v.updateAccessKey)return await v.updateAccessKey(e,t);if(_.getAccount)return await le(e);C(`updateAccessKey`)}function ve(e){if(!_.persistAccounts)return e;let t=[...e];for(let e of p.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function ye(e){if(e===!1)return!1;let t=typeof e==`string`?e:f?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function be(e){let{reuse:t,...n}=e;return n}function xe(){return typeof c==`function`?c():c}async function Se(e){let t=xe();if(!t)return;let n=Ce(e.capabilities);if(!(n&&await SI({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:p}})))return be(t)}function Ce(e){let t=p.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function we(e){let t=xe();if(!t||await p.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!CI({parameters:t,calls:e.calls}))return;let n=be(t);await he(n,{method:`wallet_authorizeAccessKey`,params:[UE(tR.parameters,n)]})}let Te=Object.assign(ZT({...b,async request({method:t,params:r}){return await uz(p),FR(async()=>{let i;try{i=mz(yR,{method:t,params:r})}catch(e){if(!(e instanceof zT))throw e;return await CR(void 0,{chains:n,store:p,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return S();case`eth_chainId`:return F(p.getState().chainId);case`eth_requestAccounts`:{let e=S();if(e.length>0)return e;let{accounts:t}=await v.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return p.setState({accounts:ve(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{x();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=p.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await we({address:c,...a?{calls:a}:{},chainId:s}),await de({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=ye(t.feePayer),r=g({chainId:t.chainId,feePayer:n}),a=p.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??ZI(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 OR({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:p});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{x();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=p.getState();return await ue({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_sendTransactionSync`:{x();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=p.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await we({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_signTypedData_v4`:{x();let[e,t]=i._decoded.params;return await me({address:e,data:t},i)}case`personal_sign`:{x();let[e,t]=i._decoded.params;return await pe({address:t,data:e},i)}case`wallet_sendCalls`:try{x();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=ye(t?.feePayer??(f?!0:void 0)),s=p.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await we({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await de(l,{method:`eth_sendTransaction`,params:[UE(VL,l)]}),tp(F(p.getState().chainId),32),bz);return{capabilities:{sync:a},id:e}}let u=await fe(l,{method:`eth_sendTransactionSync`,params:[UE(VL,l)]}),d=u.transactionHash,m=F(p.getState().chainId),h=P(d,tp(m,32),bz);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 xz(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=p.getState(),a=e?.account??t[r]?.address;if(!a)throw new BT({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new NT({message:\"`tokens` is required.\"});let s=CR(e?.chainId,{chains:n,store:p,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([nT(s,{account:a,token:e}),rT(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(bz.slice(2)))throw Error(\"`id` not supported\");Xf(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await CR(Number(r),{chains:n,store:p,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}=p.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new RT({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`},...f?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&p.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Se({capabilities:n,chainId:t??p.getState().chainId}),a=n?.auth??e.auth,o=a?Tz(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new NT({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new NT({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await ae(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:UE(aR.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!_.forwardsAuth?await Oz(o,t??p.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:f,keyAuthorization:m,personalSign:h,signature:g,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?p.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await v.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await v.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??rp(16),...l?{personalSign:l}:{}},i)}return await v.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();p.setState({accounts:ve(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await se({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&&g&&b?await kz(o,{address:b,message:S,signature:g,...f?.idToken?{idToken:f.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}}:{},...g&&(!o||C||!x)?{signature:g}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...f?{identity:f}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=p.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=Tz(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await v.disconnect?.(),p.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await he(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{x();let[e]=i._decoded.params;await ge({...e},i);return}case`wallet_updateAccessKey`:{x();let[e]=i._decoded.params;await _e({...e},i);return}case`wallet_deposit`:if(!v.deposit)throw new zT({message:\"`deposit` not supported by adapter.\"});return await v.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{x();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!v.transfer)throw new zT({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:ye(e.feePayer)}};return await v.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=p.getState(),l=e.chainId??c.chainId,u=ye(n),d=g({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:f,decimals:m}=await(async()=>{if(L_(s))return{address:s,decimals:(await rT(d,{token:s})).decimals};let e=await pz({chainId:d.chain.id,symbol:s});if(!e)throw new IT(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),h=Pm(t,m),_=c.accounts[c.activeAccount]?.address,y=r&&_&&r.toLowerCase()!==_.toLowerCase()?r:void 0,b={calls:[hT.call({amount:h,...y?{from:y}:{},memo:a?ep(a):void 0,to:o,token:f})],chainId:l,from:_,...u===void 0?{}:{feePayer:u}},S=await fe(b,{method:`eth_sendTransactionSync`,params:[UE(VL,b)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(x(),!v.swap)throw new zT({message:\"`swap` not supported by adapter.\"});return await v.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(x(),!v.depositZone)throw new zT({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:ye(e.feePayer)}};return await v.depositZone(t,i)}case`wallet_withdrawZone`:if(x(),!v.withdrawZone)throw new zT({message:\"`withdrawZone` not supported by adapter.\"});return await v.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 WT({message:`Chain ${e} not configured.`});await v.switchChain?.({chainId:e}),p.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:xf({method:t,params:r})})}},{schema:_R}),{chains:n,getAccount:(e=>{let t=m(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=p.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 p.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:Te.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return CR(t,{chains:n,feePayer:r,provider:h,store:p,transports:u})},store:p});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;gz.has(e)||(gz.add(e),d({info:{icon:t.icon??yz,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Te}))}let Ee=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Ee){let{mode:e=`push`,polyfill:t,...n}=Ee,r=t??Sz(),i=({chainId:e})=>{let t=Te.getClient({chainId:e}),n=p.getState().accounts[p.getState().activeAccount];if(!n)throw new BT({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};KF({methods:[GF({...n,getClient:i,mode:e}),GF.subscription({getClient:i})],polyfill:r})}return h=Te,Te}let yz=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,bz=g_(ep(`TEMPO_5792`));function xz(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 Sz(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function Cz(){return typeof document<`u`&&typeof document.cookie==`string`}function wz(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 NT({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 Tz(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:wz(e,`challenge`)}:{},...r?{verify:wz(e,`verify`)}:{},...i?{logout:wz(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return Ez(a),a}function Ez(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 NT({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new NT({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let Dz=' 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 Oz(e,t){let n=typeof e==`object`?e.challenge:wz(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=aI(i.message),o=new URL(n);if(a.version!==`1`)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${Dz}`});if(a.uri!==o.origin)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${Dz}`});if(a.chainId!==t)throw new NT({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function kz(e,t){let n=typeof e==`object`?e.verify:wz(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!Cz(),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 PT({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let Az={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},jz={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},Mz={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var Nz=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Pz={accent:new Nz(`accent`),background:new Nz(`background`),border:new Nz(`border`),foreground:new Nz(`foreground`),muted:new Nz(`muted`),negative:new Nz(`negative`),positive:new Nz(`positive`),surface:new Nz(`surface`),fontFamily:new Nz(`font-family`),fontSizeBase:new Nz(`font-size-base`),radius:new Nz(`radius`),spacingUnit:new Nz(`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: ${Pz.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 Fz(e){let t=new URL(location.href);t.searchParams.set(jz.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()}Cf();function Iz(e){let t=document.getElementById(Az.data),n=bf(t.textContent),r=t.getAttribute(Mz.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(Mz.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(Mz.challengeId),o=a?(i.removeAttribute(Mz.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(Az.error)?.remove();return}let t=document.getElementById(Az.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=Az.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:Fz,vars:Pz}}let Lz=Iz(`tempo`),Rz=String.raw,zz=document.createElement(`style`);zz.textContent=Rz`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Lz.vars.spacingUnit} * 8);\n }\n button {\n background: ${Lz.vars.accent};\n border-radius: ${Lz.vars.radius};\n color: ${Lz.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Lz.vars.spacingUnit} * 4) calc(${Lz.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`,Lz.root.append(zz);let Bz=vz({testnet:Lz.challenge.request.methodDetails?.chainId===ww.id||Lz.challenge.request.methodDetails?.chainId===Cw.id}),Vz=document.createElement(`button`);Vz.innerHTML=`${Lz.text.pay===`Pay`?`Continue with`:Lz.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>`,Vz.onclick=async()=>{try{Lz.error(),Vz.disabled=!0;let e=await(async()=>{let e=await Bz.request({method:`eth_accounts`});return e.length>0?e.at(0):(await Bz.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await GF({account:e,getClient:e=>{let t=e.chainId??Lz.challenge.request.methodDetails?.chainId;return _({chain:[...Bz?.chains??[],ww,Cw].find(e=>e.id===t),transport:mg(Bz)})}})[0].createCredential({challenge:Lz.challenge,context:{}});await Lz.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Lz.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{Vz.disabled=!1}},Lz.root.appendChild(Vz)})();</script>"
|