@shapeshiftoss/swap-widget 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +233 -0
- package/dist/index.js +63612 -0
- package/dist/style.css +1 -0
- package/package.json +69 -18
- package/Dockerfile +0 -87
- package/dist/assets/PhArrowCircleDown-B305t-Sh.js +0 -14
- package/dist/assets/PhArrowClockwise-CJPxQhr_.js +0 -14
- package/dist/assets/PhArrowDown-C4hT9BVu.js +0 -14
- package/dist/assets/PhArrowLeft-Way4Cu-r.js +0 -14
- package/dist/assets/PhArrowRight-Cp5ZME0F.js +0 -14
- package/dist/assets/PhArrowSquareOut-NnrK69c5.js +0 -14
- package/dist/assets/PhArrowUp-Dph6j8rm.js +0 -14
- package/dist/assets/PhArrowUpRight-BpJjRRRh.js +0 -14
- package/dist/assets/PhArrowsClockwise-CFUT8X7R.js +0 -14
- package/dist/assets/PhArrowsDownUp-BjBI4ckC.js +0 -14
- package/dist/assets/PhArrowsLeftRight-CuLpbKRk.js +0 -14
- package/dist/assets/PhBank-Dchr4XQJ.js +0 -14
- package/dist/assets/PhBrowser-dUu2TrC1.js +0 -14
- package/dist/assets/PhCaretDown-78IuKU3V.js +0 -14
- package/dist/assets/PhCaretLeft-_aiyH7n1.js +0 -14
- package/dist/assets/PhCaretRight-8zJQEuDX.js +0 -14
- package/dist/assets/PhCaretUp-CiCxKWwN.js +0 -14
- package/dist/assets/PhCheck-CcADx8br.js +0 -14
- package/dist/assets/PhCircleHalf-BYzSzd2h.js +0 -14
- package/dist/assets/PhClock-UItiXeJq.js +0 -14
- package/dist/assets/PhCompass-CUy3uA7t.js +0 -14
- package/dist/assets/PhCopy-C-PDgSlZ.js +0 -14
- package/dist/assets/PhCreditCard-CWRaUT6F.js +0 -14
- package/dist/assets/PhCurrencyDollar-Cqla3AXT.js +0 -14
- package/dist/assets/PhDesktop-BBIPrYLl.js +0 -14
- package/dist/assets/PhDeviceMobile-BdsPaATg.js +0 -14
- package/dist/assets/PhDotsThree-BMXCQl-0.js +0 -14
- package/dist/assets/PhEnvelope-yUsis6yU.js +0 -14
- package/dist/assets/PhFunnelSimple-Ba7BbWTp.js +0 -14
- package/dist/assets/PhGlobe-DgLxBk5U.js +0 -14
- package/dist/assets/PhIdentificationCard-Czjmq9Z3.js +0 -14
- package/dist/assets/PhImage-BAJ_erz6.js +0 -14
- package/dist/assets/PhInfo-Cr4DhVUE.js +0 -14
- package/dist/assets/PhLightbulb-BX_7duTr.js +0 -14
- package/dist/assets/PhMagnifyingGlass-Mygfryvz.js +0 -14
- package/dist/assets/PhPaperPlaneRight-BeuCA660.js +0 -14
- package/dist/assets/PhPlus-BMjcHjsT.js +0 -14
- package/dist/assets/PhPower-CGffGmdb.js +0 -14
- package/dist/assets/PhPuzzlePiece-wm_GpVSi.js +0 -14
- package/dist/assets/PhQrCode-DRwRzXCH.js +0 -14
- package/dist/assets/PhQuestion-M09j2U0T.js +0 -14
- package/dist/assets/PhQuestionMark-BP9EMB6h.js +0 -14
- package/dist/assets/PhSealCheck-BfG80yKn.js +0 -14
- package/dist/assets/PhSignOut-C5YOWlPT.js +0 -14
- package/dist/assets/PhSpinner-BXooDYzU.js +0 -14
- package/dist/assets/PhTrash-Biq6rmmL.js +0 -14
- package/dist/assets/PhUser-CAgZSpGe.js +0 -14
- package/dist/assets/PhVault-l2PHF38a.js +0 -14
- package/dist/assets/PhWallet-w25D16It.js +0 -14
- package/dist/assets/PhWarning-DPEydIPw.js +0 -14
- package/dist/assets/PhWarningCircle-BqjT745H.js +0 -14
- package/dist/assets/PhX-s-SmVExa.js +0 -14
- package/dist/assets/SwapController-If0bFrNc.js +0 -1
- package/dist/assets/ccip-BBB7uCdL.js +0 -1
- package/dist/assets/ccip-CkkdfKKI.js +0 -1
- package/dist/assets/data-capture-D4gAy-Yc.js +0 -242
- package/dist/assets/email-B1AJehis.js +0 -90
- package/dist/assets/embedded-wallet-Q6DQopDk.js +0 -410
- package/dist/assets/features-B6JAPAFb.js +0 -5
- package/dist/assets/index-5jd8RPN9.js +0 -7428
- package/dist/assets/index-B4kNtSTk.js +0 -1080
- package/dist/assets/index-B753eAob.js +0 -1
- package/dist/assets/index-BZoLTv77.js +0 -3
- package/dist/assets/index-Bcw9UURX.js +0 -3
- package/dist/assets/index-BkrV-ahK.js +0 -2
- package/dist/assets/index-CRQzQ_up.js +0 -9
- package/dist/assets/index-CSW0Gt5y.js +0 -132
- package/dist/assets/index-CZ4jTIsk.js +0 -138
- package/dist/assets/index-Cwa8SB3h.js +0 -61
- package/dist/assets/index-DEwQgT4r.js +0 -78
- package/dist/assets/index-DVfQiQ1d.js +0 -1
- package/dist/assets/index-cV3UdaMs.css +0 -1
- package/dist/assets/index-hAmu622O.js +0 -43
- package/dist/assets/onramp-XcPNCLRU.js +0 -422
- package/dist/assets/pay-with-exchange-BeHt4OF4.js +0 -280
- package/dist/assets/property-C9JG5tag.js +0 -27
- package/dist/assets/receive-7ff4he2S.js +0 -131
- package/dist/assets/send-CkMBIRXT.js +0 -554
- package/dist/assets/socials-DmmxuLrP.js +0 -250
- package/dist/assets/swaps-IHAYRQ0x.js +0 -1050
- package/dist/assets/transactions-9Cxdk7o9.js +0 -16
- package/dist/assets/v4-BOvFkHkt.js +0 -1
- package/dist/assets/w3m-modal-kJzFnBfB.js +0 -891
- package/dist/assets/wallet-standard-Dv8LMoUB.js +0 -1
- package/dist/favicon.png +0 -0
- package/dist/favicon.svg +0 -11
- package/dist/icon-192x192.png +0 -0
- package/dist/icon-512x512.png +0 -0
- package/dist/index.html +0 -33
- package/index.html +0 -32
- package/public/favicon.png +0 -0
- package/public/favicon.svg +0 -11
- package/public/icon-192x192.png +0 -0
- package/public/icon-512x512.png +0 -0
- package/railway.toml +0 -10
- package/src/api/client.ts +0 -95
- package/src/components/AddressInputModal.css +0 -173
- package/src/components/AddressInputModal.tsx +0 -250
- package/src/components/ApprovalStep.tsx +0 -92
- package/src/components/ExecutionStep.tsx +0 -27
- package/src/components/InputStep.tsx +0 -431
- package/src/components/QuoteSelector.css +0 -146
- package/src/components/QuoteSelector.tsx +0 -137
- package/src/components/QuotesModal.css +0 -250
- package/src/components/QuotesModal.tsx +0 -182
- package/src/components/SettingsModal.css +0 -145
- package/src/components/SettingsModal.tsx +0 -180
- package/src/components/StatusStep.tsx +0 -139
- package/src/components/SwapWidget.css +0 -713
- package/src/components/SwapWidget.tsx +0 -607
- package/src/components/TokenSelectModal.css +0 -438
- package/src/components/TokenSelectModal.tsx +0 -487
- package/src/components/WalletProvider.tsx +0 -92
- package/src/config/appkit.ts +0 -104
- package/src/config/wagmi.ts +0 -27
- package/src/constants/chains.ts +0 -72
- package/src/constants/defaults.ts +0 -28
- package/src/constants/swappers.ts +0 -48
- package/src/constants/viemChains.ts +0 -69
- package/src/contexts/SwapWalletContext.tsx +0 -25
- package/src/demo/App.css +0 -458
- package/src/demo/App.tsx +0 -481
- package/src/demo/main.tsx +0 -25
- package/src/hooks/useAssets.ts +0 -180
- package/src/hooks/useBalances.ts +0 -822
- package/src/hooks/useBitcoinSigning.ts +0 -276
- package/src/hooks/useMarketData.ts +0 -169
- package/src/hooks/useSolanaSigning.ts +0 -275
- package/src/hooks/useStatusPolling.ts +0 -137
- package/src/hooks/useSwapApproval.ts +0 -106
- package/src/hooks/useSwapDisplayValues.ts +0 -157
- package/src/hooks/useSwapExecution.ts +0 -199
- package/src/hooks/useSwapHandlers.ts +0 -119
- package/src/hooks/useSwapQuote.ts +0 -71
- package/src/hooks/useSwapQuoting.ts +0 -102
- package/src/hooks/useSwapRates.ts +0 -61
- package/src/index.ts +0 -43
- package/src/machines/SwapMachineContext.ts +0 -5
- package/src/machines/__tests__/guards.test.ts +0 -228
- package/src/machines/__tests__/setup.test.ts +0 -7
- package/src/machines/__tests__/swapMachine.test.ts +0 -544
- package/src/machines/__tests__/types.test.ts +0 -124
- package/src/machines/guards.ts +0 -33
- package/src/machines/swapMachine.ts +0 -288
- package/src/machines/types.ts +0 -54
- package/src/services/transactionStatus.ts +0 -322
- package/src/types/index.ts +0 -361
- package/src/utils/addressValidation.ts +0 -201
- package/src/utils/redirect.ts +0 -45
- package/src/vite-env.d.ts +0 -10
- package/tsconfig.json +0 -23
- package/tsconfig.node.json +0 -10
- package/vite.config.ts +0 -101
- package/vitest.config.ts +0 -18
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-5jd8RPN9.js","assets/index-cV3UdaMs.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{aX as $s,aY as Es,_ as As,aZ as Ei,a_ as Kt,a$ as Fn,b0 as Ur,b1 as Is,b2 as Gr,b3 as Ai,b4 as Ii,b5 as Bs,b6 as Dr}from"./index-5jd8RPN9.js";import{b7 as tl}from"./index-5jd8RPN9.js";const Bi="1.2.3";let V=class Nn extends Error{constructor(t,n={}){var i;const r=n.cause instanceof Nn?n.cause.details:(i=n.cause)!=null&&i.message?n.cause.message:n.details,s=n.cause instanceof Nn&&n.cause.docsPath||n.docsPath,o=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: https://abitype.dev${s}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${Bi}`].join(`
|
|
3
|
-
`);super(o),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=s,this.metaMessages=n.metaMessages,this.shortMessage=t}};function xe(e,t){const n=e.exec(t);return n==null?void 0:n.groups}const Ts=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ss=/^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)?$/,ks=/^\(.+?\).*?$/,_r=/^tuple(?<array>(\[(\d*)\])*)$/;function Rn(e){let t=e.type;if(_r.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let s=0;s<n;s++){const o=e.components[s];t+=Rn(o),s<n-1&&(t+=", ")}const r=xe(_r,e.type);return t+=`)${(r==null?void 0:r.array)||""}`,Rn({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Ge(e){let t="";const n=e.length;for(let r=0;r<n;r++){const s=e[r];t+=Rn(s),r!==n-1&&(t+=", ")}return t}function Yt(e){var t;return e.type==="function"?`function ${e.name}(${Ge(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${(t=e.outputs)!=null&&t.length?` returns (${Ge(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Ge(e.inputs)})`:e.type==="error"?`error ${e.name}(${Ge(e.inputs)})`:e.type==="constructor"?`constructor(${Ge(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Fs=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function Ti(e){return Fs.test(e)}function Si(e){return xe(Fs,e)}const Ns=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function ki(e){return Ns.test(e)}function Fi(e){return xe(Ns,e)}const Rs=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function Ni(e){return Rs.test(e)}function Ri(e){return xe(Rs,e)}const Cs=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function rn(e){return Cs.test(e)}function Ci(e){return xe(Cs,e)}const Os=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function Oi(e){return Os.test(e)}function zi(e){return xe(Os,e)}const zs=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function Mi(e){return zs.test(e)}function ji(e){return xe(zs,e)}const Li=/^receive\(\) external payable$/;function Ui(e){return Li.test(e)}const Hr=new Set(["memory","indexed","storage","calldata"]),Gi=new Set(["indexed"]),Cn=new Set(["calldata","memory","storage"]);class Di extends V{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class _i extends V{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" 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"})}}class Hi extends V{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class Vi extends V{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class qi extends V{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Wi extends V{constructor({param:t,name:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${n}" 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"})}}class Zi extends V{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Ji extends V{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Ki extends V{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class Xe extends V{constructor({signature:t,type:n}){super(`Invalid ${n} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Yi extends V{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Xi extends V{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class Qi extends V{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class ea extends V{constructor({current:t,depth:n}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${n>0?"opening":"closing"} parentheses.`],details:`Depth "${n}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function ta(e,t,n){let r="";if(n)for(const s of Object.entries(n)){if(!s)continue;let o="";for(const i of s[1])o+=`[${i.type}${i.name?`:${i.name}`:""}]`;r+=`(${s[0]}{${o}})`}return t?`${t}:${e}${r}`:`${e}${r}`}const wn=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 On(e,t={}){if(Ni(e))return na(e,t);if(ki(e))return ra(e,t);if(Ti(e))return sa(e,t);if(Oi(e))return oa(e,t);if(Mi(e))return ia(e);if(Ui(e))return{type:"receive",stateMutability:"payable"};throw new Yi({signature:e})}function na(e,t={}){const n=Ri(e);if(!n)throw new Xe({signature:e,type:"function"});const r=W(n.parameters),s=[],o=r.length;for(let a=0;a<o;a++)s.push(ge(r[a],{modifiers:Cn,structs:t,type:"function"}));const i=[];if(n.returns){const a=W(n.returns),c=a.length;for(let u=0;u<c;u++)i.push(ge(a[u],{modifiers:Cn,structs:t,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:s,outputs:i}}function ra(e,t={}){const n=Fi(e);if(!n)throw new Xe({signature:e,type:"event"});const r=W(n.parameters),s=[],o=r.length;for(let i=0;i<o;i++)s.push(ge(r[i],{modifiers:Gi,structs:t,type:"event"}));return{name:n.name,type:"event",inputs:s}}function sa(e,t={}){const n=Si(e);if(!n)throw new Xe({signature:e,type:"error"});const r=W(n.parameters),s=[],o=r.length;for(let i=0;i<o;i++)s.push(ge(r[i],{structs:t,type:"error"}));return{name:n.name,type:"error",inputs:s}}function oa(e,t={}){const n=zi(e);if(!n)throw new Xe({signature:e,type:"constructor"});const r=W(n.parameters),s=[],o=r.length;for(let i=0;i<o;i++)s.push(ge(r[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:s}}function ia(e){const t=ji(e);if(!t)throw new Xe({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}const aa=/^(?<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$_]*))?$/,ca=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,ua=/^u?int$/;function ge(e,t){var d,l;const n=ta(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(wn.has(n))return wn.get(n);const r=ks.test(e),s=xe(r?ca:aa,e);if(!s)throw new qi({param:e});if(s.name&&da(s.name))throw new Wi({param:e,name:s.name});const o=s.name?{name:s.name}:{},i=s.modifier==="indexed"?{indexed:!0}:{},a=(t==null?void 0:t.structs)??{};let c,u={};if(r){c="tuple";const b=W(s.type),p=[],h=b.length;for(let w=0;w<h;w++)p.push(ge(b[w],{structs:a}));u={components:p}}else if(s.type in a)c="tuple",u={components:a[s.type]};else if(ua.test(s.type))c=`${s.type}256`;else if(s.type==="address payable")c="address";else if(c=s.type,(t==null?void 0:t.type)!=="struct"&&!Ms(c))throw new Hi({type:c});if(s.modifier){if(!((l=(d=t==null?void 0:t.modifiers)==null?void 0:d.has)!=null&&l.call(d,s.modifier)))throw new Zi({param:e,type:t==null?void 0:t.type,modifier:s.modifier});if(Cn.has(s.modifier)&&!la(c,!!s.array))throw new Ji({param:e,type:t==null?void 0:t.type,modifier:s.modifier})}const f={type:`${c}${s.array??""}`,...o,...i,...u};return wn.set(n,f),f}function W(e,t=[],n="",r=0){const s=e.trim().length;for(let o=0;o<s;o++){const i=e[o],a=e.slice(o+1);switch(i){case",":return r===0?W(a,[...t,n.trim()]):W(a,t,`${n}${i}`,r);case"(":return W(a,t,`${n}${i}`,r+1);case")":return W(a,t,`${n}${i}`,r-1);default:return W(a,t,`${n}${i}`,r)}}if(n==="")return t;if(r!==0)throw new ea({current:n,depth:r});return t.push(n.trim()),t}function Ms(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Ts.test(e)||Ss.test(e)}const fa=/^(?: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 da(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Ts.test(e)||Ss.test(e)||fa.test(e)}function la(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}function ar(e){const t={},n=e.length;for(let i=0;i<n;i++){const a=e[i];if(!rn(a))continue;const c=Ci(a);if(!c)throw new Xe({signature:a,type:"struct"});const u=c.properties.split(";"),f=[],d=u.length;for(let l=0;l<d;l++){const p=u[l].trim();if(!p)continue;const h=ge(p,{type:"struct"});f.push(h)}if(!f.length)throw new Xi({signature:a});t[c.name]=f}const r={},s=Object.entries(t),o=s.length;for(let i=0;i<o;i++){const[a,c]=s[i];r[a]=js(c,t)}return r}const ba=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function js(e=[],t={},n=new Set){const r=[],s=e.length;for(let o=0;o<s;o++){const i=e[o];if(ks.test(i.type))r.push(i);else{const c=xe(ba,i.type);if(!(c!=null&&c.type))throw new Ki({abiParameter:i});const{array:u,type:f}=c;if(f in t){if(n.has(f))throw new Qi({type:f});r.push({...i,type:`tuple${u??""}`,components:js(t[f],t,new Set([...n,f]))})}else if(Ms(f))r.push(i);else throw new _i({type:f})}}return r}function Ls(e){const t=ar(e),n=[],r=e.length;for(let s=0;s<r;s++){const o=e[s];rn(o)||n.push(On(o,t))}return n}function Vr(e){let t;if(typeof e=="string")t=On(e);else{const n=ar(e),r=e.length;for(let s=0;s<r;s++){const o=e[s];if(!rn(o)){t=On(o,n);break}}}if(!t)throw new Di({signature:e});return t}function qr(e){const t=[];if(typeof e=="string"){const n=W(e),r=n.length;for(let s=0;s<r;s++)t.push(ge(n[s],{modifiers:Hr}))}else{const n=ar(e),r=e.length;for(let s=0;s<r;s++){const o=e[s];if(rn(o))continue;const i=W(o),a=i.length;for(let c=0;c<a;c++)t.push(ge(i[c],{modifiers:Hr,structs:n}))}}if(t.length===0)throw new Vi({params:e});return t}function B(e,t,n){const r=e[t.name];if(typeof r=="function")return r;const s=e[n];return typeof s=="function"?s:o=>t(e,o)}function ne(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Ba(e.type);return`${e.name}(${sn(e.inputs,{includeName:t})})`}function sn(e,{includeName:t=!1}={}){return e?e.map(n=>pa(n,{includeName:t})).join(t?", ":","):""}function pa(e,{includeName:t}){return e.type.startsWith("tuple")?`(${sn(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}function re(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function M(e){return re(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const Us="2.44.4";let ot={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${Us}`},g=class zn extends Error{constructor(t,n={}){var a;const r=(()=>{var c;return n.cause instanceof zn?n.cause.details:(c=n.cause)!=null&&c.message?n.cause.message:n.details})(),s=n.cause instanceof zn&&n.cause.docsPath||n.docsPath,o=(a=ot.getDocsUrl)==null?void 0:a.call(ot,{...n,docsPath:s}),i=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: ${o}`]:[],...r?[`Details: ${r}`]:[],...ot.version?[`Version: ${ot.version}`]:[]].join(`
|
|
4
|
-
`);super(i,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=s,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Us}walk(t){return Gs(this,t)}};function Gs(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Gs(e.cause,t):t?null:e}class ha extends g{constructor({docsPath:t}){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(`
|
|
5
|
-
`),{docsPath:t,name:"AbiConstructorNotFoundError"})}}class Wr extends g{constructor({docsPath:t}){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(`
|
|
6
|
-
`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}}class Ds extends g{constructor({data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for given parameters.`].join(`
|
|
7
|
-
`),{metaMessages:[`Params: (${sn(n,{includeName:!0})})`,`Data: ${t} (${r} 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=t,this.params=n,this.size=r}}class kt extends g{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class ma extends g{constructor({expectedLength:t,givenLength:n,type:r}){super([`ABI encoding array length mismatch for type ${r}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
|
|
8
|
-
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class ya extends g{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${M(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class ga extends g{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(`
|
|
9
|
-
`),{name:"AbiEncodingLengthMismatchError"})}}class wa extends g{constructor(t,{docsPath:n}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" 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(`
|
|
10
|
-
`),{docsPath:n,name:"AbiErrorInputsNotFoundError"})}}class Zr extends g{constructor(t,{docsPath:n}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
|
|
11
|
-
`),{docsPath:n,name:"AbiErrorNotFoundError"})}}class _s extends g{constructor(t,{docsPath:n}){super([`Encoded error signature "${t}" 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://openchain.xyz/signatures?query=${t}.`].join(`
|
|
12
|
-
`),{docsPath:n,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}}class va extends g{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}}class xa extends g{constructor(t,{docsPath:n}){super([`Encoded event signature "${t}" 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://openchain.xyz/signatures?query=${t}.`].join(`
|
|
13
|
-
`),{docsPath:n,name:"AbiEventSignatureNotFoundError"})}}class Jr extends g{constructor(t,{docsPath:n}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
|
|
14
|
-
`),{docsPath:n,name:"AbiEventNotFoundError"})}}class Ze extends g{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
15
|
-
`),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class Hs extends g{constructor(t,{docsPath:n}){super([`Function "${t}" 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(`
|
|
16
|
-
`),{docsPath:n,name:"AbiFunctionOutputsNotFoundError"})}}class Pa extends g{constructor(t,{docsPath:n}){super([`Encoded function signature "${t}" 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://openchain.xyz/signatures?query=${t}.`].join(`
|
|
17
|
-
`),{docsPath:n,name:"AbiFunctionSignatureNotFoundError"})}}class $a extends g{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${ne(t.abiItem)}\`, and`,`\`${n.type}\` in \`${ne(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let Ea=class extends g{constructor({expectedSize:t,givenSize:n}){super(`Expected bytes${t}, got bytes${n}.`,{name:"BytesSizeMismatchError"})}};class Xt extends g{constructor({abiItem:t,data:n,params:r,size:s}){super([`Data size of ${s} bytes is too small for non-indexed event parameters.`].join(`
|
|
18
|
-
`),{metaMessages:[`Params: (${sn(r,{includeName:!0})})`,`Data: ${n} (${s} 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=t,this.data=n,this.params=r,this.size=s}}class cr extends g{constructor({abiItem:t,param:n}){super([`Expected a topic for indexed event parameter${n.name?` "${n.name}"`:""} on event "${ne(t,{includeName:!0})}".`].join(`
|
|
19
|
-
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}}class Aa extends g{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
20
|
-
`),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Ia extends g{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
21
|
-
`),{docsPath:n,name:"InvalidAbiDecodingType"})}}let Vs=class extends g{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
|
|
22
|
-
`),{name:"InvalidArrayError"})}};class Ba extends g{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
23
|
-
`),{name:"InvalidDefinitionTypeError"})}}class Ta extends g{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let qs=class extends g{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${r}).`,{name:"SliceOffsetOutOfBoundsError"})}},Ws=class extends g{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}};class Kr extends g{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} is expected to be ${n} ${r} long, but is ${t} ${r} long.`,{name:"InvalidBytesLengthError"})}}function Qe(e,{dir:t,size:n=32}={}){return typeof e=="string"?$e(e,{dir:t,size:n}):Sa(e,{dir:t,size:n})}function $e(e,{dir:t,size:n=32}={}){if(n===null)return e;const r=e.replace("0x","");if(r.length>n*2)throw new Ws({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function Sa(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ws({size:e.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let s=0;s<n;s++){const o=t==="right";r[o?s:n-s-1]=e[o?s:e.length-s-1]}return r}let ur=class extends g{constructor({max:t,min:n,signed:r,size:s,value:o}){super(`Number "${o}" is not in safe ${s?`${s*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}},ka=class extends g{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class Fa extends g{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let Na=class extends g{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}};function ke(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,r=0;for(let s=0;s<n.length-1&&n[t==="left"?s:n.length-s-1].toString()==="0";s++)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}function ce(e,{size:t}){if(M(e)>t)throw new Na({givenSize:M(e),maxSize:t})}function le(e,t={}){const{signed:n}=t;t.size&&ce(e,{size:t.size});const r=BigInt(e);if(!n)return r;const s=(e.length-2)/2,o=(1n<<BigInt(s)*8n-1n)-1n;return r<=o?r:r-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function Ra(e,t={}){let n=e;if(t.size&&(ce(n,{size:t.size}),n=ke(n)),ke(n)==="0x00")return!1;if(ke(n)==="0x01")return!0;throw new Fa(n)}function we(e,t={}){const n=le(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new ur({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return r}const Ca=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ee(e,t={}){return typeof e=="number"||typeof e=="bigint"?S(e,t):typeof e=="string"?at(e,t):typeof e=="boolean"?Zs(e,t):U(e,t)}function Zs(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(ce(n,{size:t.size}),Qe(n,{size:t.size})):n}function U(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=Ca[e[s]];const r=`0x${n}`;return typeof t.size=="number"?(ce(r,{size:t.size}),Qe(r,{dir:"right",size:t.size})):r}function S(e,t={}){const{signed:n,size:r}=t,s=BigInt(e);let o;r?n?o=(1n<<BigInt(r)*8n-1n)-1n:o=2n**(BigInt(r)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));const i=typeof o=="bigint"&&n?-o-1n:0;if(o&&s>o||s<i){const c=typeof e=="bigint"?"n":"";throw new ur({max:o?`${o}${c}`:void 0,min:`${i}${c}`,signed:n,size:r,value:`${e}${c}`})}const a=`0x${(n&&s<0?(1n<<BigInt(r*8))+BigInt(s):s).toString(16)}`;return r?Qe(a,{size:r}):a}const Oa=new TextEncoder;function at(e,t={}){const n=Oa.encode(e);return U(n,t)}const za=new TextEncoder;function et(e,t={}){return typeof e=="number"||typeof e=="bigint"?ja(e,t):typeof e=="boolean"?Ma(e,t):re(e)?be(e,t):Fe(e,t)}function Ma(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(ce(n,{size:t.size}),Qe(n,{size:t.size})):n}const pe={zero:48,nine:57,A:65,F:70,a:97,f:102};function Yr(e){if(e>=pe.zero&&e<=pe.nine)return e-pe.zero;if(e>=pe.A&&e<=pe.F)return e-(pe.A-10);if(e>=pe.a&&e<=pe.f)return e-(pe.a-10)}function be(e,t={}){let n=e;t.size&&(ce(n,{size:t.size}),n=Qe(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const s=r.length/2,o=new Uint8Array(s);for(let i=0,a=0;i<s;i++){const c=Yr(r.charCodeAt(a++)),u=Yr(r.charCodeAt(a++));if(c===void 0||u===void 0)throw new g(`Invalid byte sequence ("${r[a-2]}${r[a-1]}" in "${r}").`);o[i]=c*16+u}return o}function ja(e,t){const n=S(e,t);return be(n)}function Fe(e,t={}){const n=za.encode(e);return typeof t.size=="number"?(ce(n,{size:t.size}),Qe(n,{dir:"right",size:t.size})):n}function D(e,t){const n=t||"hex",r=$s(re(e,{strict:!1})?et(e):e);return n==="bytes"?r:Ee(r)}const La=e=>D(et(e));function Ua(e){return La(e)}function Ga(e){let t=!0,n="",r=0,s="",o=!1;for(let i=0;i<e.length;i++){const a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&r++,a===")"&&r--,!!t){if(r===0){if(a===" "&&["event","function",""].includes(s))s="";else if(s+=a,a===")"){o=!0;break}continue}if(a===" "){e[i-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=a,n+=a}}if(!o)throw new g("Unable to normalize signature.");return s}const Da=e=>{const t=typeof e=="string"?e:Yt(e);return Ga(t)};function Js(e){return Ua(Da(e))}const on=Js;let Ae=class extends g{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},an=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}};const vn=new an(8192);function cn(e,t){if(vn.has(`${e}.${t}`))return vn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),r=D(Fe(n),"bytes"),s=n.split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&s[i]&&(s[i]=s[i].toUpperCase()),(r[i>>1]&15)>=8&&s[i+1]&&(s[i+1]=s[i+1].toUpperCase());const o=`0x${s.join("")}`;return vn.set(`${e}.${t}`,o),o}function Ks(e,t){if(!Q(e,{strict:!1}))throw new Ae({address:e});return cn(e,t)}const _a=/^0x[a-fA-F0-9]{40}$/,xn=new an(8192);function Q(e,t){const{strict:n=!0}=t??{},r=`${e}.${n}`;if(xn.has(r))return xn.get(r);const s=_a.test(e)?e.toLowerCase()===e?!0:n?cn(e)===e:!0:!1;return xn.set(r,s),s}function se(e){return typeof e[0]=="string"?tt(e):Ha(e)}function Ha(e){let t=0;for(const s of e)t+=s.length;const n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function tt(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function Je(e,t,n,{strict:r}={}){return re(e,{strict:!1})?Va(e,t,n,{strict:r}):Qs(e,t,n,{strict:r})}function Ys(e,t){if(typeof t=="number"&&t>0&&t>M(e)-1)throw new qs({offset:t,position:"start",size:M(e)})}function Xs(e,t,n){if(typeof t=="number"&&typeof n=="number"&&M(e)!==n-t)throw new qs({offset:n,position:"end",size:M(e)})}function Qs(e,t,n,{strict:r}={}){Ys(e,t);const s=e.slice(t,n);return r&&Xs(s,t,n),s}function Va(e,t,n,{strict:r}={}){Ys(e,t);const s=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return r&&Xs(s,t,n),s}const qa=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,eo=/^(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 Te(e,t){if(e.length!==t.length)throw new ga({expectedLength:e.length,givenLength:t.length});const n=Wa({params:e,values:t}),r=dr(n);return r.length===0?"0x":r}function Wa({params:e,values:t}){const n=[];for(let r=0;r<e.length;r++)n.push(fr({param:e[r],value:t[r]}));return n}function fr({param:e,value:t}){const n=lr(e.type);if(n){const[r,s]=n;return Ja(t,{length:r,param:{...e,type:s}})}if(e.type==="tuple")return ec(t,{param:e});if(e.type==="address")return Za(t);if(e.type==="bool")return Ya(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const r=e.type.startsWith("int"),[,,s="256"]=eo.exec(e.type)??[];return Xa(t,{signed:r,size:Number(s)})}if(e.type.startsWith("bytes"))return Ka(t,{param:e});if(e.type==="string")return Qa(t);throw new Aa(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function dr(e){let t=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:a}=e[o];i?t+=32:t+=M(a)}const n=[],r=[];let s=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:a}=e[o];i?(n.push(S(t+s,{size:32})),r.push(a),s+=M(a)):n.push(a)}return se([...n,...r])}function Za(e){if(!Q(e))throw new Ae({address:e});return{dynamic:!1,encoded:$e(e.toLowerCase())}}function Ja(e,{length:t,param:n}){const r=t===null;if(!Array.isArray(e))throw new Vs(e);if(!r&&e.length!==t)throw new ma({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let s=!1;const o=[];for(let i=0;i<e.length;i++){const a=fr({param:n,value:e[i]});a.dynamic&&(s=!0),o.push(a)}if(r||s){const i=dr(o);if(r){const a=S(o.length,{size:32});return{dynamic:!0,encoded:o.length>0?se([a,i]):a}}if(s)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:se(o.map(({encoded:i})=>i))}}function Ka(e,{param:t}){const[,n]=t.type.split("bytes"),r=M(e);if(!n){let s=e;return r%32!==0&&(s=$e(s,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:se([$e(S(r,{size:32})),s])}}if(r!==Number.parseInt(n,10))throw new ya({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:$e(e,{dir:"right"})}}function Ya(e){if(typeof e!="boolean")throw new g(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:$e(Zs(e))}}function Xa(e,{signed:t,size:n=256}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||e<s)throw new ur({max:r.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:S(e,{size:32,signed:t})}}function Qa(e){const t=at(e),n=Math.ceil(M(t)/32),r=[];for(let s=0;s<n;s++)r.push($e(Je(t,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:se([$e(S(M(t),{size:32})),...r])}}function ec(e,{param:t}){let n=!1;const r=[];for(let s=0;s<t.components.length;s++){const o=t.components[s],i=Array.isArray(e)?s:o.name,a=fr({param:o,value:e[i]});r.push(a),a.dynamic&&(n=!0)}return{dynamic:n,encoded:n?dr(r):se(r.map(({encoded:s})=>s))}}function lr(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const Ft=e=>Je(Js(e),0,4);function Me(e){const{abi:t,args:n=[],name:r}=e,s=re(r,{strict:!1}),o=t.filter(a=>s?a.type==="function"?Ft(a)===r:a.type==="event"?on(a)===r:!1:"name"in a&&a.name===r);if(o.length===0)return;if(o.length===1)return o[0];let i;for(const a of o){if(!("inputs"in a))continue;if(!n||n.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==n.length)continue;if(n.every((u,f)=>{const d="inputs"in a&&a.inputs[f];return d?Mn(u,d):!1})){if(i&&"inputs"in i&&i.inputs){const u=to(a.inputs,i.inputs,n);if(u)throw new $a({abiItem:a,type:u[0]},{abiItem:i,type:u[1]})}i=a}}return i||o[0]}function Mn(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Q(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((s,o)=>n==="object"&&Mn(Object.values(e)[o],s)):/^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(s=>Mn(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function to(e,t,n){for(const r in e){const s=e[r],o=t[r];if(s.type==="tuple"&&o.type==="tuple"&&"components"in s&&"components"in o)return to(s.components,o.components,n[r]);const i=[s.type,o.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?Q(n[r],{strict:!1}):i.includes("address")&&i.includes("bytes")?Q(n[r],{strict:!1}):!1)return i}}const Xr="/docs/contract/encodeEventTopics";function Nt(e){var c;const{abi:t,eventName:n,args:r}=e;let s=t[0];if(n){const u=Me({abi:t,name:n});if(!u)throw new Jr(n,{docsPath:Xr});s=u}if(s.type!=="event")throw new Jr(void 0,{docsPath:Xr});const o=ne(s),i=on(o);let a=[];if(r&&"inputs"in s){const u=(c=s.inputs)==null?void 0:c.filter(d=>"indexed"in d&&d.indexed),f=Array.isArray(r)?r:Object.values(r).length>0?(u==null?void 0:u.map(d=>r[d.name]))??[]:[];f.length>0&&(a=(u==null?void 0:u.map((d,l)=>Array.isArray(f[l])?f[l].map((b,p)=>Qr({param:d,value:f[l][p]})):typeof f[l]<"u"&&f[l]!==null?Qr({param:d,value:f[l]}):null))??[])}return[i,...a]}function Qr({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return D(et(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Ta(e.type);return Te([e],[t])}function un(e,{method:t}){var r,s;const n={};return e.transport.type==="fallback"&&((s=(r=e.transport).onResponse)==null||s.call(r,({method:o,response:i,status:a,transport:c})=>{a==="success"&&t===o&&(n[i]=c.request)})),o=>n[o]||e.request}async function no(e,t){const{address:n,abi:r,args:s,eventName:o,fromBlock:i,strict:a,toBlock:c}=t,u=un(e,{method:"eth_newFilter"}),f=o?Nt({abi:r,args:s,eventName:o}):void 0,d=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:typeof i=="bigint"?S(i):i,toBlock:typeof c=="bigint"?S(c):c,topics:f}]});return{abi:r,args:s,eventName:o,id:d,request:u(d),strict:!!a,type:"event"}}function Z(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const es="/docs/contract/encodeFunctionData";function tc(e){const{abi:t,args:n,functionName:r}=e;let s=t[0];if(r){const o=Me({abi:t,args:n,name:r});if(!o)throw new Ze(r,{docsPath:es});s=o}if(s.type!=="function")throw new Ze(void 0,{docsPath:es});return{abi:[s],functionName:Ft(ne(s))}}function ue(e){const{args:t}=e,{abi:n,functionName:r}=(()=>{var a;return e.abi.length===1&&((a=e.functionName)!=null&&a.startsWith("0x"))?e:tc(e)})(),s=n[0],o=r,i="inputs"in s&&s.inputs?Te(s.inputs,t??[]):void 0;return tt([o,i??"0x"])}const nc={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."},ro={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},rc={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let ts=class extends g{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},so=class extends g{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},sc=class extends g{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}};const oc={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new sc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new so({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ts({offset:e});const 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 ts({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const 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();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function br(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(oc);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function ic(e,t={}){typeof t.size<"u"&&ce(e,{size:t.size});const n=U(e,t);return le(n,t)}function ac(e,t={}){let n=e;if(typeof t.size<"u"&&(ce(n,{size:t.size}),n=ke(n)),n.length>1||n[0]>1)throw new ka(n);return!!n[0]}function me(e,t={}){typeof t.size<"u"&&ce(e,{size:t.size});const n=U(e,t);return we(n,t)}function cc(e,t={}){let n=e;return typeof t.size<"u"&&(ce(n,{size:t.size}),n=ke(n,{dir:"right"})),new TextDecoder().decode(n)}function Rt(e,t){const n=typeof t=="string"?be(t):t,r=br(n);if(M(n)===0&&e.length>0)throw new kt;if(M(t)&&M(t)<32)throw new Ds({data:typeof t=="string"?t:U(t),params:e,size:M(t)});let s=0;const o=[];for(let i=0;i<e.length;++i){const a=e[i];r.setPosition(s);const[c,u]=Ve(r,a,{staticPosition:0});s+=u,o.push(c)}return o}function Ve(e,t,{staticPosition:n}){const r=lr(t.type);if(r){const[s,o]=r;return fc(e,{...t,type:o},{length:s,staticPosition:n})}if(t.type==="tuple")return pc(e,t,{staticPosition:n});if(t.type==="address")return uc(e);if(t.type==="bool")return dc(e);if(t.type.startsWith("bytes"))return lc(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return bc(e,t);if(t.type==="string")return hc(e,{staticPosition:n});throw new Ia(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const ns=32,jn=32;function uc(e){const t=e.readBytes(32);return[cn(U(Qs(t,-20))),32]}function fc(e,t,{length:n,staticPosition:r}){if(!n){const i=me(e.readBytes(jn)),a=r+i,c=a+ns;e.setPosition(a);const u=me(e.readBytes(ns)),f=ct(t);let d=0;const l=[];for(let b=0;b<u;++b){e.setPosition(c+(f?b*32:d));const[p,h]=Ve(e,t,{staticPosition:c});d+=h,l.push(p)}return e.setPosition(r+32),[l,32]}if(ct(t)){const i=me(e.readBytes(jn)),a=r+i,c=[];for(let u=0;u<n;++u){e.setPosition(a+u*32);const[f]=Ve(e,t,{staticPosition:a});c.push(f)}return e.setPosition(r+32),[c,32]}let s=0;const o=[];for(let i=0;i<n;++i){const[a,c]=Ve(e,t,{staticPosition:r+s});s+=c,o.push(a)}return[o,s]}function dc(e){return[ac(e.readBytes(32),{size:32}),32]}function lc(e,t,{staticPosition:n}){const[r,s]=t.type.split("bytes");if(!s){const i=me(e.readBytes(32));e.setPosition(n+i);const a=me(e.readBytes(32));if(a===0)return e.setPosition(n+32),["0x",32];const c=e.readBytes(a);return e.setPosition(n+32),[U(c),32]}return[U(e.readBytes(Number.parseInt(s,10),32)),32]}function bc(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),s=e.readBytes(32);return[r>48?ic(s,{signed:n}):me(s,{signed:n}),32]}function pc(e,t,{staticPosition:n}){const r=t.components.length===0||t.components.some(({name:i})=>!i),s=r?[]:{};let o=0;if(ct(t)){const i=me(e.readBytes(jn)),a=n+i;for(let c=0;c<t.components.length;++c){const u=t.components[c];e.setPosition(a+o);const[f,d]=Ve(e,u,{staticPosition:a});o+=d,s[r?c:u==null?void 0:u.name]=f}return e.setPosition(n+32),[s,32]}for(let i=0;i<t.components.length;++i){const a=t.components[i],[c,u]=Ve(e,a,{staticPosition:n});s[r?i:a==null?void 0:a.name]=c,o+=u}return[s,o]}function hc(e,{staticPosition:t}){const n=me(e.readBytes(32)),r=t+n;e.setPosition(r);const s=me(e.readBytes(32));if(s===0)return e.setPosition(t+32),["",32];const o=e.readBytes(s,32),i=cc(ke(o));return e.setPosition(t+32),[i,32]}function ct(e){var r;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(r=e.components)==null?void 0:r.some(ct);const n=lr(e.type);return!!(n&&ct({...e,type:n[1]}))}function oo(e){const{abi:t,data:n}=e,r=Je(n,0,4);if(r==="0x")throw new kt;const o=[...t||[],ro,rc].find(i=>i.type==="error"&&r===Ft(ne(i)));if(!o)throw new _s(r,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:o,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Rt(o.inputs,Je(n,4)):void 0,errorName:o.name}}const L=(e,t,n)=>JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString():s,n);function io({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((s,o)=>`${r&&s.name?`${s.name}: `:""}${typeof t[o]=="object"?L(t[o]):t[o]}`).join(", ")})`}const mc={gwei:9,wei:18},yc={ether:-9,wei:9};function pr(e,t="wei"){return Es(e,mc[t])}function H(e,t="wei"){return Es(e,yc[t])}class gc extends g{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}}class wc extends g{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function rs(e){return e.reduce((t,{slot:n,value:r})=>`${t} ${n}: ${r}
|
|
24
|
-
`,"")}function vc(e){return e.reduce((t,{address:n,...r})=>{let s=`${t} ${n}:
|
|
25
|
-
`;return r.nonce&&(s+=` nonce: ${r.nonce}
|
|
26
|
-
`),r.balance&&(s+=` balance: ${r.balance}
|
|
27
|
-
`),r.code&&(s+=` code: ${r.code}
|
|
28
|
-
`),r.state&&(s+=` state:
|
|
29
|
-
`,s+=rs(r.state)),r.stateDiff&&(s+=` stateDiff:
|
|
30
|
-
`,s+=rs(r.stateDiff)),s},` State Override:
|
|
31
|
-
`).slice(0,-1)}function Ct(e){const t=Object.entries(e).map(([r,s])=>s===void 0||s===!1?null:[r,s]).filter(Boolean),n=t.reduce((r,[s])=>Math.max(r,s.length),0);return t.map(([r,s])=>` ${`${r}:`.padEnd(n+1)} ${s}`).join(`
|
|
32
|
-
`)}class xc extends g{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Ct(t),"}","","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"})}}class Pc extends g{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:d,value:l}){var p;const b=Ct({chain:s&&`${s==null?void 0:s.name} (id: ${s==null?void 0:s.id})`,from:n==null?void 0:n.address,to:d,value:typeof l<"u"&&`${pr(l)} ${((p=s==null?void 0:s.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:o,gas:i,gasPrice:typeof a<"u"&&`${H(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${H(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${H(u)} gwei`,nonce:f});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",b].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class ao extends g{constructor({blockHash:t,blockNumber:n,blockTag:r,hash:s,index:o}){let i="Transaction";r&&o!==void 0&&(i=`Transaction at block time "${r}" at index "${o}"`),t&&o!==void 0&&(i=`Transaction at block hash "${t}" at index "${o}"`),n&&o!==void 0&&(i=`Transaction at block number "${n}" at index "${o}"`),s&&(i=`Transaction with hash "${s}"`),super(`${i} could not be found.`,{name:"TransactionNotFoundError"})}}class co extends g{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class $c extends g{constructor({receipt:t}){super(`Transaction with hash "${t.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=t}}class Ec extends g{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const Ac=e=>e,Ot=e=>e;class uo extends g{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:d,value:l,stateOverride:b}){var w;const p=n?Z(n):void 0;let h=Ct({from:p==null?void 0:p.address,to:d,value:typeof l<"u"&&`${pr(l)} ${((w=s==null?void 0:s.nativeCurrency)==null?void 0:w.symbol)||"ETH"}`,data:o,gas:i,gasPrice:typeof a<"u"&&`${H(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${H(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${H(u)} gwei`,nonce:f});b&&(h+=`
|
|
33
|
-
${vc(b)}`),super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",h].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class fo extends g{constructor(t,{abi:n,args:r,contractAddress:s,docsPath:o,functionName:i,sender:a}){const c=Me({abi:n,args:r,name:i}),u=c?io({abiItem:c,args:r,includeFunctionName:!1,includeName:!1}):void 0,f=c?ne(c,{includeName:!0}):void 0,d=Ct({address:s&&Ac(s),function:f,args:u&&u!=="()"&&`${[...Array((i==null?void 0:i.length)??0).keys()].map(()=>" ").join("")}${u}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],d&&"Contract Call:",d].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=n,this.args=r,this.cause=t,this.contractAddress=s,this.functionName=i,this.sender=a}}class Ln extends g{constructor({abi:t,data:n,functionName:r,message:s}){let o,i,a,c;if(n&&n!=="0x")try{i=oo({abi:t,data:n});const{abiItem:f,errorName:d,args:l}=i;if(d==="Error")c=l[0];else if(d==="Panic"){const[b]=l;c=nc[b]}else{const b=f?ne(f,{includeName:!0}):void 0,p=f&&l?io({abiItem:f,args:l,includeFunctionName:!1,includeName:!1}):void 0;a=[b?`Error: ${b}`:"",p&&p!=="()"?` ${[...Array((d==null?void 0:d.length)??0).keys()].map(()=>" ").join("")}${p}`:""]}}catch(f){o=f}else s&&(c=s);let u;o instanceof _s&&(u=o.signature,a=[`Unable to decode signature "${u}" 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://openchain.xyz/signatures?query=${u}.`]),super(c&&c!=="execution reverted"||u?[`The contract function "${r}" reverted with the following ${u?"signature":"reason"}:`,c||u].join(`
|
|
34
|
-
`):`The contract function "${r}" reverted.`,{cause:o,metaMessages:a,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=i,this.raw=n,this.reason=c,this.signature=u}}class Ic extends g{constructor({functionName:t}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class Bc extends g{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{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"})}}class fn extends g{constructor({data:t,message:n}){super(n||"",{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=t}}class Ne extends g{constructor({body:t,cause:n,details:r,headers:s,status:o,url:i}){super("HTTP request failed.",{cause:n,details:r,metaMessages:[o&&`Status: ${o}`,`URL: ${Ot(i)}`,t&&`Request body: ${L(t)}`].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=t,this.headers=s,this.status=o,this.url=i}}class hr extends g{constructor({body:t,error:n,url:r}){super("RPC Request failed.",{cause:n,details:n.message,metaMessages:[`URL: ${Ot(r)}`,`Request body: ${L(t)}`],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=n.code,this.data=n.data,this.url=r}}class ss extends g{constructor({body:t,url:n}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Ot(n)}`,`Request body: ${L(t)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=n}}const Tc=-1;class q extends g{constructor(t,{code:n,docsPath:r,metaMessages:s,name:o,shortMessage:i}){super(i,{cause:t,docsPath:r,metaMessages:s||(t==null?void 0:t.metaMessages),name:o||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=o||t.name,this.code=t instanceof hr?t.code:n??Tc}}class K extends q{constructor(t,n){super(t,n),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=n.data}}class ut extends q{constructor(t){super(t,{code:ut.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(ut,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class ft extends q{constructor(t){super(t,{code:ft.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(ft,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class dt extends q{constructor(t,{method:n}={}){super(t,{code:dt.code,name:"MethodNotFoundRpcError",shortMessage:`The method${n?` "${n}"`:""} does not exist / is not available.`})}}Object.defineProperty(dt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class lt extends q{constructor(t){super(t,{code:lt.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
35
|
-
`)})}}Object.defineProperty(lt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Re extends q{constructor(t){super(t,{code:Re.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Re,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class Ie extends q{constructor(t){super(t,{code:Ie.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
36
|
-
`)})}}Object.defineProperty(Ie,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class bt extends q{constructor(t){super(t,{code:bt.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(bt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class pt extends q{constructor(t){super(t,{code:pt.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(pt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class ht extends q{constructor(t){super(t,{code:ht.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(ht,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class Se extends q{constructor(t,{method:n}={}){super(t,{code:Se.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${n?` "${n}"`:""} is not supported.`})}}Object.defineProperty(Se,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class Ke extends q{constructor(t){super(t,{code:Ke.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(Ke,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class mt extends q{constructor(t){super(t,{code:mt.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(mt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class qe extends K{constructor(t){super(t,{code:qe.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(qe,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class yt extends K{constructor(t){super(t,{code:yt.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(yt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class gt extends K{constructor(t,{method:n}={}){super(t,{code:gt.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:""}.`})}}Object.defineProperty(gt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class wt extends K{constructor(t){super(t,{code:wt.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(wt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class vt extends K{constructor(t){super(t,{code:vt.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(vt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class xt extends K{constructor(t){super(t,{code:xt.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(xt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Pt extends K{constructor(t){super(t,{code:Pt.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Pt,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class $t extends K{constructor(t){super(t,{code:$t.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty($t,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class Et extends K{constructor(t){super(t,{code:Et.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(Et,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class At extends K{constructor(t){super(t,{code:At.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(At,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class It extends K{constructor(t){super(t,{code:It.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(It,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Bt extends K{constructor(t){super(t,{code:Bt.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});class Tt extends K{constructor(t){super(t,{code:Tt.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Tt,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Sc extends q{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const kc=3;function Ye(e,{abi:t,address:n,args:r,docsPath:s,functionName:o,sender:i}){const a=e instanceof fn?e:e instanceof g?e.walk(p=>"data"in p)||e.walk():{},{code:c,data:u,details:f,message:d,shortMessage:l}=a,b=e instanceof kt?new Ic({functionName:o}):[kc,Re.code].includes(c)&&(u||f||d||l)||c===Ie.code&&f==="execution reverted"&&u?new Ln({abi:t,data:typeof u=="object"?u.data:u,functionName:o,message:a instanceof hr?f:l??d}):e;return new fo(b,{abi:t,args:r,contractAddress:n,docsPath:s,functionName:o,sender:i})}function Fc(e){const t=D(`0x${e.substring(4)}`).substring(26);return cn(`0x${t}`)}async function Nc({hash:e,signature:t}){const n=re(e)?e:Ee(e),{secp256k1:r}=await As(async()=>{const{secp256k1:i}=await import("./index-5jd8RPN9.js").then(a=>a.bj);return{secp256k1:i}},__vite__mapDeps([0,1]));return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){const{r:u,s:f,v:d,yParity:l}=t,b=Number(l??d),p=os(b);return new r.Signature(le(u),le(f)).addRecoveryBit(p)}const i=re(t)?t:Ee(t);if(M(i)!==65)throw new Error("invalid signature length");const a=we(`0x${i.slice(130)}`),c=os(a);return r.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function os(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function lo({hash:e,signature:t}){return Fc(await Nc({hash:e,signature:t}))}function Rc(e,t="hex"){const n=bo(e),r=br(new Uint8Array(n.length));return n.encode(r),t==="hex"?U(r.bytes):r.bytes}function bo(e){return Array.isArray(e)?Cc(e.map(t=>bo(t))):Oc(e)}function Cc(e){const t=e.reduce((s,o)=>s+o.length,0),n=po(t);return{length:t<=55?1+t:1+n+t,encode(s){t<=55?s.pushByte(192+t):(s.pushByte(247+n),n===1?s.pushUint8(t):n===2?s.pushUint16(t):n===3?s.pushUint24(t):s.pushUint32(t));for(const{encode:o}of e)o(s)}}}function Oc(e){const t=typeof e=="string"?be(e):e,n=po(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(s){t.length===1&&t[0]<128?s.pushBytes(t):t.length<=55?(s.pushByte(128+t.length),s.pushBytes(t)):(s.pushByte(183+n),n===1?s.pushUint8(t.length):n===2?s.pushUint16(t.length):n===3?s.pushUint24(t.length):s.pushUint32(t.length),s.pushBytes(t))}}}function po(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 g("Length is too large.")}function zc(e){const{chainId:t,nonce:n,to:r}=e,s=e.contractAddress??e.address,o=D(tt(["0x05",Rc([t?S(t):"0x",s,n?S(n):"0x"])]));return r==="bytes"?be(o):o}async function ho(e){const{authorization:t,signature:n}=e;return lo({hash:zc(t),signature:n??t})}class Mc extends g{constructor(t,{account:n,docsPath:r,chain:s,data:o,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:d,value:l}){var p;const b=Ct({from:n==null?void 0:n.address,to:d,value:typeof l<"u"&&`${pr(l)} ${((p=s==null?void 0:s.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:o,gas:i,gasPrice:typeof a<"u"&&`${H(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${H(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${H(u)} gwei`,nonce:f});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",b].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class De extends g{constructor({cause:t,message:n}={}){var s;const r=(s=n==null?void 0:n.replace("execution reverted: ",""))==null?void 0:s.replace("execution reverted","");super(`Execution reverted ${r?`with reason: ${r}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(De,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(De,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Qt extends g{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${H(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Qt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Un extends g{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${H(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Un,"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/});class Gn extends g{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Gn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Dn extends g{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
37
|
-
`),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Dn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class _n extends g{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(_n,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Hn extends g{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
38
|
-
`),{cause:t,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(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Vn extends g{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Vn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class qn extends g{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(qn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Wn extends g{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Wn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class en extends g{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:r}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${H(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${r?` = ${H(r)} gwei`:""}).`].join(`
|
|
39
|
-
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(en,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class zt extends g{constructor({cause:t}){super(`An error occurred while executing: ${t==null?void 0:t.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}function dn(e,t){const n=(e.details||"").toLowerCase(),r=e instanceof g?e.walk(s=>(s==null?void 0:s.code)===De.code):e;return r instanceof g?new De({cause:e,message:r.details}):De.nodeMessage.test(n)?new De({cause:e,message:e.details}):Qt.nodeMessage.test(n)?new Qt({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Un.nodeMessage.test(n)?new Un({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Gn.nodeMessage.test(n)?new Gn({cause:e,nonce:t==null?void 0:t.nonce}):Dn.nodeMessage.test(n)?new Dn({cause:e,nonce:t==null?void 0:t.nonce}):_n.nodeMessage.test(n)?new _n({cause:e,nonce:t==null?void 0:t.nonce}):Hn.nodeMessage.test(n)?new Hn({cause:e}):Vn.nodeMessage.test(n)?new Vn({cause:e,gas:t==null?void 0:t.gas}):qn.nodeMessage.test(n)?new qn({cause:e,gas:t==null?void 0:t.gas}):Wn.nodeMessage.test(n)?new Wn({cause:e}):en.nodeMessage.test(n)?new en({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas,maxPriorityFeePerGas:t==null?void 0:t.maxPriorityFeePerGas}):new zt({cause:e})}function jc(e,{docsPath:t,...n}){const r=(()=>{const s=dn(e,n);return s instanceof zt?e:s})();return new Mc(r,{docsPath:t,...n})}function ln(e,{format:t}){if(!t)return{};const n={};function r(o){const i=Object.keys(o);for(const a of i)a in e&&(n[a]=e[a]),o[a]&&typeof o[a]=="object"&&!Array.isArray(o[a])&&r(o[a])}const s=t(e||{});return r(s),n}const Lc={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function Mt(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=Uc(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(r=>U(r)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=S(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=S(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=S(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=S(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=S(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=S(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=Lc[e.type]),typeof e.value<"u"&&(n.value=S(e.value)),n}function Uc(e){return e.map(t=>({address:t.address,r:t.r?S(BigInt(t.r)):t.r,s:t.s?S(BigInt(t.s)):t.s,chainId:S(t.chainId),nonce:S(t.nonce),...typeof t.yParity<"u"?{yParity:S(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:S(t.v)}:{}}))}function is(e){if(!(!e||e.length===0))return e.reduce((t,{slot:n,value:r})=>{if(n.length!==66)throw new Kr({size:n.length,targetSize:66,type:"hex"});if(r.length!==66)throw new Kr({size:r.length,targetSize:66,type:"hex"});return t[n]=r,t},{})}function Gc(e){const{balance:t,nonce:n,state:r,stateDiff:s,code:o}=e,i={};if(o!==void 0&&(i.code=o),t!==void 0&&(i.balance=S(t)),n!==void 0&&(i.nonce=S(n)),r!==void 0&&(i.state=is(r)),s!==void 0){if(i.state)throw new wc;i.stateDiff=is(s)}return i}function mr(e){if(!e)return;const t={};for(const{address:n,...r}of e){if(!Q(n,{strict:!1}))throw new Ae({address:n});if(t[n])throw new gc({address:n});t[n]=Gc(r)}return t}const Dc=2n**256n-1n;function nt(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:s}=e,o=t?Z(t):void 0;if(o&&!Q(o.address))throw new Ae({address:o.address});if(s&&!Q(s))throw new Ae({address:s});if(n&&n>Dc)throw new Qt({maxFeePerGas:n});if(r&&n&&r>n)throw new en({maxFeePerGas:n,maxPriorityFeePerGas:r})}class mo extends g{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class yr extends g{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class _c extends g{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${H(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class yo extends g{constructor({blockHash:t,blockNumber:n}){let r="Block";t&&(r=`Block at hash "${t}"`),n&&(r=`Block at number "${n}"`),super(`${r} could not be found.`,{name:"BlockNotFoundError"})}}const go={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function gr(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?we(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?we(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?go[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=Hc(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?1:0}})(),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}function Hc(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function wo(e,t){const n=(e.transactions??[]).map(r=>typeof r=="string"?r:gr(r));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}}async function te(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",includeTransactions:s}={}){var u,f,d;const o=s??!1,i=n!==void 0?S(n):void 0;let a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,o]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||r,o]},{dedupe:!!i}),!a)throw new yo({blockHash:t,blockNumber:n});return(((d=(f=(u=e.chain)==null?void 0:u.formatters)==null?void 0:f.block)==null?void 0:d.format)||wo)(a,"getBlock")}async function wr(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Vc(e,t){return vo(e,t)}async function vo(e,t){var o,i;const{block:n,chain:r=e.chain,request:s}=t||{};try{const a=((o=r==null?void 0:r.fees)==null?void 0:o.maxPriorityFeePerGas)??((i=r==null?void 0:r.fees)==null?void 0:i.defaultPriorityFee);if(typeof a=="function"){const u=n||await B(e,te,"getBlock")({}),f=await a({block:u,client:e,request:s});if(f===null)throw new Error;return f}if(typeof a<"u")return a;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return le(c)}catch{const[a,c]=await Promise.all([n?Promise.resolve(n):B(e,te,"getBlock")({}),B(e,wr,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new yr;const u=c-a.baseFeePerGas;return u<0n?0n:u}}async function qc(e,t){return Zn(e,t)}async function Zn(e,t){var l,b;const{block:n,chain:r=e.chain,request:s,type:o="eip1559"}=t||{},i=await(async()=>{var p,h;return typeof((p=r==null?void 0:r.fees)==null?void 0:p.baseFeeMultiplier)=="function"?r.fees.baseFeeMultiplier({block:n,client:e,request:s}):((h=r==null?void 0:r.fees)==null?void 0:h.baseFeeMultiplier)??1.2})();if(i<1)throw new mo;const c=10**(((l=i.toString().split(".")[1])==null?void 0:l.length)??0),u=p=>p*BigInt(Math.ceil(i*c))/BigInt(c),f=n||await B(e,te,"getBlock")({});if(typeof((b=r==null?void 0:r.fees)==null?void 0:b.estimateFeesPerGas)=="function"){const p=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:u,request:s,type:o});if(p!==null)return p}if(o==="eip1559"){if(typeof f.baseFeePerGas!="bigint")throw new yr;const p=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await vo(e,{block:f,chain:r,request:s}),h=u(f.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??h+p,maxPriorityFeePerGas:p}}return{gasPrice:(s==null?void 0:s.gasPrice)??u(await B(e,wr,"getGasPrice")({}))}}async function xo(e,{address:t,blockTag:n="latest",blockNumber:r}){const s=await e.request({method:"eth_getTransactionCount",params:[t,typeof r=="bigint"?S(r):n]},{dedupe:!!r});return we(s)}function Po(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(o=>be(o)):e.blobs,s=[];for(const o of r)s.push(Uint8Array.from(t.blobToKzgCommitment(o)));return n==="bytes"?s:s.map(o=>U(o))}function $o(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(i=>be(i)):e.blobs,s=typeof e.commitments[0]=="string"?e.commitments.map(i=>be(i)):e.commitments,o=[];for(let i=0;i<r.length;i++){const a=r[i],c=s[i];o.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return n==="bytes"?o:o.map(i=>U(i))}function Wc(e,t){return Ei(re(e,{strict:!1})?et(e):e)}function Zc(e){const{commitment:t,version:n=1}=e,r=e.to??(typeof t=="string"?"hex":"bytes"),s=Wc(t);return s.set([n],0),r==="bytes"?s:U(s)}function Jc(e){const{commitments:t,version:n}=e,r=e.to,s=[];for(const o of t)s.push(Zc({commitment:o,to:r,version:n}));return s}const as=6,Eo=32,vr=4096,Ao=Eo*vr,cs=Ao*as-1-1*vr*as;class Kc extends g{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class Yc extends g{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}function Xc(e){const t=typeof e.data=="string"?be(e.data):e.data,n=M(t);if(!n)throw new Yc;if(n>cs)throw new Kc({maxSize:cs,size:n});const r=[];let s=!0,o=0;for(;s;){const i=br(new Uint8Array(Ao));let a=0;for(;a<vr;){const c=t.slice(o,o+(Eo-1));if(i.pushByte(0),i.pushBytes(c),c.length<31){i.pushByte(128),s=!1;break}a++,o+=31}r.push(i)}return r.map(i=>U(i.bytes))}function Qc(e){const{data:t,kzg:n,to:r}=e,s=e.blobs??Xc({data:t}),o=e.commitments??Po({blobs:s,kzg:n,to:r}),i=e.proofs??$o({blobs:s,commitments:o,kzg:n,to:r}),a=[];for(let c=0;c<s.length;c++)a.push({blob:s[c],commitment:o[c],proof:i[c]});return a}function e0(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new xc({transaction:e})}function t0(e,{docsPath:t,...n}){const r=(()=>{const s=dn(e,n);return s instanceof zt?e:s})();return new Pc(r,{docsPath:t,...n})}async function xr(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return we(t)}async function Io(e,t){var $,A,O,N,R;const{account:n=e.account,accessList:r,authorizationList:s,chain:o=e.chain,blobVersionedHashes:i,blobs:a,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:d,maxFeePerGas:l,maxPriorityFeePerGas:b,nonce:p,nonceManager:h,to:w,type:m,value:v,...y}=t,x=await(async()=>{if(!n||!h||typeof p<"u")return p;const C=Z(n),j=o?o.id:await B(e,xr,"getChainId")({});return await h.consume({address:C.address,chainId:j,client:e})})();nt(t);const E=(A=($=o==null?void 0:o.formatters)==null?void 0:$.transactionRequest)==null?void 0:A.format,P=(E||Mt)({...ln(y,{format:E}),account:n?Z(n):void 0,accessList:r,authorizationList:s,blobs:a,blobVersionedHashes:i,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:d,maxFeePerGas:l,maxPriorityFeePerGas:b,nonce:x,to:w,type:m,value:v},"fillTransaction");try{const C=await e.request({method:"eth_fillTransaction",params:[P]}),T=(((N=(O=o==null?void 0:o.formatters)==null?void 0:O.transaction)==null?void 0:N.format)||gr)(C.tx);delete T.blockHash,delete T.blockNumber,delete T.r,delete T.s,delete T.transactionIndex,delete T.v,delete T.yParity,T.data=T.input,T.gas&&(T.gas=t.gas??T.gas),T.gasPrice&&(T.gasPrice=t.gasPrice??T.gasPrice),T.maxFeePerBlobGas&&(T.maxFeePerBlobGas=t.maxFeePerBlobGas??T.maxFeePerBlobGas),T.maxFeePerGas&&(T.maxFeePerGas=t.maxFeePerGas??T.maxFeePerGas),T.maxPriorityFeePerGas&&(T.maxPriorityFeePerGas=t.maxPriorityFeePerGas??T.maxPriorityFeePerGas),T.nonce&&(T.nonce=t.nonce??T.nonce);const ee=await(async()=>{var G,X;if(typeof((G=o==null?void 0:o.fees)==null?void 0:G.baseFeeMultiplier)=="function"){const Le=await B(e,te,"getBlock")({});return o.fees.baseFeeMultiplier({block:Le,client:e,request:t})}return((X=o==null?void 0:o.fees)==null?void 0:X.baseFeeMultiplier)??1.2})();if(ee<1)throw new mo;const I=10**(((R=ee.toString().split(".")[1])==null?void 0:R.length)??0),z=G=>G*BigInt(Math.ceil(ee*I))/BigInt(I);return T.maxFeePerGas&&!t.maxFeePerGas&&(T.maxFeePerGas=z(T.maxFeePerGas)),T.gasPrice&&!t.gasPrice&&(T.gasPrice=z(T.gasPrice)),{raw:C.raw,transaction:{from:P.from,...T}}}catch(C){throw t0(C,{...t,chain:e.chain})}}const n0=["blobVersionedHashes","chainId","fees","gas","nonce","type"],us=new Map,Pn=new an(128);async function Bo(e,t){var x,E,k;let n=t;n.account??(n.account=e.account),n.parameters??(n.parameters=n0);const{account:r,chain:s=e.chain,nonceManager:o,parameters:i}=n,a=(()=>{if(typeof(s==null?void 0:s.prepareTransactionRequest)=="function")return{fn:s.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(s==null?void 0:s.prepareTransactionRequest))return{fn:s.prepareTransactionRequest[0],runAt:s.prepareTransactionRequest[1].runAt}})();let c;async function u(){return c||(typeof n.chainId<"u"?n.chainId:s?s.id:(c=await B(e,xr,"getChainId")({}),c))}const f=r&&Z(r);let d=n.nonce;if(i.includes("nonce")&&typeof d>"u"&&f&&o){const P=await u();d=await o.consume({address:f.address,chainId:P,client:e})}a!=null&&a.fn&&((x=a.runAt)!=null&&x.includes("beforeFillTransaction"))&&(n=await a.fn({...n,chain:s},{phase:"beforeFillTransaction"}),d??(d=n.nonce));const b=((i.includes("blobVersionedHashes")||i.includes("sidecars"))&&n.kzg&&n.blobs||Pn.get(e.uid)===!1||!["fees","gas"].some($=>i.includes($))?!1:!!(i.includes("chainId")&&typeof n.chainId!="number"||i.includes("nonce")&&typeof d!="number"||i.includes("fees")&&typeof n.gasPrice!="bigint"&&(typeof n.maxFeePerGas!="bigint"||typeof n.maxPriorityFeePerGas!="bigint")||i.includes("gas")&&typeof n.gas!="bigint"))?await B(e,Io,"fillTransaction")({...n,nonce:d}).then(P=>{const{chainId:$,from:A,gas:O,gasPrice:N,nonce:R,maxFeePerBlobGas:C,maxFeePerGas:j,maxPriorityFeePerGas:T,type:ee,...Y}=P.transaction;return Pn.set(e.uid,!0),{...n,...A?{from:A}:{},...ee?{type:ee}:{},...typeof $<"u"?{chainId:$}:{},...typeof O<"u"?{gas:O}:{},...typeof N<"u"?{gasPrice:N}:{},...typeof R<"u"?{nonce:R}:{},...typeof C<"u"?{maxFeePerBlobGas:C}:{},...typeof j<"u"?{maxFeePerGas:j}:{},...typeof T<"u"?{maxPriorityFeePerGas:T}:{},..."nonceKey"in Y&&typeof Y.nonceKey<"u"?{nonceKey:Y.nonceKey}:{}}}).catch(P=>{var O;const $=P;return $.name!=="TransactionExecutionError"||((O=$.walk)==null?void 0:O.call($,N=>{const R=N;return R.name==="MethodNotFoundRpcError"||R.name==="MethodNotSupportedRpcError"}))&&Pn.set(e.uid,!1),n}):n;d??(d=b.nonce),n={...b,...f?{from:f==null?void 0:f.address}:{},...d?{nonce:d}:{}};const{blobs:p,gas:h,kzg:w,type:m}=n;a!=null&&a.fn&&((E=a.runAt)!=null&&E.includes("beforeFillParameters"))&&(n=await a.fn({...n,chain:s},{phase:"beforeFillParameters"}));let v;async function y(){return v||(v=await B(e,te,"getBlock")({blockTag:"latest"}),v)}if(i.includes("nonce")&&typeof d>"u"&&f&&!o&&(n.nonce=await B(e,xo,"getTransactionCount")({address:f.address,blockTag:"pending"})),(i.includes("blobVersionedHashes")||i.includes("sidecars"))&&p&&w){const P=Po({blobs:p,kzg:w});if(i.includes("blobVersionedHashes")){const $=Jc({commitments:P,to:"hex"});n.blobVersionedHashes=$}if(i.includes("sidecars")){const $=$o({blobs:p,commitments:P,kzg:w}),A=Qc({blobs:p,commitments:P,proofs:$,to:"hex"});n.sidecars=A}}if(i.includes("chainId")&&(n.chainId=await u()),(i.includes("fees")||i.includes("type"))&&typeof m>"u")try{n.type=e0(n)}catch{let P=us.get(e.uid);if(typeof P>"u"){const $=await y();P=typeof($==null?void 0:$.baseFeePerGas)=="bigint",us.set(e.uid,P)}n.type=P?"eip1559":"legacy"}if(i.includes("fees"))if(n.type!=="legacy"&&n.type!=="eip2930"){if(typeof n.maxFeePerGas>"u"||typeof n.maxPriorityFeePerGas>"u"){const P=await y(),{maxFeePerGas:$,maxPriorityFeePerGas:A}=await Zn(e,{block:P,chain:s,request:n});if(typeof n.maxPriorityFeePerGas>"u"&&n.maxFeePerGas&&n.maxFeePerGas<A)throw new _c({maxPriorityFeePerGas:A});n.maxPriorityFeePerGas=A,n.maxFeePerGas=$}}else{if(typeof n.maxFeePerGas<"u"||typeof n.maxPriorityFeePerGas<"u")throw new yr;if(typeof n.gasPrice>"u"){const P=await y(),{gasPrice:$}=await Zn(e,{block:P,chain:s,request:n,type:"legacy"});n.gasPrice=$}}return i.includes("gas")&&typeof h>"u"&&(n.gas=await B(e,Pr,"estimateGas")({...n,account:f,prepare:(f==null?void 0:f.type)==="local"?[]:["blobVersionedHashes"]})),a!=null&&a.fn&&((k=a.runAt)!=null&&k.includes("afterFillParameters"))&&(n=await a.fn({...n,chain:s},{phase:"afterFillParameters"})),nt(n),delete n.parameters,n}async function Pr(e,t){var i,a,c;const{account:n=e.account,prepare:r=!0}=t,s=n?Z(n):void 0,o=(()=>{if(Array.isArray(r))return r;if((s==null?void 0:s.type)!=="local")return["blobVersionedHashes"]})();try{const u=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await ho({authorization:t.authorizationList[0]}).catch(()=>{throw new g("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:f,authorizationList:d,blobs:l,blobVersionedHashes:b,blockNumber:p,blockTag:h,data:w,gas:m,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:x,maxPriorityFeePerGas:E,nonce:k,value:P,stateOverride:$,...A}=r?await Bo(e,{...t,parameters:o,to:u}):t;if(m&&t.gas!==m)return m;const N=(typeof p=="bigint"?S(p):void 0)||h,R=mr($);nt(t);const C=(c=(a=(i=e.chain)==null?void 0:i.formatters)==null?void 0:a.transactionRequest)==null?void 0:c.format,T=(C||Mt)({...ln(A,{format:C}),account:s,accessList:f,authorizationList:d,blobs:l,blobVersionedHashes:b,data:w,gasPrice:v,maxFeePerBlobGas:y,maxFeePerGas:x,maxPriorityFeePerGas:E,nonce:k,to:u,value:P},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:R?[T,N??e.experimental_blockTag??"latest",R]:N?[T,N]:[T]}))}catch(u){throw jc(u,{...t,account:s,chain:e.chain})}}async function r0(e,t){const{abi:n,address:r,args:s,functionName:o,dataSuffix:i,...a}=t,c=ue({abi:n,args:s,functionName:o});try{return await B(e,Pr,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:r,...a})}catch(u){const f=a.account?Z(a.account):void 0;throw Ye(u,{abi:n,address:r,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:o,sender:f==null?void 0:f.address})}}function jt(e,t){if(!Q(e,{strict:!1}))throw new Ae({address:e});if(!Q(t,{strict:!1}))throw new Ae({address:t});return e.toLowerCase()===t.toLowerCase()}const fs="/docs/contract/decodeEventLog";function tn(e){const{abi:t,data:n,strict:r,topics:s}=e,o=r??!0,[i,...a]=s;if(!i)throw new va({docsPath:fs});const c=t.find(m=>m.type==="event"&&i===on(ne(m)));if(!(c&&"name"in c)||c.type!=="event")throw new xa(i,{docsPath:fs});const{name:u,inputs:f}=c,d=f==null?void 0:f.some(m=>!("name"in m&&m.name)),l=d?[]:{},b=f.map((m,v)=>[m,v]).filter(([m])=>"indexed"in m&&m.indexed),p=[];for(let m=0;m<b.length;m++){const[v,y]=b[m],x=a[m];if(!x){if(o)throw new cr({abiItem:c,param:v});p.push([v,y]);continue}l[d?y:v.name||y]=s0({param:v,value:x})}const h=f.filter(m=>!("indexed"in m&&m.indexed)),w=o?h:[...p.map(([m])=>m),...h];if(w.length>0){if(n&&n!=="0x")try{const m=Rt(w,n);if(m){let v=0;if(!o)for(const[y,x]of p)l[d?x:y.name||x]=m[v++];if(d)for(let y=0;y<f.length;y++)l[y]===void 0&&v<m.length&&(l[y]=m[v++]);else for(let y=0;y<h.length;y++)l[h[y].name]=m[v++]}}catch(m){if(o)throw m instanceof Ds||m instanceof so?new Xt({abiItem:c,data:n,params:w,size:M(n)}):m}else if(o)throw new Xt({abiItem:c,data:"0x",params:w,size:0})}return{eventName:u,args:Object.values(l).length>0?l:void 0}}function s0({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Rt([e],t)||[])[0]}function $r(e){const{abi:t,args:n,logs:r,strict:s=!0}=e,o=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return r.map(i=>{var f;const a=t.filter(d=>d.type==="event"&&i.topics[0]===on(d));if(a.length===0)return null;let c,u;for(const d of a)try{c=tn({...i,abi:[d],strict:!0}),u=d;break}catch{}if(!c&&!s){u=a[0];try{c=tn({...i,abi:[u],strict:!1})}catch{const d=(f=u.inputs)==null?void 0:f.some(l=>!("name"in l&&l.name));return{...i,args:d?[]:{},eventName:u.name}}}return!c||!u||o&&!o.includes(c.eventName)||!o0({args:c.args,inputs:u.inputs,matchArgs:n})?null:{...c,...i}}).filter(Boolean)}function o0(e){const{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function s(o,i,a){try{return o.type==="address"?jt(i,a):o.type==="string"||o.type==="bytes"?D(et(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((o,i)=>{if(o==null)return!0;const a=n[i];return a?(Array.isArray(o)?o:[o]).some(u=>s(a,u,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).every(([o,i])=>{if(i==null)return!0;const a=n.find(u=>u.name===o);return a?(Array.isArray(i)?i:[i]).some(u=>s(a,u,t[o])):!1}):!1}function ve(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}:{}}}async function Er(e,{address:t,blockHash:n,fromBlock:r,toBlock:s,event:o,events:i,args:a,strict:c}={}){const u=c??!1,f=i??(o?[o]:void 0);let d=[];f&&(d=[f.flatMap(h=>Nt({abi:[h],eventName:h.name,args:i?void 0:a}))],o&&(d=d[0]));let l;n?l=await e.request({method:"eth_getLogs",params:[{address:t,topics:d,blockHash:n}]}):l=await e.request({method:"eth_getLogs",params:[{address:t,topics:d,fromBlock:typeof r=="bigint"?S(r):r,toBlock:typeof s=="bigint"?S(s):s}]});const b=l.map(p=>ve(p));return f?$r({abi:f,args:a,logs:b,strict:u}):b}async function To(e,t){const{abi:n,address:r,args:s,blockHash:o,eventName:i,fromBlock:a,toBlock:c,strict:u}=t,f=i?Me({abi:n,name:i}):void 0,d=f?void 0:n.filter(l=>l.type==="event");return B(e,Er,"getLogs")({address:r,args:s,blockHash:o,event:f,events:d,fromBlock:a,toBlock:c,strict:u})}const $n="/docs/contract/decodeFunctionResult";function je(e){const{abi:t,args:n,functionName:r,data:s}=e;let o=t[0];if(r){const a=Me({abi:t,args:n,name:r});if(!a)throw new Ze(r,{docsPath:$n});o=a}if(o.type!=="function")throw new Ze(void 0,{docsPath:$n});if(!o.outputs)throw new Hs(o.name,{docsPath:$n});const i=Rt(o.outputs,s);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}const i0="0.1.1";function a0(){return i0}class F extends Error{static setStaticOptions(t){F.prototype.docsOrigin=t.docsOrigin,F.prototype.showVersion=t.showVersion,F.prototype.version=t.version}constructor(t,n={}){const r=(()=>{var f;if(n.cause instanceof F){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:(f=n.cause)!=null&&f.message?n.cause.message:n.details})(),s=n.cause instanceof F&&n.cause.docsPath||n.docsPath,o=n.docsOrigin??F.prototype.docsOrigin,i=`${o}${s??""}`,a=!!(n.version??F.prototype.showVersion),c=n.version??F.prototype.version,u=[t||"An error occurred.",...n.metaMessages?["",...n.metaMessages]:[],...r||s||a?["",r?`Details: ${r}`:void 0,s?`See: ${i}`:void 0,a?`Version: ${c}`:void 0]:[]].filter(f=>typeof f=="string").join(`
|
|
40
|
-
`);super(u,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=i,this.docsOrigin=o,this.docsPath=s,this.shortMessage=t,this.showVersion=a,this.version=c}walk(t){return So(this,t)}}Object.defineProperty(F,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${a0()}`}});F.setStaticOptions(F.defaultStaticOptions);function So(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?So(e.cause,t):t?null:e}function Lt(e,t){if(_e(e)>t)throw new E0({givenSize:_e(e),maxSize:t})}const he={zero:48,nine:57,A:65,F:70,a:97,f:102};function ds(e){if(e>=he.zero&&e<=he.nine)return e-he.zero;if(e>=he.A&&e<=he.F)return e-(he.A-10);if(e>=he.a&&e<=he.f)return e-(he.a-10)}function c0(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new A0({size:e.length,targetSize:r,type:"Bytes"});const s=new Uint8Array(r);for(let o=0;o<r;o++){const i=n==="right";s[i?o:r-o-1]=e[i?o:e.length-o-1]}return s}function ko(e,t={}){const{dir:n="left"}=t;let r=e,s=0;for(let o=0;o<r.length-1&&r[n==="left"?o:r.length-o-1].toString()==="0";o++)s++;return r=n==="left"?r.slice(s):r.slice(0,r.length-s),r}function bn(e,t){if(J(e)>t)throw new F0({givenSize:J(e),maxSize:t})}function u0(e,t){if(typeof t=="number"&&t>0&&t>J(e)-1)throw new Lo({offset:t,position:"start",size:J(e)})}function f0(e,t,n){if(typeof t=="number"&&typeof n=="number"&&J(e)!==n-t)throw new Lo({offset:n,position:"end",size:J(e)})}function Fo(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;const s=e.replace("0x","");if(s.length>r*2)throw new N0({size:Math.ceil(s.length/2),targetSize:r,type:"Hex"});return`0x${s[n==="right"?"padEnd":"padStart"](r*2,"0")}`}const d0="#__bigint";function No(e,t,n){return JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString()+d0:s,n)}const l0=new TextDecoder,b0=new TextEncoder;function p0(e){return e instanceof Uint8Array?e:typeof e=="string"?Ro(e):h0(e)}function h0(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Ro(e,t={}){const{size:n}=t;let r=e;n&&(bn(e,n),r=Oe(e,n));let s=r.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,i=new Uint8Array(o);for(let a=0,c=0;a<o;a++){const u=ds(s.charCodeAt(c++)),f=ds(s.charCodeAt(c++));if(u===void 0||f===void 0)throw new F(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);i[a]=u<<4|f}return i}function m0(e,t={}){const{size:n}=t,r=b0.encode(e);return typeof n=="number"?(Lt(r,n),y0(r,n)):r}function y0(e,t){return c0(e,{dir:"right",size:t})}function _e(e){return e.length}function g0(e,t,n,r={}){const{strict:s}=r;return e.slice(t,n)}function w0(e,t={}){const{size:n}=t;typeof n<"u"&&Lt(e,n);const r=ie(e,t);return zo(r,t)}function v0(e,t={}){const{size:n}=t;let r=e;if(typeof n<"u"&&(Lt(r,n),r=Co(r)),r.length>1||r[0]>1)throw new $0(r);return!!r[0]}function ye(e,t={}){const{size:n}=t;typeof n<"u"&&Lt(e,n);const r=ie(e,t);return Mo(r,t)}function x0(e,t={}){const{size:n}=t;let r=e;return typeof n<"u"&&(Lt(r,n),r=P0(r)),l0.decode(r)}function Co(e){return ko(e,{dir:"left"})}function P0(e){return ko(e,{dir:"right"})}class $0 extends F{constructor(t){super(`Bytes value \`${t}\` 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"})}}let E0=class extends F{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},A0=class extends F{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const I0=new TextEncoder,B0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function T0(e,t={}){const{strict:n=!1}=t;if(!e)throw new ls(e);if(typeof e!="string")throw new ls(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new bs(e);if(!e.startsWith("0x"))throw new bs(e)}function oe(...e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function S0(e){return e instanceof Uint8Array?ie(e):Array.isArray(e)?ie(new Uint8Array(e)):e}function Oo(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(bn(n,t.size),Ce(n,t.size)):n}function ie(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=B0[e[s]];const r=`0x${n}`;return typeof t.size=="number"?(bn(r,t.size),Oe(r,t.size)):r}function _(e,t={}){const{signed:n,size:r}=t,s=BigInt(e);let o;r?n?o=(1n<<BigInt(r)*8n-1n)-1n:o=2n**(BigInt(r)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));const i=typeof o=="bigint"&&n?-o-1n:0;if(o&&s>o||s<i){const u=typeof e=="bigint"?"n":"";throw new jo({max:o?`${o}${u}`:void 0,min:`${i}${u}`,signed:n,size:r,value:`${e}${u}`})}const c=`0x${(n&&s<0?BigInt.asUintN(r*8,BigInt(s)):s).toString(16)}`;return r?Ce(c,r):c}function Ar(e,t={}){return ie(I0.encode(e),t)}function Ce(e,t){return Fo(e,{dir:"left",size:t})}function Oe(e,t){return Fo(e,{dir:"right",size:t})}function de(e,t,n,r={}){const{strict:s}=r;u0(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&f0(o,t,n),o}function J(e){return Math.ceil((e.length-2)/2)}function zo(e,t={}){const{signed:n}=t;t.size&&bn(e,t.size);const r=BigInt(e);if(!n)return r;const s=(e.length-2)/2,o=(1n<<BigInt(s)*8n)-1n,i=o>>1n;return r<=i?r:r-o-1n}function Mo(e,t={}){const{signed:n,size:r}=t;return Number(!n&&!r?e:zo(e,t))}function k0(e,t={}){const{strict:n=!1}=t;try{return T0(e,{strict:n}),!0}catch{return!1}}class jo extends F{constructor({max:t,min:n,signed:r,size:s,value:o}){super(`Number \`${o}\` is not in safe${s?` ${s*8}-bit`:""}${r?" signed":" unsigned"} integer range ${t?`(\`${n}\` to \`${t}\`)`:`(above \`${n}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class ls extends F{constructor(t){super(`Value \`${typeof t=="object"?No(t):t}\` of type \`${typeof t}\` 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"})}}class bs extends F{constructor(t){super(`Value \`${t}\` 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"})}}class F0 extends F{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class Lo extends F{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class N0 extends F{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function R0(e){return{address:e.address,amount:_(e.amount),index:_(e.index),validatorIndex:_(e.validatorIndex)}}function Uo(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:_(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:_(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:_(e.gasLimit)},...typeof e.number=="bigint"&&{number:_(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:_(e.prevRandao)},...typeof e.time=="bigint"&&{time:_(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(R0)}}}const C0="0x82ad56cb",Go="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",O0="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",z0="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Ir="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class Jn extends g{constructor({blockNumber:t,chain:n,contract:r}){super(`Chain "${n.name}" does not support contract "${r.name}".`,{metaMessages:["This could be due to any of the following:",...t&&r.blockCreated&&r.blockCreated>t?[`- The contract "${r.name}" was not deployed until block ${r.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${r.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class Do extends g{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}const En="/docs/contract/encodeDeployData";function Br(e){const{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;const s=t.find(i=>"type"in i&&i.type==="constructor");if(!s)throw new ha({docsPath:En});if(!("inputs"in s))throw new Wr({docsPath:En});if(!s.inputs||s.inputs.length===0)throw new Wr({docsPath:En});const o=Te(s.inputs,n);return tt([r,o])}function rt({blockNumber:e,chain:t,contract:n}){var s;const r=(s=t==null?void 0:t.contracts)==null?void 0:s[n];if(!r)throw new Jn({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Jn({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}function _o(e,{docsPath:t,...n}){const r=(()=>{const s=dn(e,n);return s instanceof zt?e:s})();return new uo(r,{docsPath:t,...n})}function Ho(){let e=()=>{},t=()=>{};return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}const An=new Map;function Vo({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:s}){const o=async()=>{const f=c();i();const d=f.map(({args:l})=>l);d.length!==0&&e(d).then(l=>{s&&Array.isArray(l)&&l.sort(s);for(let b=0;b<f.length;b++){const{resolve:p}=f[b];p==null||p([l[b],l])}}).catch(l=>{for(let b=0;b<f.length;b++){const{reject:p}=f[b];p==null||p(l)}})},i=()=>An.delete(t),a=()=>c().map(({args:f})=>f),c=()=>An.get(t)||[],u=f=>An.set(t,[...c(),f]);return{flush:i,async schedule(f){const{promise:d,resolve:l,reject:b}=Ho();return(n==null?void 0:n([...a(),f]))&&o(),c().length>0?(u({args:f,resolve:l,reject:b}),d):(u({args:f,resolve:l,reject:b}),setTimeout(o,r),d)}}}async function Ut(e,t){var C,j,T,ee;const{account:n=e.account,authorizationList:r,batch:s=!!((C=e.batch)!=null&&C.multicall),blockNumber:o,blockTag:i=e.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:u,code:f,data:d,factory:l,factoryData:b,gas:p,gasPrice:h,maxFeePerBlobGas:w,maxFeePerGas:m,maxPriorityFeePerGas:v,nonce:y,to:x,value:E,stateOverride:k,...P}=t,$=n?Z(n):void 0;if(f&&(l||b))throw new g("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&x)throw new g("Cannot provide both `code` & `to` as parameters.");const A=f&&d,O=l&&b&&x&&d,N=A||O,R=A?qo({code:f,data:d}):O?L0({data:d,factory:l,factoryData:b,to:x}):d;try{nt(t);const I=(typeof o=="bigint"?S(o):void 0)||i,z=u?Uo(u):void 0,G=mr(k),X=(ee=(T=(j=e.chain)==null?void 0:j.formatters)==null?void 0:T.transactionRequest)==null?void 0:ee.format,st=(X||Mt)({...ln(P,{format:X}),accessList:a,account:$,authorizationList:r,blobs:c,data:R,gas:p,gasPrice:h,maxFeePerBlobGas:w,maxFeePerGas:m,maxPriorityFeePerGas:v,nonce:y,to:N?void 0:x,value:E},"call");if(s&&M0({request:st})&&!G&&!z)try{return await j0(e,{...st,blockNumber:o,blockTag:i})}catch(Pe){if(!(Pe instanceof Do)&&!(Pe instanceof Jn))throw Pe}const Ht=(()=>{const Pe=[st,I];return G&&z?[...Pe,G,z]:G?[...Pe,G]:z?[...Pe,{},z]:Pe})(),Vt=await e.request({method:"eth_call",params:Ht});return Vt==="0x"?{data:void 0}:{data:Vt}}catch(Y){const I=U0(Y),{offchainLookup:z,offchainLookupSignature:G}=await As(async()=>{const{offchainLookup:X,offchainLookupSignature:Le}=await Promise.resolve().then(()=>ju);return{offchainLookup:X,offchainLookupSignature:Le}},void 0);if(e.ccipRead!==!1&&(I==null?void 0:I.slice(0,10))===G&&x)return{data:await z(e,{data:I,to:x})};throw N&&(I==null?void 0:I.slice(0,10))==="0x101bb98d"?new Bc({factory:l}):_o(Y,{...t,account:$,chain:e.chain})}}function M0({request:e}){const{data:t,to:n,...r}=e;return!(!t||t.startsWith(C0)||!n||Object.values(r).filter(s=>typeof s<"u").length>0)}async function j0(e,t){var h;const{batchSize:n=1024,deployless:r=!1,wait:s=0}=typeof((h=e.batch)==null?void 0:h.multicall)=="object"?e.batch.multicall:{},{blockNumber:o,blockTag:i=e.experimental_blockTag??"latest",data:a,to:c}=t,u=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return rt({blockNumber:o,chain:e.chain,contract:"multicall3"});throw new Do})(),d=(typeof o=="bigint"?S(o):void 0)||i,{schedule:l}=Vo({id:`${e.uid}.${d}`,wait:s,shouldSplitBatch(w){return w.reduce((v,{data:y})=>v+(y.length-2),0)>n*2},fn:async w=>{const m=w.map(x=>({allowFailure:!0,callData:x.data,target:x.to})),v=ue({abi:Kt,args:[m],functionName:"aggregate3"}),y=await e.request({method:"eth_call",params:[{...u===null?{data:qo({code:Ir,data:v})}:{to:u,data:v}},d]});return je({abi:Kt,args:[m],functionName:"aggregate3",data:y||"0x"})}}),[{returnData:b,success:p}]=await l({data:a,to:c});if(!p)throw new fn({data:b});return b==="0x"?{data:void 0}:{data:b}}function qo(e){const{code:t,data:n}=e;return Br({abi:Ls(["constructor(bytes, bytes)"]),bytecode:Go,args:[t,n]})}function L0(e){const{data:t,factory:n,factoryData:r,to:s}=e;return Br({abi:Ls(["constructor(address, bytes, address, bytes)"]),bytecode:O0,args:[s,t,n,r]})}function U0(e){var n;if(!(e instanceof g))return;const t=e.walk();return typeof(t==null?void 0:t.data)=="object"?(n=t.data)==null?void 0:n.data:t.data}async function ae(e,t){const{abi:n,address:r,args:s,functionName:o,...i}=t,a=ue({abi:n,args:s,functionName:o});try{const{data:c}=await B(e,Ut,"call")({...i,data:a,to:r});return je({abi:n,args:s,functionName:o,data:c||"0x"})}catch(c){throw Ye(c,{abi:n,address:r,args:s,docsPath:"/docs/contract/readContract",functionName:o})}}async function G0(e,t){const{abi:n,address:r,args:s,dataSuffix:o,functionName:i,...a}=t,c=a.account?Z(a.account):e.account,u=ue({abi:n,args:s,functionName:i});try{const{data:f}=await B(e,Ut,"call")({batch:!1,data:`${u}${o?o.replace("0x",""):""}`,to:r,...a,account:c}),d=je({abi:n,args:s,functionName:i,data:f||"0x"}),l=n.filter(b=>"name"in b&&b.name===t.functionName);return{result:d,request:{abi:l,address:r,args:s,dataSuffix:o,functionName:i,...a,account:c}}}catch(f){throw Ye(f,{abi:n,address:r,args:s,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c==null?void 0:c.address})}}const In=new Map,ps=new Map;let D0=0;function Be(e,t,n){const r=++D0,s=()=>In.get(e)||[],o=()=>{const f=s();In.set(e,f.filter(d=>d.id!==r))},i=()=>{const f=s();if(!f.some(l=>l.id===r))return;const d=ps.get(e);if(f.length===1&&d){const l=d();l instanceof Promise&&l.catch(()=>{})}o()},a=s();if(In.set(e,[...a,{id:r,fns:t}]),a&&a.length>0)return i;const c={};for(const f in t)c[f]=(...d)=>{var b,p;const l=s();if(l.length!==0)for(const h of l)(p=(b=h.fns)[f])==null||p.call(b,...d)};const u=n(c);return typeof u=="function"&&ps.set(e,u),i}async function Kn(e){return new Promise(t=>setTimeout(t,e))}function Gt(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let s=!0;const o=()=>s=!1;return(async()=>{let a;t&&(a=await e({unpoll:o}));const c=await(n==null?void 0:n(a))??r;await Kn(c);const u=async()=>{s&&(await e({unpoll:o}),await Kn(r),u())};u()})(),o}const _0=new Map,H0=new Map;function V0(e){const t=(s,o)=>({clear:()=>o.delete(s),get:()=>o.get(s),set:i=>o.set(s,i)}),n=t(e,_0),r=t(e,H0);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function q0(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){const r=V0(t),s=r.response.get();if(s&&n>0&&Date.now()-s.created.getTime()<n)return s.data;let o=r.promise.get();o||(o=e(),r.promise.set(o));try{const i=await o;return r.response.set({created:new Date,data:i}),i}finally{r.promise.clear()}}const W0=e=>`blockNumber.${e}`;async function Dt(e,{cacheTime:t=e.cacheTime}={}){const n=await q0(()=>e.request({method:"eth_blockNumber"}),{cacheKey:W0(e.uid),cacheTime:t});return BigInt(n)}async function pn(e,{filter:t}){const n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof r[0]=="string")return r;const s=r.map(o=>ve(o));return!("abi"in t)||!t.abi?s:$r({abi:t.abi,logs:s,strict:n})}async function hn(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Z0(e,t){const{abi:n,address:r,args:s,batch:o=!0,eventName:i,fromBlock:a,onError:c,onLogs:u,poll:f,pollingInterval:d=e.pollingInterval,strict:l}=t;return(typeof f<"u"?f:typeof a=="bigint"?!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")))?(()=>{const w=l??!1,m=L(["watchContractEvent",r,s,o,e.uid,i,d,w,a]);return Be(m,{onLogs:u,onError:c},v=>{let y;a!==void 0&&(y=a-1n);let x,E=!1;const k=Gt(async()=>{var P;if(!E){try{x=await B(e,no,"createContractEventFilter")({abi:n,address:r,args:s,eventName:i,strict:w,fromBlock:a})}catch{}E=!0;return}try{let $;if(x)$=await B(e,pn,"getFilterChanges")({filter:x});else{const A=await B(e,Dt,"getBlockNumber")({});y&&y<A?$=await B(e,To,"getContractEvents")({abi:n,address:r,args:s,eventName:i,fromBlock:y+1n,toBlock:A,strict:w}):$=[],y=A}if($.length===0)return;if(o)v.onLogs($);else for(const A of $)v.onLogs([A])}catch($){x&&$ instanceof Ie&&(E=!1),(P=v.onError)==null||P.call(v,$)}},{emitOnBegin:!0,interval:d});return async()=>{x&&await B(e,hn,"uninstallFilter")({filter:x}),k()}})})():(()=>{const w=l??!1,m=L(["watchContractEvent",r,s,o,e.uid,i,d,w]);let v=!0,y=()=>v=!1;return Be(m,{onLogs:u,onError:c},x=>((async()=>{try{const E=(()=>{if(e.transport.type==="fallback"){const $=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return $?$.value:e.transport}return e.transport})(),k=i?Nt({abi:n,eventName:i,args:s}):[],{unsubscribe:P}=await E.subscribe({params:["logs",{address:r,topics:k}],onData($){var O;if(!v)return;const A=$.result;try{const{eventName:N,args:R}=tn({abi:n,data:A.data,topics:A.topics,strict:l}),C=ve(A,{args:R,eventName:N});x.onLogs([C])}catch(N){let R,C;if(N instanceof Xt||N instanceof cr){if(l)return;R=N.abiItem.name,C=(O=N.abiItem.inputs)==null?void 0:O.some(T=>!("name"in T&&T.name))}const j=ve(A,{args:C?[]:{},eventName:R});x.onLogs([j])}},onError($){var A;(A=x.onError)==null||A.call(x,$)}});y=P,v||y()}catch(E){c==null||c(E)}})(),()=>y()))})()}async function J0(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}function Yn(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((s,o)=>{const i=async({count:a=0}={})=>{const c=async({error:u})=>{const f=typeof t=="function"?t({count:a,error:u}):t;f&&await Kn(f),i({count:a+1})};try{const u=await e();s(u)}catch(u){if(a<n&&await r({count:a,error:u}))return c({error:u});o(u)}};i()})}const K0={"0x0":"reverted","0x1":"success"};function Wo(e,t){const 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(r=>ve(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?we(e.transactionIndex):null,status:e.status?K0[e.status]:null,type:e.type?go[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const Xn=256;let qt=Xn,Wt;function Zo(e=11){if(!Wt||qt+e>Xn*2){Wt="",qt=0;for(let t=0;t<Xn;t++)Wt+=(256+Math.random()*256|0).toString(16).substring(1)}return Wt.substring(qt,qt+++e)}function Y0(e){const{batch:t,chain:n,ccipRead:r,key:s="base",name:o="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof(n==null?void 0:n.experimental_preconfirmationTime)=="number"?"pending":void 0),c=(n==null?void 0:n.blockTime)??12e3,u=Math.min(Math.max(Math.floor(c/2),500),4e3),f=e.pollingInterval??u,d=e.cacheTime??f,l=e.account?Z(e.account):void 0,{config:b,request:p,value:h}=e.transport({account:l,chain:n,pollingInterval:f}),w={...b,...h},m={account:l,batch:t,cacheTime:d,ccipRead:r,chain:n,key:s,name:o,pollingInterval:f,request:p,transport:w,type:i,uid:Zo(),...a?{experimental_blockTag:a}:{}};function v(y){return x=>{const E=x(y);for(const P in m)delete E[P];const k={...y,...E};return Object.assign(k,{extend:v(k)})}}return Object.assign(m,{extend:v(m)})}function Tr(e){var n,r,s,o,i,a;if(!(e instanceof g))return!1;const t=e.walk(c=>c instanceof Ln);return t instanceof Ln?((n=t.data)==null?void 0:n.errorName)==="HttpError"||((r=t.data)==null?void 0:r.errorName)==="ResolverError"||((s=t.data)==null?void 0:s.errorName)==="ResolverNotContract"||((o=t.data)==null?void 0:o.errorName)==="ResolverNotFound"||((i=t.data)==null?void 0:i.errorName)==="ReverseAddressMismatch"||((a=t.data)==null?void 0:a.errorName)==="UnsupportedResolverProfile":!1}function X0(e){const{abi:t,data:n}=e,r=Je(n,0,4),s=t.find(o=>o.type==="function"&&r===Ft(ne(o)));if(!s)throw new Pa(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Rt(s.inputs,Je(n,4)):void 0}}const Bn="/docs/contract/encodeErrorResult";function hs(e){const{abi:t,errorName:n,args:r}=e;let s=t[0];if(n){const c=Me({abi:t,args:r,name:n});if(!c)throw new Zr(n,{docsPath:Bn});s=c}if(s.type!=="error")throw new Zr(void 0,{docsPath:Bn});const o=ne(s),i=Ft(o);let a="0x";if(r&&r.length>0){if(!s.inputs)throw new wa(s.name,{docsPath:Bn});a=Te(s.inputs,r)}return tt([i,a])}const Tn="/docs/contract/encodeFunctionResult";function Q0(e){const{abi:t,functionName:n,result:r}=e;let s=t[0];if(n){const i=Me({abi:t,name:n});if(!i)throw new Ze(n,{docsPath:Tn});s=i}if(s.type!=="function")throw new Ze(void 0,{docsPath:Tn});if(!s.outputs)throw new Hs(s.name,{docsPath:Tn});const o=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Vs(r)})();return Te(s.outputs,o)}const _t="x-batch-gateway:true";async function Jo(e){const{data:t,ccipRequest:n}=e,{args:[r]}=X0({abi:Fn,data:t}),s=[],o=[];return await Promise.all(r.map(async(i,a)=>{try{o[a]=i.urls.includes(_t)?await Jo({data:i.data,ccipRequest:n}):await n(i),s[a]=!1}catch(c){s[a]=!0,o[a]=eu(c)}})),Q0({abi:Fn,functionName:"query",result:[s,o]})}function eu(e){return e.name==="HttpRequestError"&&e.status?hs({abi:Fn,errorName:"HttpError",args:[e.status,e.shortMessage]}):hs({abi:[ro],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}function Ko(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return re(t)?t:null}function Qn(e){let t=new Uint8Array(32).fill(0);if(!e)return U(t);const n=e.split(".");for(let r=n.length-1;r>=0;r-=1){const s=Ko(n[r]),o=s?et(s):D(Fe(n[r]),"bytes");t=D(se([t,o]),"bytes")}return U(t)}function tu(e){return`[${e.slice(2)}]`}function nu(e){const t=new Uint8Array(32).fill(0);return e?Ko(e)||D(Fe(e)):U(t)}function Sr(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const n=new Uint8Array(Fe(t).byteLength+2);let r=0;const s=t.split(".");for(let o=0;o<s.length;o++){let i=Fe(s[o]);i.byteLength>255&&(i=Fe(tu(nu(s[o])))),n[r]=i.length,n.set(i,r+1),r+=i.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}async function ru(e,t){const{blockNumber:n,blockTag:r,coinType:s,name:o,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return rt({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(l=>o.endsWith(l)))return null;const d=s!=null?[Qn(o),BigInt(s)]:[Qn(o)];try{const l=ue({abi:Ur,functionName:"addr",args:d}),b={address:u,abi:Is,functionName:"resolveWithGateways",args:[Ee(Sr(o)),l,i??[_t]],blockNumber:n,blockTag:r},h=await B(e,ae,"readContract")(b);if(h[0]==="0x")return null;const w=je({abi:Ur,args:d,functionName:"addr",data:h[0]});return w==="0x"||ke(w)==="0x00"?null:w}catch(l){if(a)throw l;if(Tr(l))return null;throw l}}class su extends g{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class it extends g{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class kr extends g{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class ou extends g{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const iu=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,au=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,cu=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,uu=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function fu(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const n=t.headers.get("content-type");return n==null?void 0:n.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(n=>{const r=new Image;r.onload=()=>{n(!0)},r.onerror=()=>{n(!1)},r.src=e})}}function ms(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Yo({uri:e,gatewayUrls:t}){const n=cu.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};const r=ms(t==null?void 0:t.ipfs,"https://ipfs.io"),s=ms(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match(iu),{protocol:i,subpath:a,target:c,subtarget:u=""}=(o==null?void 0:o.groups)||{},f=i==="ipns:/"||a==="ipns/",d=i==="ipfs:/"||a==="ipfs/"||au.test(e);if(e.startsWith("http")&&!f&&!d){let b=e;return t!=null&&t.arweave&&(b=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:b,isOnChain:!1,isEncoded:!1}}if((f||d)&&c)return{uri:`${r}/${f?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${s}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let l=e.replace(uu,"");if(l.startsWith("<svg")&&(l=`data:image/svg+xml;base64,${btoa(l)}`),l.startsWith("data:")||l.startsWith("{"))return{uri:l,isOnChain:!0,isEncoded:!1};throw new kr({uri:e})}function Xo(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new su({data:e});return e.image||e.image_url||e.image_data}async function du({gatewayUrls:e,uri:t}){try{const n=await fetch(t).then(s=>s.json());return await Fr({gatewayUrls:e,uri:Xo(n)})}catch{throw new kr({uri:t})}}async function Fr({gatewayUrls:e,uri:t}){const{uri:n,isOnChain:r}=Yo({uri:t,gatewayUrls:e});if(r||await fu(n))return n;throw new kr({uri:t})}function lu(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[n,r,s]=t.split("/"),[o,i]=n.split(":"),[a,c]=r.split(":");if(!o||o.toLowerCase()!=="eip155")throw new it({reason:"Only EIP-155 supported"});if(!i)throw new it({reason:"Chain ID not found"});if(!c)throw new it({reason:"Contract address not found"});if(!s)throw new it({reason:"Token ID not found"});if(!a)throw new it({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:s}}async function bu(e,{nft:t}){if(t.namespace==="erc721")return ae(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return ae(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new ou({namespace:t.namespace})}async function pu(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?hu(e,{gatewayUrls:t,record:n}):Fr({uri:n,gatewayUrls:t})}async function hu(e,{gatewayUrls:t,record:n}){const r=lu(n),s=await bu(e,{nft:r}),{uri:o,isOnChain:i,isEncoded:a}=Yo({uri:s,gatewayUrls:t});if(i&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const u=a?atob(o.replace("data:application/json;base64,","")):o,f=JSON.parse(u);return Fr({uri:Xo(f),gatewayUrls:t})}let c=r.tokenID;return r.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),du({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,c)})}async function Qo(e,t){const{blockNumber:n,blockTag:r,key:s,name:o,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return rt({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(d=>o.endsWith(d)))return null;try{const d={address:u,abi:Is,args:[Ee(Sr(o)),ue({abi:Gr,functionName:"text",args:[Qn(o),s]}),i??[_t]],functionName:"resolveWithGateways",blockNumber:n,blockTag:r},b=await B(e,ae,"readContract")(d);if(b[0]==="0x")return null;const p=je({abi:Gr,functionName:"text",data:b[0]});return p===""?null:p}catch(d){if(a)throw d;if(Tr(d))return null;throw d}}async function mu(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:s,gatewayUrls:o,strict:i,universalResolverAddress:a}){const c=await B(e,Qo,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:s,universalResolverAddress:a,gatewayUrls:o,strict:i});if(!c)return null;try{return await pu(e,{record:c,gatewayUrls:r})}catch{return null}}async function yu(e,t){const{address:n,blockNumber:r,blockTag:s,coinType:o=60n,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return rt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})();try{const f={address:u,abi:Ai,args:[n,o,i??[_t]],functionName:"reverseWithGateways",blockNumber:r,blockTag:s},d=B(e,ae,"readContract"),[l]=await d(f);return l||null}catch(f){if(a)throw f;if(Tr(f))return null;throw f}}async function gu(e,t){const{blockNumber:n,blockTag:r,name:s}=t,{chain:o}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!o)throw new Error("client chain not configured. universalResolverAddress is required.");return rt({blockNumber:n,chain:o,contract:"ensUniversalResolver"})})(),a=o==null?void 0:o.ensTlds;if(a&&!a.some(u=>s.endsWith(u)))throw new Error(`${s} is not a valid ENS TLD (${a==null?void 0:a.join(", ")}) for chain "${o.name}" (id: ${o.id}).`);const[c]=await B(e,ae,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ee(Sr(s))],blockNumber:n,blockTag:r});return c}async function ei(e,t){var w,m,v;const{account:n=e.account,blockNumber:r,blockTag:s="latest",blobs:o,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:d,to:l,value:b,...p}=t,h=n?Z(n):void 0;try{nt(t);const x=(typeof r=="bigint"?S(r):void 0)||s,E=(v=(m=(w=e.chain)==null?void 0:w.formatters)==null?void 0:m.transactionRequest)==null?void 0:v.format,P=(E||Mt)({...ln(p,{format:E}),account:h,blobs:o,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:d,to:l,value:b},"createAccessList"),$=await e.request({method:"eth_createAccessList",params:[P,x]});return{accessList:$.accessList,gasUsed:BigInt($.gasUsed)}}catch(y){throw _o(y,{...t,account:h,chain:e.chain})}}async function wu(e){const t=un(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}async function ti(e,{address:t,args:n,event:r,events:s,fromBlock:o,strict:i,toBlock:a}={}){const c=s??(r?[r]:void 0),u=un(e,{method:"eth_newFilter"});let f=[];c&&(f=[c.flatMap(b=>Nt({abi:[b],eventName:b.name,args:n}))],r&&(f=f[0]));const d=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?S(o):o,toBlock:typeof a=="bigint"?S(a):a,...f.length?{topics:f}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:o,id:d,request:u(d),strict:!!i,toBlock:a,type:"event"}}async function ni(e){const t=un(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}async function vu(e,{address:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest"}){const s=typeof n=="bigint"?S(n):void 0,o=await e.request({method:"eth_getBalance",params:[t,s||r]});return BigInt(o)}async function xu(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Pu(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){const s=n!==void 0?S(n):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[s||r]},{dedupe:!!s}),we(o)}async function er(e,{address:t,blockNumber:n,blockTag:r="latest"}){const s=n!==void 0?S(n):void 0,o=await e.request({method:"eth_getCode",params:[t,s||r]},{dedupe:!!s});if(o!=="0x")return o}class $u extends g{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Eu(e,t){const{address:n,factory:r,factoryData:s}=t;try{const[o,i,a,c,u,f,d]=await B(e,ae,"readContract")({abi:Au,address:n,functionName:"eip712Domain",factory:r,factoryData:s});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:u,salt:f},extensions:d,fields:o}}catch(o){const i=o;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new $u({address:n}):i}}const Au=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Iu(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(n=>BigInt(n)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(n=>n.map(r=>BigInt(r)))}}async function Bu(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:s}){const o=typeof n=="bigint"?S(n):void 0,i=await e.request({method:"eth_feeHistory",params:[S(t),o||r,s]},{dedupe:!!o});return Iu(i)}async function Tu(e,{filter:t}){const n=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>ve(o));return t.abi?$r({abi:t.abi,logs:s,strict:n}):s}async function Su({address:e,authorization:t,signature:n}){return jt(Ks(e),await ho({authorization:t,signature:n}))}const Zt=new an(8192);function ku(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Zt.get(n))return Zt.get(n);const r=e().finally(()=>Zt.delete(n));return Zt.set(n,r),r}function Fu(e,t={}){return async(n,r={})=>{var d;const{dedupe:s=!1,methods:o,retryDelay:i=150,retryCount:a=3,uid:c}={...t,...r},{method:u}=n;if((d=o==null?void 0:o.exclude)!=null&&d.includes(u))throw new Se(new Error("method not supported"),{method:u});if(o!=null&&o.include&&!o.include.includes(u))throw new Se(new Error("method not supported"),{method:u});const f=s?at(`${c}.${L(n)}`):void 0;return ku(()=>Yn(async()=>{try{return await e(n)}catch(l){const b=l;switch(b.code){case ut.code:throw new ut(b);case ft.code:throw new ft(b);case dt.code:throw new dt(b,{method:n.method});case lt.code:throw new lt(b);case Re.code:throw new Re(b);case Ie.code:throw new Ie(b);case bt.code:throw new bt(b);case pt.code:throw new pt(b);case ht.code:throw new ht(b);case Se.code:throw new Se(b,{method:n.method});case Ke.code:throw new Ke(b);case mt.code:throw new mt(b);case qe.code:throw new qe(b);case yt.code:throw new yt(b);case gt.code:throw new gt(b);case wt.code:throw new wt(b);case vt.code:throw new vt(b);case xt.code:throw new xt(b);case Pt.code:throw new Pt(b);case $t.code:throw new $t(b);case Et.code:throw new Et(b);case At.code:throw new At(b);case It.code:throw new It(b);case Bt.code:throw new Bt(b);case Tt.code:throw new Tt(b);case 5e3:throw new qe(b);default:throw l instanceof g?l:new Sc(b)}}},{delay:({count:l,error:b})=>{var p;if(b&&b instanceof Ne){const h=(p=b==null?void 0:b.headers)==null?void 0:p.get("Retry-After");if(h!=null&&h.match(/\d/))return Number.parseInt(h,10)*1e3}return~~(1<<l)*i},retryCount:a,shouldRetry:({error:l})=>Nu(l)}),{enabled:s,id:f})}}function Nu(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===Ke.code||e.code===Re.code:e instanceof Ne&&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}class Ru extends g{constructor({callbackSelector:t,cause:n,data:r,extraData:s,sender:o,urls:i}){var a;super(n.shortMessage||"An error occurred while fetching for an offchain result.",{cause:n,metaMessages:[...n.metaMessages||[],(a=n.metaMessages)!=null&&a.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(c=>` ${Ot(c)}`)],` Sender: ${o}`,` Data: ${r}`,` Callback selector: ${t}`,` Extra data: ${s}`].flat(),name:"OffchainLookupError"})}}class Cu extends g{constructor({result:t,url:n}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Ot(n)}`,`Response: ${L(t)}`],name:"OffchainLookupResponseMalformedError"})}}class Ou extends g{constructor({sender:t,to:n}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${n}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}const zu="0x556f1830",ri={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 Mu(e,{blockNumber:t,blockTag:n,data:r,to:s}){const{args:o}=oo({data:r,abi:[ri]}),[i,a,c,u,f]=o,{ccipRead:d}=e,l=d&&typeof(d==null?void 0:d.request)=="function"?d.request:si;try{if(!jt(s,i))throw new Ou({sender:i,to:s});const b=a.includes(_t)?await Jo({data:c,ccipRequest:l}):await l({data:c,sender:i,urls:a}),{data:p}=await Ut(e,{blockNumber:t,blockTag:n,data:se([u,Te([{type:"bytes"},{type:"bytes"}],[b,f])]),to:s});return p}catch(b){throw new Ru({callbackSelector:u,cause:b,data:r,extraData:f,sender:i,urls:a})}}async function si({data:e,sender:t,urls:n}){var s;let r=new Error("An unknown error occurred.");for(let o=0;o<n.length;o++){const i=n[o],a=i.includes("{data}")?"GET":"POST",c=a==="POST"?{data:e,sender:t}:void 0,u=a==="POST"?{"Content-Type":"application/json"}:{};try{const f=await fetch(i.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(c),headers:u,method:a});let d;if((s=f.headers.get("Content-Type"))!=null&&s.startsWith("application/json")?d=(await f.json()).data:d=await f.text(),!f.ok){r=new Ne({body:c,details:d!=null&&d.error?L(d.error):f.statusText,headers:f.headers,status:f.status,url:i});continue}if(!re(d)){r=new Cu({result:d,url:i});continue}return d}catch(f){r=new Ne({body:c,details:f.message,url:i})}}throw r}const ju=Object.freeze(Object.defineProperty({__proto__:null,ccipRequest:si,offchainLookup:Mu,offchainLookupAbiItem:ri,offchainLookupSignature:zu},Symbol.toStringTag,{value:"Module"}));function Jd(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(r){return s=>{const o=typeof s=="function"?s(r):s,i={...r,...o};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function Lu(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((s,o)=>{(async()=>{let i;try{const a=new AbortController;n>0&&(i=setTimeout(()=>{r&&a.abort()},n)),s(await e({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&o(t),o(a)}finally{clearTimeout(i)}})()})}function Uu(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const ys=Uu();function Gu(e,t={}){const{url:n,headers:r}=Du(e);return{async request(s){var p;const{body:o,fetchFn:i=t.fetchFn??fetch,onRequest:a=t.onRequest,onResponse:c=t.onResponse,timeout:u=t.timeout??1e4}=s,f={...t.fetchOptions??{},...s.fetchOptions??{}},{headers:d,method:l,signal:b}=f;try{const h=await Lu(async({signal:m})=>{const v={...f,body:Array.isArray(o)?L(o.map(k=>({jsonrpc:"2.0",id:k.id??ys.take(),...k}))):L({jsonrpc:"2.0",id:o.id??ys.take(),...o}),headers:{...r,"Content-Type":"application/json",...d},method:l||"POST",signal:b||(u>0?m:null)},y=new Request(n,v),x=await(a==null?void 0:a(y,v))??{...v,url:n};return await i(x.url??n,x)},{errorInstance:new ss({body:o,url:n}),timeout:u,signal:!0});c&&await c(h);let w;if((p=h.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))w=await h.json();else{w=await h.text();try{w=JSON.parse(w||"{}")}catch(m){if(h.ok)throw m;w={error:w}}}if(!h.ok)throw new Ne({body:o,details:L(w.error)||h.statusText,headers:h.headers,status:h.status,url:n});return w}catch(h){throw h instanceof Ne||h instanceof ss?h:new Ne({body:o,cause:h,url:n})}}}}function Du(e){try{const t=new URL(e),n=(()=>{if(t.username){const r=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username="",t.password="",{url:t.toString(),headers:{Authorization:`Basic ${btoa(r)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}const _u=`Ethereum Signed Message:
|
|
41
|
-
`;function Hu(e){const t=typeof e=="string"?at(e):typeof e.raw=="string"?e.raw:U(e.raw),n=at(`${_u}${M(t)}`);return se([n,t])}function oi(e,t){return D(Hu(e),t)}class Vu extends g{constructor({domain:t}){super(`Invalid domain "${L(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class qu extends g{constructor({primaryType:t,types:n}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(n))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class Wu extends g{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Zu(e){const{domain:t,message:n,primaryType:r,types:s}=e,o=(i,a)=>{for(const c of i){const{name:u,type:f}=c,d=a[u],l=f.match(eo);if(l&&(typeof d=="number"||typeof d=="bigint")){const[h,w,m]=l;S(d,{signed:w==="int",size:Number.parseInt(m,10)/8})}if(f==="address"&&typeof d=="string"&&!Q(d))throw new Ae({address:d});const b=f.match(qa);if(b){const[h,w]=b;if(w&&M(d)!==Number.parseInt(w,10))throw new Ea({expectedSize:Number.parseInt(w,10),givenSize:M(d)})}const p=s[f];p&&(Ku(f),o(p,d))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new Vu({domain:t});o(s.EIP712Domain,t)}if(r!=="EIP712Domain")if(s[r])o(s[r],n);else throw new qu({primaryType:r,types:s})}function Ju({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function Ku(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Wu({type:e})}function Yu(e){const{domain:t={},message:n,primaryType:r}=e,s={EIP712Domain:Ju({domain:t}),...e.types};Zu({domain:t,message:n,primaryType:r,types:s});const o=["0x1901"];return t&&o.push(Xu({domain:t,types:s})),r!=="EIP712Domain"&&o.push(ii({data:n,primaryType:r,types:s})),D(se(o))}function Xu({domain:e,types:t}){return ii({data:e,primaryType:"EIP712Domain",types:t})}function ii({data:e,primaryType:t,types:n}){const r=ai({data:e,primaryType:t,types:n});return D(r)}function ai({data:e,primaryType:t,types:n}){const r=[{type:"bytes32"}],s=[Qu({primaryType:t,types:n})];for(const o of n[t]){const[i,a]=ui({types:n,name:o.name,type:o.type,value:e[o.name]});r.push(i),s.push(a)}return Te(r,s)}function Qu({primaryType:e,types:t}){const n=Ee(ef({primaryType:e,types:t}));return D(n)}function ef({primaryType:e,types:t}){let n="";const r=ci({primaryType:e,types:t});r.delete(e);const s=[e,...Array.from(r).sort()];for(const o of s)n+=`${o}(${t[o].map(({name:i,type:a})=>`${a} ${i}`).join(",")})`;return n}function ci({primaryType:e,types:t},n=new Set){const r=e.match(/^\w*/u),s=r==null?void 0:r[0];if(n.has(s)||t[s]===void 0)return n;n.add(s);for(const o of t[s])ci({primaryType:o.type,types:t},n);return n}function ui({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:"bytes32"},D(ai({data:r,primaryType:n,types:e}))];if(n==="bytes")return[{type:"bytes32"},D(r)];if(n==="string")return[{type:"bytes32"},D(Ee(r))];if(n.lastIndexOf("]")===n.length-1){const s=n.slice(0,n.lastIndexOf("[")),o=r.map(i=>ui({name:t,type:s,types:e,value:i}));return[{type:"bytes32"},D(Te(o.map(([i])=>i),o.map(([,i])=>i)))]}return[{type:n},r]}class tf extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const nf={checksum:new tf(8192)},Sn=nf.checksum;function fi(e,t={}){const{as:n=typeof e=="string"?"Hex":"Bytes"}=t,r=$s(p0(e));return n==="Bytes"?r:ie(r)}const rf=/^0x[a-fA-F0-9]{40}$/;function mn(e,t={}){const{strict:n=!0}=t;if(!rf.test(e))throw new gs({address:e,cause:new sf});if(n){if(e.toLowerCase()===e)return;if(di(e)!==e)throw new gs({address:e,cause:new of})}}function di(e){if(Sn.has(e))return Sn.get(e);mn(e,{strict:!1});const t=e.substring(2).toLowerCase(),n=fi(m0(t),{as:"Bytes"}),r=t.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(n[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const s=`0x${r.join("")}`;return Sn.set(e,s),s}function tr(e,t={}){const{strict:n=!0}=t??{};try{return mn(e,{strict:n}),!0}catch{return!1}}class gs extends F{constructor({address:t,cause:n}){super(`Address "${t}" is invalid.`,{cause:n}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class sf extends F{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class of extends F{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const af=/^(.*)\[([0-9]*)\]$/,cf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,li=/^(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)?$/,ws=2n**256n-1n;function We(e,t,n){const{checksumAddress:r,staticPosition:s}=n,o=Cr(t.type);if(o){const[i,a]=o;return ff(e,{...t,type:a},{checksumAddress:r,length:i,staticPosition:s})}if(t.type==="tuple")return pf(e,t,{checksumAddress:r,staticPosition:s});if(t.type==="address")return uf(e,{checksum:r});if(t.type==="bool")return df(e);if(t.type.startsWith("bytes"))return lf(e,t,{staticPosition:s});if(t.type.startsWith("uint")||t.type.startsWith("int"))return bf(e,t);if(t.type==="string")return hf(e,{staticPosition:s});throw new zr(t.type)}const vs=32,nr=32;function uf(e,t={}){const{checksum:n=!1}=t,r=e.readBytes(32);return[(o=>n?di(o):o)(ie(g0(r,-20))),32]}function ff(e,t,n){const{checksumAddress:r,length:s,staticPosition:o}=n;if(!s){const c=ye(e.readBytes(nr)),u=o+c,f=u+vs;e.setPosition(u);const d=ye(e.readBytes(vs)),l=St(t);let b=0;const p=[];for(let h=0;h<d;++h){e.setPosition(f+(l?h*32:b));const[w,m]=We(e,t,{checksumAddress:r,staticPosition:f});b+=m,p.push(w)}return e.setPosition(o+32),[p,32]}if(St(t)){const c=ye(e.readBytes(nr)),u=o+c,f=[];for(let d=0;d<s;++d){e.setPosition(u+d*32);const[l]=We(e,t,{checksumAddress:r,staticPosition:u});f.push(l)}return e.setPosition(o+32),[f,32]}let i=0;const a=[];for(let c=0;c<s;++c){const[u,f]=We(e,t,{checksumAddress:r,staticPosition:o+i});i+=f,a.push(u)}return[a,i]}function df(e){return[v0(e.readBytes(32),{size:32}),32]}function lf(e,t,{staticPosition:n}){const[r,s]=t.type.split("bytes");if(!s){const i=ye(e.readBytes(32));e.setPosition(n+i);const a=ye(e.readBytes(32));if(a===0)return e.setPosition(n+32),["0x",32];const c=e.readBytes(a);return e.setPosition(n+32),[ie(c),32]}return[ie(e.readBytes(Number.parseInt(s,10),32)),32]}function bf(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),s=e.readBytes(32);return[r>48?w0(s,{signed:n}):ye(s,{signed:n}),32]}function pf(e,t,n){const{checksumAddress:r,staticPosition:s}=n,o=t.components.length===0||t.components.some(({name:c})=>!c),i=o?[]:{};let a=0;if(St(t)){const c=ye(e.readBytes(nr)),u=s+c;for(let f=0;f<t.components.length;++f){const d=t.components[f];e.setPosition(u+a);const[l,b]=We(e,d,{checksumAddress:r,staticPosition:u});a+=b,i[o?f:d==null?void 0:d.name]=l}return e.setPosition(s+32),[i,32]}for(let c=0;c<t.components.length;++c){const u=t.components[c],[f,d]=We(e,u,{checksumAddress:r,staticPosition:s});i[o?c:u==null?void 0:u.name]=f,a+=d}return[i,a]}function hf(e,{staticPosition:t}){const n=ye(e.readBytes(32)),r=t+n;e.setPosition(r);const s=ye(e.readBytes(32));if(s===0)return e.setPosition(t+32),["",32];const o=e.readBytes(s,32),i=x0(Co(o));return e.setPosition(t+32),[i,32]}function mf({checksumAddress:e,parameters:t,values:n}){const r=[];for(let s=0;s<t.length;s++)r.push(Nr({checksumAddress:e,parameter:t[s],value:n[s]}));return r}function Nr({checksumAddress:e=!1,parameter:t,value:n}){const r=t,s=Cr(r.type);if(s){const[o,i]=s;return gf(n,{checksumAddress:e,length:o,parameter:{...r,type:i}})}if(r.type==="tuple")return $f(n,{checksumAddress:e,parameter:r});if(r.type==="address")return yf(n,{checksum:e});if(r.type==="bool")return vf(n);if(r.type.startsWith("uint")||r.type.startsWith("int")){const o=r.type.startsWith("int"),[,,i="256"]=li.exec(r.type)??[];return xf(n,{signed:o,size:Number(i)})}if(r.type.startsWith("bytes"))return wf(n,{type:r.type});if(r.type==="string")return Pf(n);throw new zr(r.type)}function Rr(e){let t=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:a}=e[o];i?t+=32:t+=J(a)}const n=[],r=[];let s=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:a}=e[o];i?(n.push(_(t+s,{size:32})),r.push(a),s+=J(a)):n.push(a)}return oe(...n,...r)}function yf(e,t){const{checksum:n=!1}=t;return mn(e,{strict:n}),{dynamic:!1,encoded:Ce(e.toLowerCase())}}function gf(e,t){const{checksumAddress:n,length:r,parameter:s}=t,o=r===null;if(!Array.isArray(e))throw new Nf(e);if(!o&&e.length!==r)throw new Ff({expectedLength:r,givenLength:e.length,type:`${s.type}[${r}]`});let i=!1;const a=[];for(let c=0;c<e.length;c++){const u=Nr({checksumAddress:n,parameter:s,value:e[c]});u.dynamic&&(i=!0),a.push(u)}if(o||i){const c=Rr(a);if(o){const u=_(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?oe(u,c):u}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:oe(...a.map(({encoded:c})=>c))}}function wf(e,{type:t}){const[,n]=t.split("bytes"),r=J(e);if(!n){let s=e;return r%32!==0&&(s=Oe(s,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:oe(Ce(_(r,{size:32})),s)}}if(r!==Number.parseInt(n,10))throw new pi({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Oe(e)}}function vf(e){if(typeof e!="boolean")throw new F(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Ce(Oo(e))}}function xf(e,{signed:t,size:n}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||e<s)throw new jo({max:r.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:_(e,{size:32,signed:t})}}function Pf(e){const t=Ar(e),n=Math.ceil(J(t)/32),r=[];for(let s=0;s<n;s++)r.push(Oe(de(t,s*32,(s+1)*32)));return{dynamic:!0,encoded:oe(Oe(_(J(t),{size:32})),...r)}}function $f(e,t){const{checksumAddress:n,parameter:r}=t;let s=!1;const o=[];for(let i=0;i<r.components.length;i++){const a=r.components[i],c=Array.isArray(e)?i:a.name,u=Nr({checksumAddress:n,parameter:a,value:e[c]});o.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?Rr(o):oe(...o.map(({encoded:i})=>i))}}function Cr(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function St(e){var r;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(r=e.components)==null?void 0:r.some(St);const n=Cr(e.type);return!!(n&&St({...e,type:n[1]}))}const Ef={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Bf({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new If({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new xs({offset:e});const 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 xs({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const 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();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Af(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(Ef);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}class xs extends F{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class If extends F{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Bf extends F{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function Tf(e,t,n={}){const{as:r="Array",checksumAddress:s=!1}=n,o=typeof t=="string"?Ro(t):t,i=Af(o);if(_e(o)===0&&e.length>0)throw new kf;if(_e(o)&&_e(o)<32)throw new Sf({data:typeof t=="string"?t:ie(t),parameters:e,size:_e(o)});let a=0;const c=r==="Array"?[]:{};for(let u=0;u<e.length;++u){const f=e[u];i.setPosition(a);const[d,l]=We(i,f,{checksumAddress:s,staticPosition:0});a+=l,r==="Array"?c.push(d):c[f.name??u]=d}return c}function Or(e,t,n){const{checksumAddress:r=!1}={};if(e.length!==t.length)throw new hi({expectedLength:e.length,givenLength:t.length});const s=mf({checksumAddress:r,parameters:e,values:t}),o=Rr(s);return o.length===0?"0x":o}function rr(e,t){if(e.length!==t.length)throw new hi({expectedLength:e.length,givenLength:t.length});const n=[];for(let r=0;r<e.length;r++){const s=e[r],o=t[r];n.push(rr.encode(s,o))}return oe(...n)}(function(e){function t(n,r,s=!1){if(n==="address"){const c=r;return mn(c),Ce(c.toLowerCase(),s?32:0)}if(n==="string")return Ar(r);if(n==="bytes")return r;if(n==="bool")return Ce(Oo(r),s?32:1);const o=n.match(li);if(o){const[c,u,f="256"]=o,d=Number.parseInt(f,10)/8;return _(r,{size:s?32:d,signed:u==="int"})}const i=n.match(cf);if(i){const[c,u]=i;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new pi({expectedSize:Number.parseInt(u,10),value:r});return Oe(r,s?32:0)}const a=n.match(af);if(a&&Array.isArray(r)){const[c,u]=a,f=[];for(let d=0;d<r.length;d++)f.push(t(u,r[d],!0));return f.length===0?"0x":oe(...f)}throw new zr(n)}e.encode=t})(rr||(rr={}));function bi(e){return Array.isArray(e)&&typeof e[0]=="string"||typeof e=="string"?qr(e):e}class Sf extends F{constructor({data:t,parameters:n,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ge(n)})`,`Data: ${t} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class kf extends F{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class Ff extends F{constructor({expectedLength:t,givenLength:n,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${t}\`. Given: \`${n}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class pi extends F{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${J(n)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class hi extends F{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${n}`].join(`
|
|
42
|
-
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class Nf extends F{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class zr extends F{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}function mi(e,t={}){const{recovered:n}=t;if(typeof e.r>"u")throw new kn({signature:e});if(typeof e.s>"u")throw new kn({signature:e});if(n&&typeof e.yParity>"u")throw new kn({signature:e});if(e.r<0n||e.r>ws)throw new Lf({value:e.r});if(e.s<0n||e.s>ws)throw new Uf({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new jr({value:e.yParity})}function Rf(e){return yi(ie(e))}function yi(e){if(e.length!==130&&e.length!==132)throw new jf({signature:e});const t=BigInt(de(e,0,32)),n=BigInt(de(e,32,64)),r=(()=>{const s=+`0x${e.slice(130)}`;if(!Number.isNaN(s))try{return Mr(s)}catch{throw new jr({value:s})}})();return typeof r>"u"?{r:t,s:n}:{r:t,s:n,yParity:r}}function Cf(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Of(e)}function Of(e){const t=typeof e=="string"?yi(e):e instanceof Uint8Array?Rf(e):typeof e.r=="string"?Mf(e):e.v?zf(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return mi(t),t}function zf(e){return{r:e.r,s:e.s,yParity:Mr(e.v)}}function Mf(e){const t=(()=>{const n=e.v?Number(e.v):void 0;let r=e.yParity?Number(e.yParity):void 0;if(typeof n=="number"&&typeof r!="number"&&(r=Mr(n)),typeof r!="number")throw new jr({value:e.yParity});return r})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Mr(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new Gf({value:e})}class jf extends F{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${J(S0(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class kn extends F{constructor({signature:t}){super(`Signature \`${No(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Lf extends F{constructor({value:t}){super(`Value \`${t}\` 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"})}}class Uf extends F{constructor({value:t}){super(`Value \`${t}\` 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"})}}class jr extends F{constructor({value:t}){super(`Value \`${t}\` 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"})}}class Gf extends F{constructor({value:t}){super(`Value \`${t}\` 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"})}}function Df(e,t={}){return typeof e.chainId=="string"?_f(e):{...e,...t.signature}}function _f(e){const{address:t,chainId:n,nonce:r}=e,s=Cf(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...s}}const Hf="0x8010801080108010801080108010801080108010801080108010801080108010",Vf=bi("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function gi(e){if(typeof e=="string"){if(de(e,-32)!==Hf)throw new Zf(e)}else mi(e.authorization)}function qf(e){gi(e);const t=Mo(de(e,-64,-32)),n=de(e,-t-64,-64),r=de(e,0,-t-64),[s,o,i]=Tf(Vf,n);return{authorization:Df({address:s.delegation,chainId:Number(s.chainId),nonce:s.nonce,yParity:s.yParity,r:s.r,s:s.s}),signature:r,...i&&i!=="0x"?{data:i,to:o}:{}}}function Wf(e){try{return gi(e),!0}catch{return!1}}let Zf=class extends F{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function Jf(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Kf(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?we(e.nonce):void 0,storageProof:e.storageProof?Jf(e.storageProof):void 0}}async function Yf(e,{address:t,blockNumber:n,blockTag:r,storageKeys:s}){const o=r??"latest",i=n!==void 0?S(n):void 0,a=await e.request({method:"eth_getProof",params:[t,s,i||o]});return Kf(a)}async function Xf(e,{address:t,blockNumber:n,blockTag:r="latest",slot:s}){const o=n!==void 0?S(n):void 0;return await e.request({method:"eth_getStorageAt",params:[t,s,o||r]})}async function Lr(e,{blockHash:t,blockNumber:n,blockTag:r,hash:s,index:o,sender:i,nonce:a}){var l,b,p;const c=r||"latest",u=n!==void 0?S(n):void 0;let f=null;if(s?f=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?f=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,S(o)]},{dedupe:!0}):typeof o=="number"?f=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,S(o)]},{dedupe:!!u}):i&&typeof a=="number"&&(f=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[i,S(a)]},{dedupe:!0})),!f)throw new ao({blockHash:t,blockNumber:n,blockTag:c,hash:s,index:o});return(((p=(b=(l=e.chain)==null?void 0:l.formatters)==null?void 0:b.transaction)==null?void 0:p.format)||gr)(f,"getTransaction")}async function Qf(e,{hash:t,transactionReceipt:n}){const[r,s]=await Promise.all([B(e,Dt,"getBlockNumber")({}),t?B(e,Lr,"getTransaction")({hash:t}):void 0]),o=(n==null?void 0:n.blockNumber)||(s==null?void 0:s.blockNumber);return o?r-o+1n:0n}async function Jt(e,{hash:t}){var s,o,i;const n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new co({hash:t});return(((i=(o=(s=e.chain)==null?void 0:s.formatters)==null?void 0:o.transactionReceipt)==null?void 0:i.format)||Wo)(n,"getTransactionReceipt")}async function ed(e,t){var v;const{account:n,authorizationList:r,allowFailure:s=!0,blockNumber:o,blockOverrides:i,blockTag:a,stateOverride:c}=t,u=t.contracts,{batchSize:f=t.batchSize??1024,deployless:d=t.deployless??!1}=typeof((v=e.batch)==null?void 0:v.multicall)=="object"?e.batch.multicall:{},l=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return rt({blockNumber:o,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),b=[[]];let p=0,h=0;for(let y=0;y<u.length;y++){const{abi:x,address:E,args:k,functionName:P}=u[y];try{const $=ue({abi:x,args:k,functionName:P});h+=($.length-2)/2,f>0&&h>f&&b[p].length>0&&(p++,h=($.length-2)/2,b[p]=[]),b[p]=[...b[p],{allowFailure:!0,callData:$,target:E}]}catch($){const A=Ye($,{abi:x,address:E,args:k,docsPath:"/docs/contract/multicall",functionName:P,sender:n});if(!s)throw A;b[p]=[...b[p],{allowFailure:!0,callData:"0x",target:E}]}}const w=await Promise.allSettled(b.map(y=>B(e,ae,"readContract")({...l===null?{code:Ir}:{address:l},abi:Kt,account:n,args:[y],authorizationList:r,blockNumber:o,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),m=[];for(let y=0;y<w.length;y++){const x=w[y];if(x.status==="rejected"){if(!s)throw x.reason;for(let k=0;k<b[y].length;k++)m.push({status:"failure",error:x.reason,result:void 0});continue}const E=x.value;for(let k=0;k<E.length;k++){const{returnData:P,success:$}=E[k],{callData:A}=b[y][k],{abi:O,address:N,functionName:R,args:C}=u[m.length];try{if(A==="0x")throw new kt;if(!$)throw new fn({data:P});const j=je({abi:O,args:C,data:P,functionName:R});m.push(s?{result:j,status:"success"}:j)}catch(j){const T=Ye(j,{abi:O,address:N,args:C,docsPath:"/docs/contract/multicall",functionName:R});if(!s)throw T;m.push({error:T,result:void 0,status:"failure"})}}}if(m.length!==u.length)throw new g("multicall results mismatch");return m}async function sr(e,t){const{blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",blocks:s,returnFullTransactions:o,traceTransfers:i,validation:a}=t;try{const c=[];for(const l of s){const b=l.blockOverrides?Uo(l.blockOverrides):void 0,p=l.calls.map(w=>{const m=w,v=m.account?Z(m.account):void 0,y=m.abi?ue(m):m.data,x={...m,account:v,data:m.dataSuffix?se([y||"0x",m.dataSuffix]):y,from:m.from??(v==null?void 0:v.address)};return nt(x),Mt(x)}),h=l.stateOverrides?mr(l.stateOverrides):void 0;c.push({blockOverrides:b,calls:p,stateOverrides:h})}const f=(typeof n=="bigint"?S(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:o,traceTransfers:i,validation:a},f]})).map((l,b)=>({...wo(l),calls:l.calls.map((p,h)=>{var O,N;const{abi:w,args:m,functionName:v,to:y}=s[b].calls[h],x=((O=p.error)==null?void 0:O.data)??p.returnData,E=BigInt(p.gasUsed),k=(N=p.logs)==null?void 0:N.map(R=>ve(R)),P=p.status==="0x1"?"success":"failure",$=w&&P==="success"&&x!=="0x"?je({abi:w,data:x,functionName:v}):null,A=(()=>{var C;if(P==="success")return;let R;if(((C=p.error)==null?void 0:C.data)==="0x"?R=new kt:p.error&&(R=new fn(p.error)),!!R)return Ye(R,{abi:w??[],address:y??"0x",args:m,functionName:v??"<unknown>"})})();return{data:x,gasUsed:E,logs:k,status:P,...P==="success"?{result:$}:{error:A}}})}))}catch(c){const u=c,f=dn(u,{});throw f instanceof zt?u:f}}function or(e){let t=!0,n="",r=0,s="",o=!1;for(let i=0;i<e.length;i++){const a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&r++,a===")"&&r--,!!t){if(r===0){if(a===" "&&["event","function","error",""].includes(s))s="";else if(s+=a,a===")"){o=!0;break}continue}if(a===" "){e[i-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=a,n+=a}}if(!o)throw new F("Unable to normalize signature.");return s}function ir(e,t){const n=typeof e,r=t.type;switch(r){case"address":return tr(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((s,o)=>ir(Object.values(e)[o],s)):/^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(s=>ir(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function wi(e,t,n){for(const r in e){const s=e[r],o=t[r];if(s.type==="tuple"&&o.type==="tuple"&&"components"in s&&"components"in o)return wi(s.components,o.components,n[r]);const i=[s.type,o.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?tr(n[r],{strict:!1}):i.includes("address")&&i.includes("bytes")?tr(n[r],{strict:!1}):!1)return i}}function vi(e,t={}){const{prepare:n=!0}=t,r=Array.isArray(e)||typeof e=="string"?Vr(e):e;return{...r,...n?{hash:He(r)}:{}}}function yn(e,t,n){const{args:r=[],prepare:s=!0}=n??{},o=k0(t,{strict:!1}),i=e.filter(u=>o?u.type==="function"||u.type==="error"?xi(u)===de(t,0,4):u.type==="event"?He(u)===t:!1:"name"in u&&u.name===t);if(i.length===0)throw new nn({name:t});if(i.length===1)return{...i[0],...s?{hash:He(i[0])}:{}};let a;for(const u of i){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...s?{hash:He(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((d,l)=>{const b="inputs"in u&&u.inputs[l];return b?ir(d,b):!1})){if(a&&"inputs"in a&&a.inputs){const d=wi(u.inputs,a.inputs,r);if(d)throw new nd({abiItem:u,type:d[0]},{abiItem:a,type:d[1]})}a=u}}const c=(()=>{if(a)return a;const[u,...f]=i;return{...u,overloads:f}})();if(!c)throw new nn({name:t});return{...c,...s?{hash:He(c)}:{}}}function xi(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,r]=e;return yn(n,r)}return e[0]})();return de(He(t),0,4)}function td(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,s]=e;return yn(r,s)}return e[0]})(),n=typeof t=="string"?t:Yt(t);return or(n)}function He(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,r]=e;return yn(n,r)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:fi(Ar(td(t)))}class nd extends F{constructor(t,n){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${or(Yt(t.abiItem))}\`, and`,`\`${n.type}\` in \`${or(Yt(n.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"})}}class nn extends F{constructor({name:t,data:n,type:r="item"}){const s=t?` with name "${t}"`:n?` with data "${n}"`:"";super(`ABI ${r}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function rd(...e){var o;const[t,n]=(()=>{if(Array.isArray(e[0])){const[i,a]=e;return[od(i),a]}return e})(),{bytecode:r,args:s}=n;return oe(r,(o=t.inputs)!=null&&o.length&&(s!=null&&s.length)?Or(t.inputs,s):"0x")}function sd(e){return vi(e)}function od(e){const t=e.find(n=>n.type==="constructor");if(!t)throw new nn({name:"constructor"});return t}function id(...e){const[t,n=[]]=(()=>{if(Array.isArray(e[0])){const[u,f,d]=e;return[Ps(u,f,{args:d}),d]}const[a,c]=e;return[a,c]})(),{overloads:r}=t,s=r?Ps([t,...r],t.name,{args:n}):t,o=ad(s),i=n.length>0?Or(s.inputs,n):void 0;return i?oe(o,i):o}function Ue(e,t={}){return vi(e,t)}function Ps(e,t,n){const r=yn(e,t,n);if(r.type!=="function")throw new nn({name:t,type:"function"});return r}function ad(e){return xi(e)}const cd="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",fe="0x0000000000000000000000000000000000000000",ud="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function fd(e,t){const{blockNumber:n,blockTag:r,calls:s,stateOverrides:o,traceAssetChanges:i,traceTransfers:a,validation:c}=t,u=t.account?Z(t.account):void 0;if(i&&!u)throw new g("`account` is required when `traceAssetChanges` is true");const f=u?rd(sd("constructor(bytes, bytes)"),{bytecode:Go,args:[ud,id(Ue("function getBalance(address)"),[u.address])]}):void 0,d=i?await Promise.all(t.calls.map(async I=>{if(!I.data&&!I.abi)return;const{accessList:z}=await ei(e,{account:u.address,...I,data:I.abi?ue(I):I.data});return z.map(({address:G,storageKeys:X})=>X.length>0?G:null)})).then(I=>I.flat().filter(Boolean)):[],l=await sr(e,{blockNumber:n,blockTag:r,blocks:[...i?[{calls:[{data:f}],stateOverrides:o},{calls:d.map((I,z)=>({abi:[Ue("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:I,from:fe,nonce:z})),stateOverrides:[{address:fe,nonce:0}]}]:[],{calls:[...s,{}].map(I=>({...I,from:u==null?void 0:u.address})),stateOverrides:o},...i?[{calls:[{data:f}]},{calls:d.map((I,z)=>({abi:[Ue("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:I,from:fe,nonce:z})),stateOverrides:[{address:fe,nonce:0}]},{calls:d.map((I,z)=>({to:I,abi:[Ue("function decimals() returns (uint256)")],functionName:"decimals",from:fe,nonce:z})),stateOverrides:[{address:fe,nonce:0}]},{calls:d.map((I,z)=>({to:I,abi:[Ue("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:fe,nonce:z})),stateOverrides:[{address:fe,nonce:0}]},{calls:d.map((I,z)=>({to:I,abi:[Ue("function symbol() returns (string)")],functionName:"symbol",from:fe,nonce:z})),stateOverrides:[{address:fe,nonce:0}]}]:[]],traceTransfers:a,validation:c}),b=i?l[2]:l[0],[p,h,,w,m,v,y,x]=i?l:[],{calls:E,...k}=b,P=E.slice(0,-1)??[],$=(p==null?void 0:p.calls)??[],A=(h==null?void 0:h.calls)??[],O=[...$,...A].map(I=>I.status==="success"?le(I.data):null),N=(w==null?void 0:w.calls)??[],R=(m==null?void 0:m.calls)??[],C=[...N,...R].map(I=>I.status==="success"?le(I.data):null),j=((v==null?void 0:v.calls)??[]).map(I=>I.status==="success"?I.result:null),T=((x==null?void 0:x.calls)??[]).map(I=>I.status==="success"?I.result:null),ee=((y==null?void 0:y.calls)??[]).map(I=>I.status==="success"?I.result:null),Y=[];for(const[I,z]of C.entries()){const G=O[I];if(typeof z!="bigint"||typeof G!="bigint")continue;const X=j[I-1],Le=T[I-1],st=ee[I-1],Ht=I===0?{address:cd,decimals:18,symbol:"ETH"}:{address:d[I-1],decimals:st||X?Number(X??1):void 0,symbol:Le??void 0};Y.some(Vt=>Vt.token.address===Ht.address)||Y.push({token:Ht,value:{pre:G,post:z,diff:z-G}})}return{assetChanges:Y,block:k,results:P}}const Pi="0x6492649264926492649264926492649264926492649264926492649264926492";function dd(e){if(de(e,-32)!==Pi)throw new pd(e)}function ld(e){const{data:t,signature:n,to:r}=e;return oe(Or(bi("address, bytes, bytes"),[r,t,n]),Pi)}function bd(e){try{return dd(e),!0}catch{return!1}}class pd extends F{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function hd({r:e,s:t,to:n="hex",v:r,yParity:s}){const o=(()=>{if(s===0||s===1)return s;if(r&&(r===27n||r===28n||r>=35n))return r%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new Ii.Signature(le(e),le(t)).toCompactHex()}${o===0?"1b":"1c"}`;return n==="hex"?i:be(i)}async function gn(e,t){var c,u,f,d;const{address:n,chain:r=e.chain,hash:s,erc6492VerifierAddress:o=t.universalSignatureVerifierAddress??((u=(c=r==null?void 0:r.contracts)==null?void 0:c.erc6492Verifier)==null?void 0:u.address),multicallAddress:i=t.multicallAddress??((d=(f=r==null?void 0:r.contracts)==null?void 0:f.multicall3)==null?void 0:d.address)}=t;if(r!=null&&r.verifyHash)return await r.verifyHash(e,t);const a=(()=>{const l=t.signature;return re(l)?l:typeof l=="object"&&"r"in l&&"s"in l?hd(l):U(l)})();try{return Wf(a)?await md(e,{...t,multicallAddress:i,signature:a}):await yd(e,{...t,verifierAddress:o,signature:a})}catch(l){try{if(jt(Ks(n),await lo({hash:s,signature:a})))return!0}catch{}if(l instanceof ze)return!1;throw l}}async function md(e,t){var w;const{address:n,blockNumber:r,blockTag:s,hash:o,multicallAddress:i}=t,{authorization:a,data:c,signature:u,to:f}=qf(t.signature);if(await er(e,{address:n,blockNumber:r,blockTag:s})===tt(["0xef0100",a.address]))return await gd(e,{address:n,blockNumber:r,blockTag:s,hash:o,signature:u});const l={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:S(a.r,{size:32}),s:S(a.s,{size:32}),yParity:a.yParity};if(!await Su({address:n,authorization:l}))throw new ze;const p=await B(e,ae,"readContract")({...i?{address:i}:{code:Ir},authorizationList:[l],abi:Kt,blockNumber:r,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:f??n,callData:c}]:[],{allowFailure:!0,target:n,callData:ue({abi:Bs,functionName:"isValidSignature",args:[o,u]})}]]}),h=(w=p[p.length-1])==null?void 0:w.returnData;if(h!=null&&h.startsWith("0x1626ba7e"))return!0;throw new ze}async function yd(e,t){const{address:n,factory:r,factoryData:s,hash:o,signature:i,verifierAddress:a,...c}=t,u=await(async()=>!r&&!s||bd(i)?i:ld({data:s,signature:i,to:r}))(),f=a?{to:a,data:ue({abi:Dr,functionName:"isValidSig",args:[n,o,u]}),...c}:{data:Br({abi:Dr,args:[n,o,u],bytecode:z0}),...c},{data:d}=await B(e,Ut,"call")(f).catch(l=>{throw l instanceof uo?new ze:l});if(Ra(d??"0x0"))return!0;throw new ze}async function gd(e,t){const{address:n,blockNumber:r,blockTag:s,hash:o,signature:i}=t;if((await B(e,ae,"readContract")({address:n,abi:Bs,args:[o,i],blockNumber:r,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof fo?new ze:c})).startsWith("0x1626ba7e"))return!0;throw new ze}class ze extends Error{}async function wd(e,{address:t,message:n,factory:r,factoryData:s,signature:o,...i}){const a=oi(n);return B(e,gn,"verifyHash")({address:t,factory:r,factoryData:s,hash:a,signature:o,...i})}async function vd(e,t){const{address:n,factory:r,factoryData:s,signature:o,message:i,primaryType:a,types:c,domain:u,...f}=t,d=Yu({message:i,primaryType:a,types:c,domain:u});return B(e,gn,"verifyHash")({address:n,factory:r,factoryData:s,hash:d,signature:o,...f})}function $i(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:s,poll:o,pollingInterval:i=e.pollingInterval}){const a=typeof o<"u"?o:!(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"));let c;return a?(()=>{const d=L(["watchBlockNumber",e.uid,t,n,i]);return Be(d,{onBlockNumber:r,onError:s},l=>Gt(async()=>{var b;try{const p=await B(e,Dt,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(p===c)return;if(p-c>1&&n)for(let h=c+1n;h<p;h++)l.onBlockNumber(h,c),c=h}(c===void 0||p>c)&&(l.onBlockNumber(p,c),c=p)}catch(p){(b=l.onError)==null||b.call(l,p)}},{emitOnBegin:t,interval:i}))})():(()=>{const d=L(["watchBlockNumber",e.uid,t,n]);return Be(d,{onBlockNumber:r,onError:s},l=>{let b=!0,p=()=>b=!1;return(async()=>{try{const h=(()=>{if(e.transport.type==="fallback"){const m=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return m?m.value:e.transport}return e.transport})(),{unsubscribe:w}=await h.subscribe({params:["newHeads"],onData(m){var y;if(!b)return;const v=le((y=m.result)==null?void 0:y.number);l.onBlockNumber(v,c),c=v},onError(m){var v;(v=l.onError)==null||v.call(l,m)}});p=w,b||p()}catch(h){s==null||s(h)}})(),()=>p()})})()}async function xd(e,t){const{checkReplacement:n=!0,confirmations:r=1,hash:s,onReplaced:o,retryCount:i=6,retryDelay:a=({count:E})=>~~(1<<E)*200,timeout:c=18e4}=t,u=L(["waitForTransactionReceipt",e.uid,s]),f=(()=>{var E;return t.pollingInterval?t.pollingInterval:(E=e.chain)!=null&&E.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval})();let d,l,b,p=!1,h,w;const{promise:m,resolve:v,reject:y}=Ho(),x=c?setTimeout(()=>{w==null||w(),h==null||h(),y(new Ec({hash:s}))},c):void 0;return h=Be(u,{onReplaced:o,resolve:v,reject:y},async E=>{if(b=await B(e,Jt,"getTransactionReceipt")({hash:s}).catch(()=>{}),b&&r<=1){clearTimeout(x),E.resolve(b),h==null||h();return}w=B(e,$i,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(k){const P=A=>{clearTimeout(x),w==null||w(),A(),h==null||h()};let $=k;if(!p)try{if(b){if(r>1&&(!b.blockNumber||$-b.blockNumber+1n<r))return;P(()=>E.resolve(b));return}if(n&&!d&&(p=!0,await Yn(async()=>{d=await B(e,Lr,"getTransaction")({hash:s}),d.blockNumber&&($=d.blockNumber)},{delay:a,retryCount:i}),p=!1),b=await B(e,Jt,"getTransactionReceipt")({hash:s}),r>1&&(!b.blockNumber||$-b.blockNumber+1n<r))return;P(()=>E.resolve(b))}catch(A){if(A instanceof ao||A instanceof co){if(!d){p=!1;return}try{l=d,p=!0;const O=await Yn(()=>B(e,te,"getBlock")({blockNumber:$,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:C})=>C instanceof yo});p=!1;const N=O.transactions.find(({from:C,nonce:j})=>C===l.from&&j===l.nonce);if(!N||(b=await B(e,Jt,"getTransactionReceipt")({hash:N.hash}),r>1&&(!b.blockNumber||$-b.blockNumber+1n<r)))return;let R="replaced";N.to===l.to&&N.value===l.value&&N.input===l.input?R="repriced":N.from===N.to&&N.value===0n&&(R="cancelled"),P(()=>{var C;(C=E.onReplaced)==null||C.call(E,{reason:R,replacedTransaction:l,transaction:N,transactionReceipt:b}),E.resolve(b)})}catch(O){P(()=>E.reject(O))}}else P(()=>E.reject(A))}}})}),m}function Pd(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:s,onError:o,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){const u=typeof a<"u"?a:!(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")),f=i??!1;let d;return u?(()=>{const p=L(["watchBlocks",e.uid,t,n,r,f,c]);return Be(p,{onBlock:s,onError:o},h=>Gt(async()=>{var w;try{const m=await B(e,te,"getBlock")({blockTag:t,includeTransactions:f});if(m.number!==null&&(d==null?void 0:d.number)!=null){if(m.number===d.number)return;if(m.number-d.number>1&&n)for(let v=(d==null?void 0:d.number)+1n;v<m.number;v++){const y=await B(e,te,"getBlock")({blockNumber:v,includeTransactions:f});h.onBlock(y,d),d=y}}((d==null?void 0:d.number)==null||t==="pending"&&(m==null?void 0:m.number)==null||m.number!==null&&m.number>d.number)&&(h.onBlock(m,d),d=m)}catch(m){(w=h.onError)==null||w.call(h,m)}},{emitOnBegin:r,interval:c}))})():(()=>{let p=!0,h=!0,w=()=>p=!1;return(async()=>{try{r&&B(e,te,"getBlock")({blockTag:t,includeTransactions:f}).then(y=>{p&&h&&(s(y,void 0),h=!1)}).catch(o);const m=(()=>{if(e.transport.type==="fallback"){const y=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:v}=await m.subscribe({params:["newHeads"],async onData(y){var E;if(!p)return;const x=await B(e,te,"getBlock")({blockNumber:(E=y.result)==null?void 0:E.number,includeTransactions:f}).catch(()=>{});p&&(s(x,d),h=!1,d=x)},onError(y){o==null||o(y)}});w=v,p||w()}catch(m){o==null||o(m)}})(),()=>w()})()}function $d(e,{address:t,args:n,batch:r=!0,event:s,events:o,fromBlock:i,onError:a,onLogs:c,poll:u,pollingInterval:f=e.pollingInterval,strict:d}){const l=typeof u<"u"?u:typeof i=="bigint"?!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")),b=d??!1;return l?(()=>{const w=L(["watchEvent",t,n,r,e.uid,s,f,i]);return Be(w,{onLogs:c,onError:a},m=>{let v;i!==void 0&&(v=i-1n);let y,x=!1;const E=Gt(async()=>{var k;if(!x){try{y=await B(e,ti,"createEventFilter")({address:t,args:n,event:s,events:o,strict:b,fromBlock:i})}catch{}x=!0;return}try{let P;if(y)P=await B(e,pn,"getFilterChanges")({filter:y});else{const $=await B(e,Dt,"getBlockNumber")({});v&&v!==$?P=await B(e,Er,"getLogs")({address:t,args:n,event:s,events:o,fromBlock:v+1n,toBlock:$}):P=[],v=$}if(P.length===0)return;if(r)m.onLogs(P);else for(const $ of P)m.onLogs([$])}catch(P){y&&P instanceof Ie&&(x=!1),(k=m.onError)==null||k.call(m,P)}},{emitOnBegin:!0,interval:f});return async()=>{y&&await B(e,hn,"uninstallFilter")({filter:y}),E()}})})():(()=>{let w=!0,m=()=>w=!1;return(async()=>{try{const v=(()=>{if(e.transport.type==="fallback"){const k=e.transport.transports.find(P=>P.config.type==="webSocket"||P.config.type==="ipc");return k?k.value:e.transport}return e.transport})(),y=o??(s?[s]:void 0);let x=[];y&&(x=[y.flatMap(P=>Nt({abi:[P],eventName:P.name,args:n}))],s&&(x=x[0]));const{unsubscribe:E}=await v.subscribe({params:["logs",{address:t,topics:x}],onData(k){var $;if(!w)return;const P=k.result;try{const{eventName:A,args:O}=tn({abi:y??[],data:P.data,topics:P.topics,strict:b}),N=ve(P,{args:O,eventName:A});c([N])}catch(A){let O,N;if(A instanceof Xt||A instanceof cr){if(d)return;O=A.abiItem.name,N=($=A.abiItem.inputs)==null?void 0:$.some(C=>!("name"in C&&C.name))}const R=ve(P,{args:N?[]:{},eventName:O});c([R])}},onError(k){a==null||a(k)}});m=E,w||m()}catch(v){a==null||a(v)}})(),()=>m()})()}function Ed(e,{batch:t=!0,onError:n,onTransactions:r,poll:s,pollingInterval:o=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const u=L(["watchPendingTransactions",e.uid,t,o]);return Be(u,{onTransactions:r,onError:n},f=>{let d;const l=Gt(async()=>{var b;try{if(!d)try{d=await B(e,ni,"createPendingTransactionFilter")({});return}catch(h){throw l(),h}const p=await B(e,pn,"getFilterChanges")({filter:d});if(p.length===0)return;if(t)f.onTransactions(p);else for(const h of p)f.onTransactions([h])}catch(p){(b=f.onError)==null||b.call(f,p)}},{emitOnBegin:!0,interval:o});return async()=>{d&&await B(e,hn,"uninstallFilter")({filter:d}),l()}})})():(()=>{let u=!0,f=()=>u=!1;return(async()=>{try{const{unsubscribe:d}=await e.transport.subscribe({params:["newPendingTransactions"],onData(l){if(!u)return;const b=l.result;r([b])},onError(l){n==null||n(l)}});f=d,u||f()}catch(d){n==null||n(d)}})(),()=>f()})()}function Ad(e){var d,l,b;const{scheme:t,statement:n,...r}=((d=e.match(Id))==null?void 0:d.groups)??{},{chainId:s,expirationTime:o,issuedAt:i,notBefore:a,requestId:c,...u}=((l=e.match(Bd))==null?void 0:l.groups)??{},f=(b=e.split("Resources:")[1])==null?void 0:b.split(`
|
|
43
|
-
- `).slice(1);return{...r,...u,...s?{chainId:Number(s)}:{},...o?{expirationTime:new Date(o)}:{},...i?{issuedAt:new Date(i)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...f?{resources:f}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}const Id=/^(?:(?<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)?/,Bd=/(?: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>.+))?/;function Td(e){const{address:t,domain:n,message:r,nonce:s,scheme:o,time:i=new Date}=e;if(n&&r.domain!==n||s&&r.nonce!==s||o&&r.scheme!==o||r.expirationTime&&i>=r.expirationTime||r.notBefore&&i<r.notBefore)return!1;try{if(!r.address||!Q(r.address,{strict:!1})||t&&!jt(r.address,t))return!1}catch{return!1}return!0}async function Sd(e,t){const{address:n,domain:r,message:s,nonce:o,scheme:i,signature:a,time:c=new Date,...u}=t,f=Ad(s);if(!f.address||!Td({address:n,domain:r,message:f,nonce:o,scheme:i,time:c}))return!1;const l=oi(s);return gn(e,{address:f.address,hash:l,signature:a,...u})}async function kd(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){var a,c,u;const s=await e.request({method:"eth_sendRawTransactionSync",params:r?[t,S(r)]:[t]},{retryCount:0}),i=(((u=(c=(a=e.chain)==null?void 0:a.formatters)==null?void 0:c.transactionReceipt)==null?void 0:u.format)||Wo)(s);if(i.status==="reverted"&&n)throw new $c({receipt:i});return i}function Fd(e){return{call:t=>Ut(e,t),createAccessList:t=>ei(e,t),createBlockFilter:()=>wu(e),createContractEventFilter:t=>no(e,t),createEventFilter:t=>ti(e,t),createPendingTransactionFilter:()=>ni(e),estimateContractGas:t=>r0(e,t),estimateGas:t=>Pr(e,t),getBalance:t=>vu(e,t),getBlobBaseFee:()=>xu(e),getBlock:t=>te(e,t),getBlockNumber:t=>Dt(e,t),getBlockTransactionCount:t=>Pu(e,t),getBytecode:t=>er(e,t),getChainId:()=>xr(e),getCode:t=>er(e,t),getContractEvents:t=>To(e,t),getEip712Domain:t=>Eu(e,t),getEnsAddress:t=>ru(e,t),getEnsAvatar:t=>mu(e,t),getEnsName:t=>yu(e,t),getEnsResolver:t=>gu(e,t),getEnsText:t=>Qo(e,t),getFeeHistory:t=>Bu(e,t),estimateFeesPerGas:t=>qc(e,t),getFilterChanges:t=>pn(e,t),getFilterLogs:t=>Tu(e,t),getGasPrice:()=>wr(e),getLogs:t=>Er(e,t),getProof:t=>Yf(e,t),estimateMaxPriorityFeePerGas:t=>Vc(e,t),fillTransaction:t=>Io(e,t),getStorageAt:t=>Xf(e,t),getTransaction:t=>Lr(e,t),getTransactionConfirmations:t=>Qf(e,t),getTransactionCount:t=>xo(e,t),getTransactionReceipt:t=>Jt(e,t),multicall:t=>ed(e,t),prepareTransactionRequest:t=>Bo(e,t),readContract:t=>ae(e,t),sendRawTransaction:t=>J0(e,t),sendRawTransactionSync:t=>kd(e,t),simulate:t=>sr(e,t),simulateBlocks:t=>sr(e,t),simulateCalls:t=>fd(e,t),simulateContract:t=>G0(e,t),verifyHash:t=>gn(e,t),verifyMessage:t=>wd(e,t),verifySiweMessage:t=>Sd(e,t),verifyTypedData:t=>vd(e,t),uninstallFilter:t=>hn(e,t),waitForTransactionReceipt:t=>xd(e,t),watchBlocks:t=>Pd(e,t),watchBlockNumber:t=>$i(e,t),watchContractEvent:t=>Z0(e,t),watchEvent:t=>$d(e,t),watchPendingTransactions:t=>Ed(e,t)}}function Yd(e){const{key:t="public",name:n="Public Client"}=e;return Y0({...e,key:t,name:n,type:"publicClient"}).extend(Fd)}function Nd({key:e,methods:t,name:n,request:r,retryCount:s=3,retryDelay:o=150,timeout:i,type:a},c){const u=Zo();return{config:{key:e,methods:t,name:n,request:r,retryCount:s,retryDelay:o,timeout:i,type:a},request:Fu(r,{methods:t,retryCount:s,retryDelay:o,uid:u}),value:c}}class Rd extends g{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Xd(e,t={}){const{batch:n,fetchFn:r,fetchOptions:s,key:o="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:f,raw:d}=t;return({chain:l,retryCount:b,timeout:p})=>{const{batchSize:h=1e3,wait:w=0}=typeof n=="object"?n:{},m=t.retryCount??b,v=p??t.timeout??1e4,y=e||(l==null?void 0:l.rpcUrls.default.http[0]);if(!y)throw new Rd;const x=Gu(y,{fetchFn:r,fetchOptions:s,onRequest:c,onResponse:u,timeout:v});return Nd({key:o,methods:i,name:a,async request({method:E,params:k}){const P={method:E,params:k},{schedule:$}=Vo({id:y,wait:w,shouldSplitBatch(R){return R.length>h},fn:R=>x.request({body:R}),sort:(R,C)=>R.id-C.id}),A=async R=>n?$(R):[await x.request({body:R})],[{error:O,result:N}]=await A(P);if(d)return{error:O,result:N};if(O)throw new hr({body:P,error:O,url:y});return N},retryCount:m,retryDelay:f,timeout:v,type:"http"},{fetchOptions:s,url:y})}}export{ha as AbiConstructorNotFoundError,Wr as AbiConstructorParamsNotFoundError,Ds as AbiDecodingDataSizeTooSmallError,kt as AbiDecodingZeroDataError,ma as AbiEncodingArrayLengthMismatchError,ya as AbiEncodingBytesSizeMismatchError,ga as AbiEncodingLengthMismatchError,wa as AbiErrorInputsNotFoundError,Zr as AbiErrorNotFoundError,_s as AbiErrorSignatureNotFoundError,Jr as AbiEventNotFoundError,va as AbiEventSignatureEmptyTopicsError,xa as AbiEventSignatureNotFoundError,Ze as AbiFunctionNotFoundError,Hs as AbiFunctionOutputsNotFoundError,Pa as AbiFunctionSignatureNotFoundError,gc as AccountStateConflictError,Bt as AtomicReadyWalletRejectedUpgradeError,Tt as AtomicityNotSupportedError,g as BaseError,mo as BaseFeeScalarError,yo as BlockNotFoundError,It as BundleTooLargeError,Ea as BytesSizeMismatchError,uo as CallExecutionError,vt as ChainDisconnectedError,Jn as ChainDoesNotSupportContract,Qi as CircularReferenceError,Do as ClientChainNotConfiguredError,fo as ContractFunctionExecutionError,Ln as ContractFunctionRevertedError,Ic as ContractFunctionZeroDataError,Bc as CounterfactualDeploymentFailedError,Xt as DecodeLogDataMismatch,cr as DecodeLogTopicsMismatch,Et as DuplicateIdError,yr as Eip1559FeesNotSupportedError,it as EnsAvatarInvalidNftUriError,ou as EnsAvatarUnsupportedNamespaceError,kr as EnsAvatarUriResolutionError,Mc as EstimateGasExecutionError,De as ExecutionRevertedError,Qt as FeeCapTooHighError,Un as FeeCapTooLowError,Ta as FilterTypeNotSupportedError,Ne as HttpRequestError,Hn as InsufficientFundsError,ur as IntegerOutOfRangeError,Re as InternalRpcError,Vn as IntrinsicGasTooHighError,qn as IntrinsicGasTooLowError,Ia as InvalidAbiDecodingTypeError,Aa as InvalidAbiEncodingTypeError,Di as InvalidAbiItemError,Vi as InvalidAbiParametersError,Ki as InvalidAbiTypeParameterError,Ae as InvalidAddressError,Vs as InvalidArrayError,ka as InvalidBytesBooleanError,Ba as InvalidDefinitionTypeError,Vu as InvalidDomainError,Ji as InvalidFunctionModifierError,Fa as InvalidHexBooleanError,Ie as InvalidInputRpcError,Zi as InvalidModifierError,qi as InvalidParameterError,lt as InvalidParamsRpcError,ea as InvalidParenthesisError,qu as InvalidPrimaryTypeError,ft as InvalidRequestRpcError,xc as InvalidSerializableTransactionError,Xe as InvalidSignatureError,Xi as InvalidStructSignatureError,Wu as InvalidStructTypeError,mt as JsonRpcVersionUnsupportedError,Ke as LimitExceededRpcError,_c as MaxFeePerGasTooLowError,dt as MethodNotFoundRpcError,Se as MethodNotSupportedRpcError,_n as NonceMaxValueError,Gn as NonceTooHighError,Dn as NonceTooLowError,ut as ParseRpcError,wt as ProviderDisconnectedError,K as ProviderRpcError,fn as RawContractError,bt as ResourceNotFoundRpcError,pt as ResourceUnavailableRpcError,q as RpcError,hr as RpcRequestError,Ws as SizeExceedsPaddingSizeError,Na as SizeOverflowError,qs as SliceOffsetOutOfBoundsError,Wi as SolidityProtectedKeywordError,wc as StateAssignmentConflictError,xt as SwitchChainError,ss as TimeoutError,en as TipAboveFeeCapError,Pc as TransactionExecutionError,ao as TransactionNotFoundError,co as TransactionReceiptNotFoundError,ht as TransactionRejectedRpcError,Wn as TransactionTypeNotSupportedError,yt as UnauthorizedProviderError,At as UnknownBundleIdError,zt as UnknownNodeError,Sc as UnknownRpcError,Yi as UnknownSignatureError,_i as UnknownTypeError,$t as UnsupportedChainIdError,Pt as UnsupportedNonOptionalCapabilityError,gt as UnsupportedProviderMethodError,Rd as UrlRequiredError,qe as UserRejectedRequestError,Ec as WaitForTransactionReceiptTimeoutError,nt as assertRequest,Po as blobsToCommitments,$o as blobsToProofs,Ma as boolToBytes,Zs as boolToHex,ic as bytesToBigInt,ac as bytesToBool,U as bytesToHex,me as bytesToNumber,cc as bytesToString,si as ccipFetch,si as ccipRequest,cn as checksumAddress,Zc as commitmentToVersionedHash,Jc as commitmentsToVersionedHashes,se as concat,Ha as concatBytes,tt as concatHex,Y0 as createClient,Yd as createPublicClient,Nd as createTransport,Rt as decodeAbiParameters,oo as decodeErrorResult,tn as decodeEventLog,X0 as decodeFunctionData,je as decodeFunctionResult,Jd as defineChain,Go as deploylessCallViaBytecodeBytecode,O0 as deploylessCallViaFactoryBytecode,Te as encodeAbiParameters,Br as encodeDeployData,hs as encodeErrorResult,Nt as encodeEventTopics,ue as encodeFunctionData,Q0 as encodeFunctionResult,tl as erc20Abi,Dr as erc6492SignatureValidatorAbi,z0 as erc6492SignatureValidatorByteCode,cd as ethAddress,mc as etherUnits,wo as formatBlock,pr as formatEther,H as formatGwei,ve as formatLog,gr as formatTransaction,Wo as formatTransactionReceipt,Mt as formatTransactionRequest,Es as formatUnits,Me as getAbiItem,Ks as getAddress,rt as getChainContractAddress,Ye as getContractError,on as getEventSelector,Da as getEventSignature,Ft as getFunctionSelector,Da as getFunctionSignature,e0 as getTransactionType,Ju as getTypesForEIP712Domain,yc as gweiUnits,Xu as hashDomain,oi as hashMessage,ii as hashStruct,Yu as hashTypedData,le as hexToBigInt,Ra as hexToBool,be as hexToBytes,we as hexToNumber,Xd as http,Q as isAddress,jt as isAddressEqual,re as isHex,D as keccak256,nu as labelhash,Dc as maxUint256,Kt as multicall3Abi,Qn as namehash,ja as numberToBytes,S as numberToHex,Mu as offchainLookup,ri as offchainLookupAbiItem,zu as offchainLookupSignature,Qe as pad,Sa as padBytes,$e as padHex,Ls as parseAbi,Vr as parseAbiItem,qr as parseAbiParameters,$r as parseEventLogs,tc as prepareEncodeFunctionData,_u as presignMessagePrefix,Fd as publicActions,lo as recoverAddress,Nc as recoverPublicKey,Lc as rpcTransactionType,hd as serializeSignature,Wc as sha256,hd as signatureToHex,M as size,Je as slice,Qs as sliceBytes,Va as sliceHex,Fe as stringToBytes,at as stringToHex,L as stringify,Qc as toBlobSidecars,Xc as toBlobs,et as toBytes,Js as toEventHash,on as toEventSelector,Da as toEventSignature,Js as toFunctionHash,Ft as toFunctionSelector,Da as toFunctionSignature,Ee as toHex,Hu as toPrefixedMessage,Rc as toRlp,go as transactionType,ke as trim,Dr as universalSignatureValidatorAbi,z0 as universalSignatureValidatorByteCode,Zu as validateTypedData,q0 as withCache,Yn as withRetry,Lu as withTimeout,fe as zeroAddress};
|