@harsh132/crew-ai 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/README.md +42 -0
- package/bin/crew.mjs +49 -0
- package/dist/assets/AccountNotFoundScreen-mrDHRRtZ-CNwZwgdA.js +1 -0
- package/dist/assets/AddFundsSelectionScreen-D76JlRA1-Dx0vImHm.js +24 -0
- package/dist/assets/Address-9aHCoAYt-Ca6TQh8z.js +17 -0
- package/dist/assets/AffirmativeConsentScreen-Cva7mCde-BpKZB2xK.js +6 -0
- package/dist/assets/AllowlistRejectionScreen-CJlenrjE-a-xZa8sX.js +1 -0
- package/dist/assets/ApiController-Dm_aZs5q.js +5 -0
- package/dist/assets/ArrowsRightLeftIcon-Cpc9sQGG.js +1 -0
- package/dist/assets/AuthenticateWithWalletScreen-C_zdZyDa-BP8lHEUi.js +1 -0
- package/dist/assets/AwaitingEvmToSolBridgingScreen-Ch3fh4A4-B1BDspph.js +1 -0
- package/dist/assets/AwaitingExternalEthereumTransferScreen-C9yfbYim-BN1YAQmx.js +1 -0
- package/dist/assets/AwaitingPasswordlessCodeScreen-DkpWm3cl-DB6yuR1m.js +103 -0
- package/dist/assets/AwaitingSolToEvmBridgingScreen-D-2h-r2V-DDx-QToS.js +1 -0
- package/dist/assets/BridgeNetworkSelectionView-DPw4O-jL-DLiXJ_7u.js +68 -0
- package/dist/assets/CaptchaScreen-DTWKq3oC-DStoNOyV.js +1 -0
- package/dist/assets/CheckCircleIcon-DTHMHp70.js +1 -0
- package/dist/assets/CheckCircleIcon-jhB7zp8X.js +1 -0
- package/dist/assets/Checkbox-D1EDeo41-B4iShCep.js +52 -0
- package/dist/assets/ChevronDownIcon-cvBdBC_R.js +1 -0
- package/dist/assets/Chip-CZKIKt9K-DGpuw9Pi.js +26 -0
- package/dist/assets/CoinbaseOnrampStatusScreen-yM8i1dq5-nwvQM-i-.js +16 -0
- package/dist/assets/ConnectEmailForm-CvtooZ8i-CVf2LNEF.js +3 -0
- package/dist/assets/ConnectLedgerScreen-COys-OjJ-CAsBrjgm.js +10 -0
- package/dist/assets/ConnectOnlyLandingScreen-C3myVsvL-CcdSW7Hi.js +1 -0
- package/dist/assets/ConnectOnlyStatusScreen-B-uqGIbz-Dre9H6bQ.js +1 -0
- package/dist/assets/ConnectOrCreateScreen-DD7cB8dy-CxI8fTvv.js +1 -0
- package/dist/assets/ConnectPhoneForm-BClRnco--CqcBfBZV.js +95 -0
- package/dist/assets/ConnectWalletView-D37hqEee-C1VppGRt.js +74 -0
- package/dist/assets/ConnectionStatusScreen-gJeQDnkD-Cv2Xchgs.js +7 -0
- package/dist/assets/ConnectorUtil-BS3XprR9.js +21 -0
- package/dist/assets/ConstantsUtil-DmLsRHAl.js +198 -0
- package/dist/assets/CopyToClipboard-i_OQSBJr-DWOP52LO.js +39 -0
- package/dist/assets/CopyableText-CQapvaMr-jG_q6v_s.js +28 -0
- package/dist/assets/CrossAppAuthScreen-DO1JO_KV-BpsT4WQL.js +1 -0
- package/dist/assets/CustomLandingScreenView-mjmDHGwr-CMorV_Ld.js +22 -0
- package/dist/assets/DelegatedActionsConsentScreen-BCgARvf7-CSJZU-up.js +1 -0
- package/dist/assets/DelegatedActionsRevokeScreen-BcwL74R--SCAuQ-OG.js +1 -0
- package/dist/assets/DepositAddressScreen-CDAmKcTm-C9_lhGWr.js +194 -0
- package/dist/assets/EmailInputForm-Cqo1mda8-C2y9xKLb.js +124 -0
- package/dist/assets/EmbeddedWalletConnectingScreen-CM-Kfv91-Dcp-OR3s.js +1 -0
- package/dist/assets/EmbeddedWalletCreatedScreen-Zscvn5zZ-B0V78kud.js +1 -0
- package/dist/assets/EmbeddedWalletKeyExportScreen-CP5NN-uM-D_2C420x.js +23 -0
- package/dist/assets/EmbeddedWalletOnAccountCreateScreen-Cc3IEizD-DfNQs_i3.js +1 -0
- package/dist/assets/EmbeddedWalletPasswordUpdateScreen-vT10Bm2m-o80m8UEV.js +1 -0
- package/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BuBFHC6o-BpBfi_F9.js +1 -0
- package/dist/assets/EnrollTotp-C2nNwn93-ByQ2HtBV.js +66 -0
- package/dist/assets/EnvelopeIcon-D-QmesNq.js +1 -0
- package/dist/assets/ErrorBanner-BcpGRt0h-CNeXqIfc.js +21 -0
- package/dist/assets/ErrorMessage-D8VaAP5m-BpdhHW8B.js +8 -0
- package/dist/assets/ErrorScreen-CudzJvQF-Cj9CtRmk.js +4 -0
- package/dist/assets/ExclamationCircleIcon-kT4sJAq0.js +1 -0
- package/dist/assets/ExclamationTriangleIcon-BhYaWuCF.js +1 -0
- package/dist/assets/FarcasterConnectStatusScreen-AJge1G0j-C8K2lc0Q.js +75 -0
- package/dist/assets/FarcasterSignerStatusScreen-Cjd-9_IN-LdgPyHZj.js +28 -0
- package/dist/assets/FiatOnrampScreen-D-ijGLq9-BEItduae.js +488 -0
- package/dist/assets/FingerPrintIcon-DtmKp0tV.js +1 -0
- package/dist/assets/FundSolWalletWithExternalSolanaWallet-Bu7nN8uS-BJ53Vh4u.js +1 -0
- package/dist/assets/FundWalletMethodHeader-CkyJhN9p-BHOErvVi.js +1 -0
- package/dist/assets/FundWithBankDepositScreen-CbY8cUX1-BeX7F-2Q.js +58 -0
- package/dist/assets/FundingEditAmountScreen-DTonST2j-CP-yThbV.js +1 -0
- package/dist/assets/FundingMethodSelectionScreen-CebSau1c-BBhI5kL1.js +1 -0
- package/dist/assets/GlobeAltIcon-CP8HEwal.js +1 -0
- package/dist/assets/GooglePay-B53WnudL-TJc_nnUf.js +1 -0
- package/dist/assets/HCaptchaWrapper-CUi9LJsp-DWJGs0TK.js +4 -0
- package/dist/assets/InAppBrowserLoginNotPossible-BsOHoSJE-D5QraLs1.js +1 -0
- package/dist/assets/InfoBanner-Cb3p1z12-scQ-B3pk.js +22 -0
- package/dist/assets/InjectedWalletIcon-DLcYOGDj-wWhqDdys.js +1 -0
- package/dist/assets/InstallWalletScreen-BTkuwBNN-De-8so3x.js +1 -0
- package/dist/assets/JsonTree-BHzNC-ic-D9-xP7_V.js +34 -0
- package/dist/assets/LabelXs-oqZNqbm_-nENvK4Q2.js +6 -0
- package/dist/assets/LandingScreen-DA4XFqxS-BxIJeNon.js +1 -0
- package/dist/assets/Layouts-BMRfo5hw-DR1mfDO_.js +77 -0
- package/dist/assets/Link-DTncR-24-tWodMdTl.js +40 -0
- package/dist/assets/LinkConflictScreen-CZztICqG-Dz0I_qBv.js +77 -0
- package/dist/assets/LinkEmailScreen-DGPysBCv-Cudkz47L.js +1 -0
- package/dist/assets/LinkPasskeyScreen-CxW7ka3t-Dx8PYJsw.js +117 -0
- package/dist/assets/LinkPhoneScreen-CJcpCkxo-BTbUhvx9.js +1 -0
- package/dist/assets/Loader-UAZqxsnw-CoDoKvWJ.js +62 -0
- package/dist/assets/LoadingSkeleton-BMsgO5PV-DSh5kFAG.js +17 -0
- package/dist/assets/LockClosedIcon-RucwJCR_.js +1 -0
- package/dist/assets/LoginFailedScreen-Dze4SI3Y-BVBzu7sL.js +1 -0
- package/dist/assets/ManualTransferScreen-Drt1Mp6E-CbK48hbd.js +1 -0
- package/dist/assets/MfaAuthEnrollmentFlowScreen-5IWp37BG-B0sW1OVK.js +1 -0
- package/dist/assets/MfaAuthVerifyFlowScreen-W132fIHD-D8DNNteP.js +1 -0
- package/dist/assets/MfaEnrollmentFlowScreen-B2ZcSeBE-DE3DvN-Z.js +1 -0
- package/dist/assets/MfaVerifyFlowScreen-CzNn41ji-0FnJaanM.js +1 -0
- package/dist/assets/ModalFooter-DKyozrEX-DWQrl9hN.js +403 -0
- package/dist/assets/MoonpayStatusScreen-Bey2zhxF-CbNJA_gu.js +16 -0
- package/dist/assets/OAuthStatusScreen-D8EiVa2Y-BxfKVL_9.js +1 -0
- package/dist/assets/OpenLink-CUpJ1mOr-Bzr_f0Wd.js +39 -0
- package/dist/assets/PasskeySelectSignupOrLogin-CwjunGne-VKReUS32.js +1 -0
- package/dist/assets/PasskeyStatusScreen-D0GgmiKb-BZ1fwR-4.js +6 -0
- package/dist/assets/PasswordRecoveryScreen-Q5SHSGfd-C44CmHs6.js +20 -0
- package/dist/assets/PhArrowCircleDown-D97G-BOA.js +14 -0
- package/dist/assets/PhArrowClockwise-DVgyFuez.js +14 -0
- package/dist/assets/PhArrowDown-87b1BizM.js +14 -0
- package/dist/assets/PhArrowLeft-Da0MfnbK.js +14 -0
- package/dist/assets/PhArrowRight-AdrIL4DW.js +14 -0
- package/dist/assets/PhArrowSquareOut-Bk2CMG3I.js +14 -0
- package/dist/assets/PhArrowUp-4sgyKPGx.js +14 -0
- package/dist/assets/PhArrowUpRight-BNghD2zq.js +14 -0
- package/dist/assets/PhArrowsClockwise-BXRn1GEl.js +14 -0
- package/dist/assets/PhArrowsDownUp-DM09Jo_3.js +14 -0
- package/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +14 -0
- package/dist/assets/PhBank-fHbgCqqZ.js +14 -0
- package/dist/assets/PhBrowser-2-9m-AkM.js +14 -0
- package/dist/assets/PhCaretDown-BDNabFuL.js +14 -0
- package/dist/assets/PhCaretLeft-CI460R-A.js +14 -0
- package/dist/assets/PhCaretRight-D7ZS3Ls8.js +14 -0
- package/dist/assets/PhCaretUp-C-iIfyvO.js +14 -0
- package/dist/assets/PhCheck-DxQXn57r.js +14 -0
- package/dist/assets/PhCircleHalf-MJZeRBGF.js +14 -0
- package/dist/assets/PhClock-x3MS3Mwi.js +14 -0
- package/dist/assets/PhCompass-hYn3HhGN.js +14 -0
- package/dist/assets/PhCopy-CWNYcABI.js +14 -0
- package/dist/assets/PhCreditCard-Fy4pzwtt.js +14 -0
- package/dist/assets/PhCurrencyDollar-BgiaenCi.js +14 -0
- package/dist/assets/PhDesktop-CxrzCSv5.js +14 -0
- package/dist/assets/PhDeviceMobile-CsyA5Goi.js +14 -0
- package/dist/assets/PhDotsThree-D-k1BiYg.js +14 -0
- package/dist/assets/PhEnvelope-D8kzeNox.js +14 -0
- package/dist/assets/PhFunnelSimple-CfQs5DAW.js +14 -0
- package/dist/assets/PhGlobe-DvmSc9_A.js +14 -0
- package/dist/assets/PhIdentificationCard-CfkZm-5K.js +14 -0
- package/dist/assets/PhImage-Cf0J2ZfJ.js +14 -0
- package/dist/assets/PhInfo-Bwi51-2X.js +14 -0
- package/dist/assets/PhLightbulb-C4FZV7Es.js +14 -0
- package/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +14 -0
- package/dist/assets/PhPaperPlaneRight-zxQVvPLX.js +14 -0
- package/dist/assets/PhPlus-C4UoW-2n.js +14 -0
- package/dist/assets/PhPower-CFyWDmgD.js +14 -0
- package/dist/assets/PhPuzzlePiece-BjoNVfST.js +14 -0
- package/dist/assets/PhQrCode-CP3tFauY.js +14 -0
- package/dist/assets/PhQuestion-wOWJBd3G.js +14 -0
- package/dist/assets/PhQuestionMark-CV0k9C0Y.js +14 -0
- package/dist/assets/PhSealCheck-vIKzREuN.js +14 -0
- package/dist/assets/PhSignOut-CxELV-i0.js +14 -0
- package/dist/assets/PhSpinner-CGDmbzUd.js +14 -0
- package/dist/assets/PhTrash-C9PD0SAt.js +14 -0
- package/dist/assets/PhUser-0sWNXQeZ.js +14 -0
- package/dist/assets/PhVault-6JTskUcC.js +14 -0
- package/dist/assets/PhWarning-CoKs3gz6.js +14 -0
- package/dist/assets/PhWarningCircle-BXHw1fCt.js +14 -0
- package/dist/assets/PhX-DX0SFIqC.js +14 -0
- package/dist/assets/PhoneIcon-mqxUi40U.js +1 -0
- package/dist/assets/PinInput-DbZ0b1i1-CkvWEG0R.js +247 -0
- package/dist/assets/PrivyPluginContext-DA-yS5vO-CDgvyHSu.js +1 -0
- package/dist/assets/QrCode-CpGkVlXb-BvtkZ_GW.js +22 -0
- package/dist/assets/RecoveryOAuthStatusScreen-CGpbUHkL-DauzUqQs.js +1 -0
- package/dist/assets/RecoveryPasswordCreateScreen-Dr_WQf6A-BFoYHPOa.js +1 -0
- package/dist/assets/RecoverySelectionScreen-CagonGs_-D1LLtufh.js +7 -0
- package/dist/assets/SIWXUtil-CB3piUiD.js +12 -0
- package/dist/assets/Screen-DMmH56yL-BONUk9MS.js +175 -0
- package/dist/assets/ScreenHeader-CHmc4-Lu-Cwialz2C.js +31 -0
- package/dist/assets/ScreenLayout-DTsWfKKs-gf6mEESm.js +1 -0
- package/dist/assets/SelectSourceAsset-CXcAyH34-CrQc2CvF.js +140 -0
- package/dist/assets/SetAutomaticRecoveryScreen-Dz6S1LST-DxxI7aBI.js +14 -0
- package/dist/assets/SetWalletPasswordForm-B3EVuPZv-8w0PfIqr.js +11 -0
- package/dist/assets/ShieldCheckIcon-B5byLL0q.js +1 -0
- package/dist/assets/SignRequestScreen-ipPnPIlP-DjlwqB37.js +26 -0
- package/dist/assets/StackedContainer-B2vaEl56-CSWVo6_P.js +24 -0
- package/dist/assets/StandardSignAndSendTransactionScreen-DPcArlC7-uI27tguH.js +20 -0
- package/dist/assets/Subtitle-CV-2yKE4-BaRxbHL7.js +13 -0
- package/dist/assets/TelegramAuthScreen-Bb_tyqBP-BSuvScW6.js +1 -0
- package/dist/assets/Title-BnzYV3Is-ByrLkU4J.js +7 -0
- package/dist/assets/TodoList-DnyULl18-DcjnXpJH.js +36 -0
- package/dist/assets/TransactionDetails-BkfhYtAg-DtmWhXP3.js +109 -0
- package/dist/assets/TransactionErrorView-DLbrU4bp-DYe09cVy.js +178 -0
- package/dist/assets/TransferFromWalletScreen-DTZSqDtC-CXT4q9D4.js +31 -0
- package/dist/assets/TransferOrBridgeLoadingScreen-DUbPtRQe-BweKnV9Z.js +6 -0
- package/dist/assets/TurnstileWrapper-BmL4TDJu-C1ZljqAH.js +1 -0
- package/dist/assets/UpdateEmailScreen-LL6semse-BygwSi8c.js +1 -0
- package/dist/assets/UpdatePhoneScreen-CS7n7kwA-DN4yaYoN.js +1 -0
- package/dist/assets/UserLimitReachedScreen-Cq4YnJkA-BrSxSBdW.js +1 -0
- package/dist/assets/Value-DTgR824E-B7IXbyVg.js +27 -0
- package/dist/assets/WalletCards-DH1rqayz-CT6JT__W.js +1 -0
- package/dist/assets/WalletIcon-XKzVUAjE.js +1 -0
- package/dist/assets/WalletInfoCard-BpO3gP5Y-IumlKDdQ.js +29 -0
- package/dist/assets/WalletInterstitialScreen-CZboB6Va-DJlEjs_V.js +1 -0
- package/dist/assets/WalletLink-7Vc0Y1tZ-TJACjVN6.js +20 -0
- package/dist/assets/WalletOverflowButton-BsG-fdaJ-CfA-DNtB.js +1 -0
- package/dist/assets/WarningBanner-ZZqCEtZK-DZXanQlM.js +21 -0
- package/dist/assets/_esm-Diwx42KJ.js +8 -0
- package/dist/assets/analytics-mkkvFRju-BRBcadka.js +1 -0
- package/dist/assets/basic-CodwVTu4.js +1575 -0
- package/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +1 -0
- package/dist/assets/ccip-C3Vjk59S.js +32 -0
- package/dist/assets/ccip-D33NgLUV.js +1 -0
- package/dist/assets/check-BM01T5vi.js +1 -0
- package/dist/assets/chevron-down-C6zww19L.js +1 -0
- package/dist/assets/circle-alert-CU29J06e.js +1 -0
- package/dist/assets/circle-check-big-BR2wXS_n.js +1 -0
- package/dist/assets/circle-x-DUmAAGJw.js +1 -0
- package/dist/assets/context-xV99-GKt-D_PAQTXr.js +1 -0
- package/dist/assets/copy-BkA8KqAF.js +1 -0
- package/dist/assets/core-DJhku8Ql.js +2 -0
- package/dist/assets/createLucideIcon-DmNNZQFn.js +1 -0
- package/dist/assets/credit-card-Dc2lSkjL.js +1 -0
- package/dist/assets/dijkstra-BsSV2JU0.js +1 -0
- package/dist/assets/dist-Cm7pNAtL.js +1 -0
- package/dist/assets/dist-CoS6E-3x.js +1 -0
- package/dist/assets/dist-D03ChgcR.js +16 -0
- package/dist/assets/dist-Dl07uGq1.js +1 -0
- package/dist/assets/errors-DRgCdgfK-CJpKdU03.js +1 -0
- package/dist/assets/esm-C3DslVJx.js +1 -0
- package/dist/assets/esm-CY8oIzLS.js +36 -0
- package/dist/assets/esm-Ci1ogKuK.js +1 -0
- package/dist/assets/esm-DJNUAQDg.js +1 -0
- package/dist/assets/ethers-DKNnmkib-BCpmt8uR.js +1 -0
- package/dist/assets/eventemitter3-BB9OE-nf.js +1 -0
- package/dist/assets/events-context-BJ75xIIf-CYNYb_Ky.js +1 -0
- package/dist/assets/external-link-CX89hR89.js +1 -0
- package/dist/assets/farcaster-DPlSjvF5-fDPVMv4F.js +1 -0
- package/dist/assets/features-BLHkjJUy.js +2 -0
- package/dist/assets/fingerprint-pattern-Cp7j1QKS.js +1 -0
- package/dist/assets/floating-ui.react-Cw-d0Rmp.js +1 -0
- package/dist/assets/floating-ui.react-dom-CvVHChFs.js +1 -0
- package/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +1 -0
- package/dist/assets/get-entropy-details-for-user-Bq7nAeEf-BxiiqenT.js +1 -0
- package/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +1 -0
- package/dist/assets/getErc20Balance-DHgWH7_1-D498CggM.js +1 -0
- package/dist/assets/getErc20TokenInfo-DluFoVaC-BT8pxO6f.js +1 -0
- package/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +1 -0
- package/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +1 -0
- package/dist/assets/hmac-D_yamlhz.js +1 -0
- package/dist/assets/hooks.module-QanQLMCy.js +1 -0
- package/dist/assets/hourglass-Cg3o4_cb.js +1 -0
- package/dist/assets/id-UqEwL2BI-DBaJPjJB.js +1 -0
- package/dist/assets/index-BCRY02zL.js +77 -0
- package/dist/assets/index-BKK46WdR-CIT1mGom.js +12 -0
- package/dist/assets/index-CNRa7QGv.css +2 -0
- package/dist/assets/index-CWARkn2w-Bfi1vKEt.js +61 -0
- package/dist/assets/index-DkRtfMoa-7oM5LZg8.js +438 -0
- package/dist/assets/index-DmwSQBu2-DJjTbL_B.js +1 -0
- package/dist/assets/index-wHxkX697-DiHUiKHG.js +1 -0
- package/dist/assets/index.es-CwXtBCnD.js +4 -0
- package/dist/assets/isAddress-C6_gPDNS.js +2 -0
- package/dist/assets/jsx-runtime-CMaQg7dW.js +1 -0
- package/dist/assets/lib-bp6F03Um.js +1 -0
- package/dist/assets/localBatchGatewayRequest-yR_7m5UB.js +32 -0
- package/dist/assets/lock-Dbw4M4hN.js +1 -0
- package/dist/assets/mail-BCVv02Hb.js +1 -0
- package/dist/assets/modal-context-2Nf1WTbJ-CkR760DI.js +1 -0
- package/dist/assets/ofetch.CWycOUEr-CHp-crOQ.js +1 -0
- package/dist/assets/p256-B1d5Y6sM.js +1 -0
- package/dist/assets/parseEther-D_FKLPQO.js +1 -0
- package/dist/assets/pkce-B0PpK2pd-CkbNVGiy.js +1 -0
- package/dist/assets/preload-helper-QurRbaCr.js +2 -0
- package/dist/assets/prepareAuthorization-hDX99ycX.js +1 -0
- package/dist/assets/privy-context-i6NfqAl1-BONGHL94.js +1 -0
- package/dist/assets/property-DuZ9DLP4.js +3 -0
- package/dist/assets/react-DLzuq_tL.js +1 -0
- package/dist/assets/react-auth-sHnipzbS.js +1 -0
- package/dist/assets/react-dom-ChmAq1X2.js +1 -0
- package/dist/assets/reservoir-B7XIq5qj-j-r1ULqP.js +1 -0
- package/dist/assets/rolldown-runtime-C_s2cVnS.js +1 -0
- package/dist/assets/safe-url-D7SRPu33-CkMedGro.js +1 -0
- package/dist/assets/secp256k1-C8Ph-XiD.js +1 -0
- package/dist/assets/secp256k1-DZXeCH9F.js +1 -0
- package/dist/assets/sha256-fChkrcNS.js +1 -0
- package/dist/assets/sha3-D7MpjpcL.js +1 -0
- package/dist/assets/shared-DEkT-Gv3-DoqdOiYl.js +193 -0
- package/dist/assets/shared-FM0rljBt-B2Y0CoZ4.js +21 -0
- package/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-DDzHjOUJ-D78LT0Ws.js +1 -0
- package/dist/assets/simulateTransaction-BM0su-14-DKYYx4Yu.js +1 -0
- package/dist/assets/smartphone-BYDnV9zT.js +1 -0
- package/dist/assets/src-Dxu8F9ei.js +1 -0
- package/dist/assets/storage-j7ai9Sne-D8mWN3Z2.js +9 -0
- package/dist/assets/stripe.esm-BCW9KcRF.js +2 -0
- package/dist/assets/styles-BsotlekN-of63S6Pp.js +9 -0
- package/dist/assets/styles-C9oLwuTf-BrU3WqQp.js +92 -0
- package/dist/assets/styles-DVyDvTdj-BRvzvs97.js +74 -0
- package/dist/assets/styles-tjTwTW2h-9GCNH_Dh.js +164 -0
- package/dist/assets/telegram-B-JqnkqZ-BVmFrRSR.js +1 -0
- package/dist/assets/to-ui-error-CD8Q_l7P-BW6keC5U.js +4 -0
- package/dist/assets/toViemAccount-BE0ZbZYx-BqW9Bqj8.js +14 -0
- package/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +1 -0
- package/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +1 -0
- package/dist/assets/triangle-alert-BjGbSItA.js +1 -0
- package/dist/assets/twitch-5IOe4sIQ--IPFzphL.js +1 -0
- package/dist/assets/use-deposit-address-za6ZBYoS-z0C8GF90.js +1 -0
- package/dist/assets/useActiveWallet-D3PAxAaJ-BVwosGzn.js +123 -0
- package/dist/assets/useGetSolPrice-x7gfUIHJ-CChrTtVQ.js +1 -0
- package/dist/assets/useGetTokenPrice-B9Z2p9XG-Bu19_6lM.js +1 -0
- package/dist/assets/useI18n-C0rfdPEH-DoMbAOal.js +1 -0
- package/dist/assets/usePrivy-DXAqHE25-CdUu2aK0.js +1 -0
- package/dist/assets/useWalletBalance-D47dI-xh-DKp-JCOX.js +1 -0
- package/dist/assets/utils-De7E53Fk.js +1 -0
- package/dist/assets/utils-oVEYY1QK.js +1 -0
- package/dist/assets/w3m-modal-CI7dmrlk.js +1174 -0
- package/dist/assets/wallet-BbJaOyCZ.js +1 -0
- package/dist/assets/wallet-connect-MWSDFRmF-tGAmUa5S.js +1 -0
- package/dist/assets/wui-ux-by-reown-Bl01NIb8.js +1147 -0
- package/dist/assets/x-DgidrGFV.js +1 -0
- package/dist/crewai-banner.png +0 -0
- package/dist/crewai-logo.svg +11 -0
- package/dist/crewai-mark.png +0 -0
- package/dist/crewai-mark.svg +10 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +85 -0
- package/package.json +43 -0
- package/server/main.mjs +153334 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-DZXeCH9F.js","assets/rolldown-runtime-C_s2cVnS.js","assets/utils-De7E53Fk.js","assets/hmac-D_yamlhz.js","assets/utils-oVEYY1QK.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as e,f as t,t as n}from"./preload-helper-QurRbaCr.js";import{n as r,r as i,t as a}from"./sha256-fChkrcNS.js";import{$ as o,$t as s,A as c,At as l,B as u,Bt as d,C as f,Ct as p,D as m,Dt as h,E as g,Et as _,F as v,Ft as y,G as b,Gt as x,H as S,Ht as C,I as ee,It as te,J as ne,Jt as w,K as re,Kt as ie,L as T,Lt as ae,M as E,Mt as oe,N as se,Nt as ce,O as D,Ot as le,P as ue,Pt as de,Q as fe,Qt as pe,R as O,Rt as me,S as he,St as ge,T as _e,Tt as ve,U as k,Ut as ye,V as be,Vt as xe,W as Se,Wt as Ce,X as we,Xt as Te,Y as Ee,Z as De,Zt as Oe,_ as ke,_n as Ae,_t as je,a as Me,an as Ne,b as Pe,bt as Fe,c as Ie,cn as Le,ct as Re,d as ze,dn as Be,dt as Ve,en as A,et as He,f as Ue,fn as We,ft as Ge,g as Ke,gn as qe,gt as Je,h as Ye,hn as Xe,ht as Ze,i as Qe,in as $e,it as j,j as M,k as et,kt as tt,l as nt,ln as rt,lt as it,m as at,mn as ot,mt as st,nn as ct,nt as lt,o as ut,ot as dt,p as ft,pn as pt,pt as mt,q as ht,rn as gt,rt as _t,s as vt,sn as yt,st as bt,tn as xt,tt as St,u as Ct,un as wt,ut as Tt,v as Et,vn as Dt,vt as Ot,w as kt,wt as At,x as jt,xt as Mt,y as Nt,yt as Pt,z as N,zt as Ft}from"./localBatchGatewayRequest-yR_7m5UB.js";import{C as It,D as P,O as Lt,_ as Rt,a as zt,b as Bt,c as Vt,d as F,f as I,g as Ht,i as Ut,k as Wt,l as Gt,m as L,n as Kt,o as R,p as qt,r as Jt,s as Yt,t as Xt,v as Zt}from"./isAddress-C6_gPDNS.js";import{t as Qt}from"./sha3-D7MpjpcL.js";import{t as $t}from"./secp256k1-DZXeCH9F.js";import{n as en}from"./p256-B1d5Y6sM.js";import{c as tn}from"./errors-DRgCdgfK-CJpKdU03.js";function z(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}var nn=class extends P{constructor(e){super(`Filter type "${e}" is not supported.`,{name:`FilterTypeNotSupportedError`})}},rn=`/docs/contract/encodeEventTopics`;function an(e){let{abi:t,eventName:n,args:r}=e,i=t[0];if(n){let e=xt({abi:t,name:n});if(!e)throw new We(n,{docsPath:rn});i=e}if(i.type!==`event`)throw new We(void 0,{docsPath:rn});let a=[];if(r&&`inputs`in i){let e=i.inputs?.filter(e=>`indexed`in e&&e.indexed),t=Array.isArray(r)?r:Object.values(r).length>0?e?.map(e=>r[e.name])??[]:[];t.length>0&&(a=e?.map((e,n)=>Array.isArray(t[n])?t[n].map((r,i)=>on({param:e,value:t[n][i]})):t[n]!==void 0&&t[n]!==null?on({param:e,value:t[n]}):null)??[])}if(i.anonymous)return a;let o=Dt(i);return[rt(o),...a]}function on({param:e,value:t}){if(e.type===`string`||e.type===`bytes`)return R(Gt(t));if(e.type===`tuple`||e.type.match(/^(.*)\[(\d+)?\]$/))throw new nn(e.type);return ct([e],[t])}function sn(e,{method:t}){let n={};return e.transport.type===`fallback`&&e.transport.onResponse?.(({method:e,response:r,status:i,transport:a})=>{i===`success`&&t===e&&(n[r]=a.request)}),(t=>n[t]||e.request)}async function cn(e,t){let{address:n,abi:r,args:i,eventName:a,fromBlock:o,strict:s,toBlock:c}=t,l=sn(e,{method:`eth_newFilter`}),u=a?an({abi:r,args:i,eventName:a}):void 0,d=await e.request({method:`eth_newFilter`,params:[{address:n,fromBlock:typeof o==`bigint`?I(o):o,toBlock:typeof c==`bigint`?I(c):c,topics:u}]});return{abi:r,args:i,eventName:a,id:d,request:l(d),strict:!!s,type:`event`}}var ln=-1,B=class extends P{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof p?e.code:t??ln}},V=class extends B{constructor(e,t){super(e,t),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},un=class e extends B{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}};Object.defineProperty(un,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var dn=class e extends B{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}};Object.defineProperty(dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var fn=class e extends B{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` "${n}"`:``} does not exist / is not available.`})}};Object.defineProperty(fn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var pn=class e extends B{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`
|
|
3
|
+
`)})}};Object.defineProperty(pn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var mn=class e extends B{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}};Object.defineProperty(mn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var hn=class e extends B{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`
|
|
4
|
+
`)})}};Object.defineProperty(hn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var gn=class e extends B{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}};Object.defineProperty(gn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var _n=class e extends B{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}};Object.defineProperty(_n,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var vn=class e extends B{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}};Object.defineProperty(vn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var yn=class e extends B{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` "${n}"`:``} is not supported.`})}};Object.defineProperty(yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var bn=class e extends B{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}};Object.defineProperty(bn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var xn=class e extends B{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}};Object.defineProperty(xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Sn=class e extends V{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}};Object.defineProperty(Sn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Cn=class e extends V{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}};Object.defineProperty(Cn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var wn=class e extends V{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:``}.`})}};Object.defineProperty(wn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Tn=class e extends V{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}};Object.defineProperty(Tn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var En=class e extends V{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}};Object.defineProperty(En,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});var Dn=class e extends V{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}};Object.defineProperty(Dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});var On=class e extends V{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}};Object.defineProperty(On,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});var kn=class e extends V{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}};Object.defineProperty(kn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});var An=class e extends V{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}};Object.defineProperty(An,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});var jn=class e extends V{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}};Object.defineProperty(jn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});var Mn=class e extends V{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}};Object.defineProperty(Mn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});var Nn=class e extends V{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}};Object.defineProperty(Nn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});var Pn=class e extends V{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}};Object.defineProperty(Pn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});var Fn=class e extends V{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}};Object.defineProperty(Fn,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});var In=class extends B{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}},Ln=3;function Rn(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof tt?e:e instanceof P?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,m=e instanceof Be?new le({functionName:a,cause:e}):[Ln,mn.code].includes(c)&&(l||u||d||f)||c===hn.code&&u===`execution reverted`&&l?new h({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof p?u:f??d,cause:e}):e;return new _(m,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}function zn(e){let t=R(`0x${e.substring(4)}`).substring(26);return Kt(`0x${t}`)}async function Bn({hash:e,signature:t}){let r=Wt(e)?e:L(e),{secp256k1:i}=await n(async()=>{let{secp256k1:e}=await import(`./secp256k1-DZXeCH9F.js`).then(e=>e.n);return{secp256k1:e}},__vite__mapDeps([0,1,2,3,4]));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:r,yParity:a}=t,o=Vn(Number(a??r));return new i.Signature(Ht(e),Ht(n)).addRecoveryBit(o)}let e=Wt(t)?t:L(t);if(Lt(e)!==65)throw Error(`invalid signature length`);let n=Vn(Zt(`0x${e.slice(130)}`));return i.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Vn(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Hn({hash:e,signature:t}){return zn(await Bn({hash:e,signature:t}))}function Un(e,t=`hex`){let n=Wn(e),r=Oe(new Uint8Array(n.length));return n.encode(r),t===`hex`?F(r.bytes):r.bytes}function Wn(e){return Array.isArray(e)?Gn(e.map(e=>Wn(e))):Kn(e)}function Gn(e){let t=e.reduce((e,t)=>e+t.length,0),n=qn(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Kn(e){let t=typeof e==`string`?Yt(e):e,n=qn(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function qn(e){if(e<256)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new P(`Length is too large.`)}function Jn(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=R(Le([`0x05`,Un([t?I(t):`0x`,i,n?I(n):`0x`])]));return r===`bytes`?Yt(a):a}async function Yn(e){let{authorization:t,signature:n}=e;return Hn({hash:Jn(t),signature:n??t})}var Xn=class extends P{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=C({from:t?.address,to:u,value:d!==void 0&&`${Ce(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ye(o)} gwei`,maxFeePerGas:s!==void 0&&`${ye(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ye(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}};function Zn(e,{docsPath:t,...n}){return new Xn((()=>{let t=Je(e,n);return t instanceof Fe?e:t})(),{docsPath:t,...n})}var Qn=class extends P{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:`BaseFeeScalarError`})}},$n=class extends P{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},er=class extends P{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${ye(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}},tr=class extends P{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash "${e}"`),t&&(n=`Block at number "${t}"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}},nr={"0x0":`legacy`,"0x1":`eip2930`,"0x2":`eip1559`,"0x3":`eip4844`,"0x4":`eip7702`};function rr(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Zt(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?Zt(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?nr[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=ar(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}var ir=st(`transaction`,rr);function ar(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function or(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:rr(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}async function H(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:I(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new tr({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||or)(s,`getBlock`)}async function sr(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}async function cr(e,t){return lr(e,t)}async function lr(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await z(e,H,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}if(t!==void 0)return t;let a=await e.request({method:`eth_maxPriorityFeePerGas`});return Ht(a)}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):z(e,H,`getBlock`)({}),z(e,sr,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new $n;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function ur(e,t){return dr(e,t)}async function dr(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new Qn;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await z(e,H,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new $n;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await lr(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await z(e,sr,`getGasPrice`)({}))}}async function fr(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Re({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});return Zt(s)}function pr(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yt(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>F(e))}function mr(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yt(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Yt(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>F(e))}function hr(e,t){let n=t||`hex`,r=a(Wt(e,{strict:!1})?Gt(e):e);return n===`bytes`?r:L(r)}function gr(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=hr(t,`bytes`);return i.set([n],0),r===`bytes`?i:F(i)}function _r(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(gr({commitment:e,to:r,version:n}));return i}var vr=6,yr=4096,br=32*yr,xr=br*vr-1-1*yr*vr,Sr=class extends P{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Cr=class extends P{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},wr=class extends P{constructor({hash:e,size:t}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Tr=class extends P{constructor({hash:e,version:t}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};function Er(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Yt(e.data):e.data,r=Lt(n);if(!r)throw new Cr;if(r>761855)throw new Sr({maxSize:xr,size:r});let i=[],a=!0,o=0;for(;a;){let e=Oe(new Uint8Array(br)),t=0;for(;t<yr;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>F(e.bytes))}function Dr(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Er({data:t,to:r}),a=e.commitments??pr({blobs:i,kzg:n,to:r}),o=e.proofs??mr({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}function Or(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new y({transaction:e})}function kr(e,{docsPath:t,...n}){let r=(()=>{let t=Je(e,n);return t instanceof Fe?e:t})();return new ae(r,{docsPath:t,...n})}async function Ar(e){let t=await e.request({method:`eth_chainId`},{dedupe:!0});return Zt(t)}async function jr(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=A(n),r=a?a.id:await z(e,Ar,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();it(t);let x=a?.formatters?.transactionRequest?.format,S=(x||mt)({...Ze(y,{format:x}),account:n?A(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||rr)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input;let i=r.feePayerSignature!==void 0&&r.feePayerSignature!==null;if(i&&b!==void 0&&r.nonce!==b)throw new ce({filledNonce:r.nonce,requestedNonce:b});if(!i){r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let n=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await z(e,H,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(n<1)throw new Qn;let i=10**(n.toString().split(`.`)[1]?.length??0),o=e=>e*BigInt(Math.round(n*i))/BigInt(i);r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=o(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=o(r.gasPrice))}return{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw kr(n,{...t,chain:e.chain})}}var Mr=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Nr=new Map,Pr=new Ut(128);async function Fr(e,t){let n=t;n.account??=e.account,n.parameters??=Mr;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await z(e,Ar,`getChainId`)({}),c):n.chainId)}let u=r&&A(r),d=n.nonce;if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?A(t):void 0}if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||Pr.get(e.uid)!==!1&&[`fees`,`gas`].some(e=>o.includes(e))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`))?await z(e,jr,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return Pr.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e instanceof ce)||r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Pr.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await z(e,H,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await z(e,fr,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=pr({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=_r({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Dr({blobs:p,commitments:e,proofs:mr({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Or(n)}catch{let t=Nr.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Nr.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`)){if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await dr(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new er({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new $n;if(n.gasPrice===void 0){let{gasPrice:t}=await dr(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}}return o.includes(`gas`)&&m===void 0&&(n.gas=await z(e,Ir,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),it(n),delete n.parameters,n}async function Ir(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?A(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Yn({authorization:t.authorizationList[0]}).catch(()=>{throw new P("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Fr(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?I(u):void 0)||d,C=Ve(b);it(t);let ee=e.chain?.formatters?.transactionRequest?.format,te=(ee||mt)({...Ze(x,{format:ee}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[te,S??e.experimental_blockTag??`latest`,C]:S?[te,S]:[te]}))}catch(n){throw Zn(n,{...t,account:i,chain:e.chain})}}async function Lr(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...c}=t,l=s({abi:n,args:i,functionName:a});try{return await z(e,Ir,`estimateGas`)({data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...c})}catch(e){throw Rn(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(c.account?A(c.account):void 0)?.address})}}function U(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}:{}}}var Rr=`/docs/contract/decodeEventLog`;function zr(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new pt({docsPath:Rr});let c=t.find(e=>e.type===`event`&&o===rt(Dt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new ot(o,{docsPath:Rr});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new Ae({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=Br({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Te(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof wt||e instanceof pe?new qe({abiItem:c,data:n,params:g,size:Lt(n)}):e}else if(a)throw new qe({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function Br({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Te([e],t)||[])[0]}function Vr(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:rt(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?U(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=zr({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=zr({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!Hr({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function Hr(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?bt(t,n):e.type===`string`||e.type===`bytes`?R(Gt(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1})}async function Ur(e,{address:t,blockHash:n,fromBlock:r,toBlock:i,event:a,events:o,args:s,strict:c}={}){let l=c??!1,u=o??(a?[a]:void 0),d=[];u&&(d=[u.flatMap(e=>an({abi:[e],eventName:e.name,args:o?void 0:s}))],a&&(d=d[0]));let f;f=n?await e.request({method:`eth_getLogs`,params:[{address:t,topics:d,blockHash:n}]}):await e.request({method:`eth_getLogs`,params:[{address:t,topics:d,fromBlock:typeof r==`bigint`?I(r):r,toBlock:typeof i==`bigint`?I(i):i}]});let p=f.map(e=>U(e));return u?Vr({abi:u,args:s,logs:p,strict:l}):p}async function Wr(e,t){let{abi:n,address:r,args:i,blockHash:a,eventName:o,fromBlock:s,toBlock:c,strict:l}=t,u=o?xt({abi:n,name:o}):void 0,d=u?void 0:n.filter(e=>e.type===`event`);return z(e,Ur,`getLogs`)({address:r,args:i,blockHash:a,event:u,events:d,fromBlock:s,toBlock:c,strict:l})}async function W(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,c=s({abi:n,args:i,functionName:a});try{let{data:t}=await z(e,Qe,`call`)({...o,data:c,to:r});return dt({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Rn(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}async function Gr(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...c}=t,l=c.account?A(c.account):e.account,u=s({abi:n,args:i,functionName:a});try{let{data:s}=await z(e,Qe,`call`)({batch:!1,data:`${u}${o?o.replace(`0x`,``):``}`,to:r,...c,account:l});return{result:dt({abi:n,args:i,functionName:a,data:s||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...c,account:l}}}catch(e){throw Rn(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:l?.address})}}var Kr=new Map,qr=new Map,Jr=0;function G(e,t,n){let r=++Jr,i=()=>Kr.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Kr.delete(e),qr.delete(e);return}Kr.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=qr.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Kr.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&qr.set(e,l),o}async function Yr(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(l(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(l(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Xr(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Yr(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Yr(r),s())};s()})(),a}var Zr=new Map,Qr=new Map;function $r(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,Zr),r=t(e,Qr);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function ei(e,{cacheKey:t,cacheTime:n=1/0}){let r=$r(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}var ti=e=>`blockNumber.${e}`;async function ni(e,{cacheTime:t=e.cacheTime}={}){let n=await ei(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ti(e.uid),cacheTime:t});return BigInt(n)}async function ri(e,{filter:t}){let n=`strict`in t&&t.strict,r=await t.request({method:`eth_getFilterChanges`,params:[t.id]});if(typeof r[0]==`string`)return r;let i=r.map(e=>U(e));return!(`abi`in t)||!t.abi?i:Vr({abi:t.abi,logs:i,strict:n})}async function ii(e,{filter:t}){return t.request({method:`eth_uninstallFilter`,params:[t.id]})}function ai(e,t){let{abi:n,address:r,args:i,batch:a=!0,eventName:o,fromBlock:s,onError:c,onLogs:l,poll:u,pollingInterval:d=e.pollingInterval,strict:f}=t;return(u===void 0?typeof s==`bigint`||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`):u)?(()=>{let t=f??!1;return G(w([`watchContractEvent`,r,i,a,e.uid,o,d,t,s]),{onLogs:l,onError:c},c=>{let l;s!==void 0&&(l=s-1n);let u,f=!1,p=Xr(async()=>{if(!f){try{u=await z(e,cn,`createContractEventFilter`)({abi:n,address:r,args:i,eventName:o,strict:t,fromBlock:s})}catch{}f=!0;return}try{let s;if(u)s=await z(e,ri,`getFilterChanges`)({filter:u});else{let a=await z(e,ni,`getBlockNumber`)({});s=l&&l<a?await z(e,Wr,`getContractEvents`)({abi:n,address:r,args:i,eventName:o,fromBlock:l+1n,toBlock:a,strict:t}):[],l=a}if(s.length===0)return;if(a)c.onLogs(s);else for(let e of s)c.onLogs([e])}catch(e){u&&e instanceof hn&&(f=!1),c.onError?.(e)}},{emitOnBegin:!0,interval:d});return async()=>{u&&await z(e,ii,`uninstallFilter`)({filter:u}),p()}})})():(()=>{let t=f??!1,s=w([`watchContractEvent`,r,i,a,e.uid,o,d,t]),u=!0,p=()=>u=!1;return G(s,{onLogs:l,onError:c},t=>((async()=>{try{let a=(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})(),s=o?an({abi:n,eventName:o,args:i}):[],{unsubscribe:c}=await a.subscribe({params:[`logs`,{address:r,topics:s}],onData(e){if(!u)return;let r=e.result;try{let{eventName:e,args:i}=zr({abi:n,data:r.data,topics:r.topics,strict:f}),a=U(r,{args:i,eventName:e});t.onLogs([a])}catch(e){let n,i;if(e instanceof qe||e instanceof Ae){if(f)return;n=e.abiItem.name,i=e.abiItem.inputs?.some(e=>!(`name`in e&&e.name))}let a=U(r,{args:i?[]:{},eventName:n});t.onLogs([a])}},onError(e){t.onError?.(e)}});p=c,u||p()}catch(e){c?.(e)}})(),()=>p()))})()}var oi=class extends P{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
5
|
+
`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},si=class extends P{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};function ci({chain:e,currentChainId:t}){if(!e)throw new ze;if(t!==e.id)throw new Ct({chain:e,currentChainId:t})}async function li(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}var ui=new Ut(128);async function di(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new oi({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?A(n):null,b;try{it(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Yn({authorization:o[0]}).catch(()=>{throw new P("`to` is required. Could not infer from `authorizationList`.")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await z(e,Ar,`getChainId`)({}),r&&ci({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||mt)({...Ze(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?yt([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=ui.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(ui.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(ui.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=(()=>{if(!y.nonceManager||h!==void 0)return y.nonceManager;let e=y.nonceManager;return{consume(t){return b={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),r=await z(e,Fr,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?yt([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...Mr,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x});return await z(e,li,`sendRawTransaction`)({serializedTransaction:S})}throw y?.type===`smart`?new si({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new si({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof si?e:(b&&y?.nonceManager?.reset(b),kr(e,{...t,account:y,chain:t.chain||void 0}))}}async function fi(e,t){return fi.internal(e,di,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:c,functionName:l,...u}=r;if(a===void 0)throw new oi({docsPath:`/docs/contract/writeContract`});let d=a?A(a):null,f=s({abi:i,args:c,functionName:l});try{return await z(e,t,n)({data:f,to:o,account:d,...u})}catch(e){throw Rn(e,{abi:i,address:o,args:c,docsPath:`/docs/contract/writeContract`,functionName:l,sender:d?.address})}}e.internal=t})(fi||={});function pi(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(l(i));return}let u=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Yr(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(l(i));return}if(oe(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return u({error:e});o(e)}};s().catch(o)})}var mi={"0x0":`reverted`,"0x1":`success`};function hi(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>U(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Zt(e.transactionIndex):null,status:e.status?mi[e.status]:null,type:e.type?nr[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}var gi=st(`transactionReceipt`,hi),_i=256,vi=_i,yi;function bi(e=11){if(!yi||vi+e>_i*2){yi=``,vi=0;for(let e=0;e<_i;e++)yi+=(256+Math.random()*256|0).toString(16).substring(1)}return yi.substring(vi,vi+++e)}function xi(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?A(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:bi(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Si(i)&&Si(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Si(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ci(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`predict`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}function wi(e){if(!(e instanceof P))return!1;let t=e.walk(e=>e instanceof h);return t instanceof h?t.data?.errorName===`HttpError`||t.data?.errorName===`ResolverError`||t.data?.errorName===`ResolverNotContract`||t.data?.errorName===`ResolverNotFound`||t.data?.errorName===`ReverseAddressMismatch`||t.data?.errorName===`UnsupportedResolverProfile`:!1}function Ti(e){if(e.length!==66||e.indexOf(`[`)!==0||e.indexOf(`]`)!==65)return null;let t=`0x${e.slice(1,65)}`;return Wt(t)?t:null}function Ei(e){let t=new Uint8Array(32).fill(0);if(!e)return F(t);let n=e.split(`.`);for(let e=n.length-1;e>=0;--e){let r=Ti(n[e]),i=r?Gt(r):R(Vt(n[e]),`bytes`);t=R(yt([t,i]),`bytes`)}return F(t)}function Di(e){return`[${e.slice(2)}]`}function Oi(e){let t=new Uint8Array(32).fill(0);return e?Ti(e)||R(Vt(e)):F(t)}function ki(e){let t=e.replace(/^\.|\.$/gm,``);if(t.length===0)return new Uint8Array(1);let n=new Uint8Array(Vt(t).byteLength+2),r=0,i=t.split(`.`);for(let e=0;e<i.length;e++){let t=Vt(i[e]);t.byteLength>255&&(t=Vt(Di(Oi(i[e])))),n[r]=t.length,n.set(t,r+1),r+=t.length+1}return n.byteLength===r+1?n:n.slice(0,r+1)}async function Ai(e,t){let{blockNumber:n,blockTag:r,coinType:i,name:a,gatewayUrls:o,strict:c}=t,{chain:l}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!l)throw Error(`client chain not configured. universalResolverAddress is required.`);return Ie({blockNumber:n,chain:l,contract:`ensUniversalResolver`})})(),d=l?.ensTlds;if(d&&!d.some(e=>a.endsWith(e)))return null;let f=i==null?[Ei(a)]:[Ei(a),BigInt(i)];try{let t=s({abi:Ke,functionName:`addr`,args:f}),c={address:u,abi:he,functionName:`resolveWithGateways`,args:[L(ki(a)),t,o??[`x-batch-gateway:true`]],blockNumber:n,blockTag:r},l=await z(e,W,`readContract`)(c);if(l[0]===`0x`)return null;let d=ji({coinType:i,data:l[0],args:f});return d===`0x`||Bt(d)===`0x00`?null:d}catch(e){if(c)throw e;if(wi(e))return null;throw e}}function ji({coinType:e,data:t,args:n}){try{return dt({abi:Ke,args:n,functionName:`addr`,data:t})}catch(n){if(e==null)throw n;let r=Bt(t);if(Lt(r)===20)return Jt(r);throw n}}var Mi=class extends P{constructor({data:e}){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(e)}`],name:`EnsAvatarInvalidMetadataError`})}},Ni=class extends P{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:`EnsAvatarInvalidNftUriError`})}},Pi=class extends P{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:`EnsAvatarUriResolutionError`})}},Fi=class extends P{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:`EnsAvatarUnsupportedNamespaceError`})}},Ii=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Li=/^(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>\/.*)?$/,Ri=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,zi=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Bi(e){try{let t=await fetch(e,{method:`HEAD`});return t.status===200&&t.headers.get(`content-type`)?.startsWith(`image/`)}catch(t){return typeof t==`object`&&t.response!==void 0||!Object.hasOwn(globalThis,`Image`)?!1:new Promise(t=>{let n=new Image;n.onload=()=>{t(!0)},n.onerror=()=>{t(!1)},n.src=e})}}function Vi(e,t){return e?e.endsWith(`/`)?e.slice(0,-1):e:t}function Hi({uri:e,gatewayUrls:t}){let n=Ri.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};let r=Vi(t?.ipfs,`https://ipfs.io`),i=Vi(t?.arweave,`https://arweave.net`),{protocol:a,subpath:o,target:s,subtarget:c=``}=e.match(Ii)?.groups||{},l=a===`ipns:/`||o===`ipns/`,u=a===`ipfs:/`||o===`ipfs/`||Li.test(e);if(e.startsWith(`http`)&&!l&&!u){let n=e;return t?.arweave&&(n=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:n,isOnChain:!1,isEncoded:!1}}if((l||u)&&s)return{uri:`${r}/${l?`ipns`:`ipfs`}/${s}${c}`,isOnChain:!1,isEncoded:!1};if(a===`ar:/`&&s)return{uri:`${i}/${s}${c||``}`,isOnChain:!1,isEncoded:!1};let d=e.replace(zi,``);if(d.startsWith(`<svg`)&&(d=`data:image/svg+xml;base64,${btoa(d)}`),d.startsWith(`data:`)||d.startsWith(`{`))return{uri:d,isOnChain:!0,isEncoded:!1};throw new Pi({uri:e})}function Ui(e){if(typeof e!=`object`||!(`image`in e)&&!(`image_url`in e)&&!(`image_data`in e))throw new Mi({data:e});return e.image||e.image_url||e.image_data}async function Wi({gatewayUrls:e,uri:t}){try{return await Gi({gatewayUrls:e,uri:Ui(await fetch(t).then(e=>e.json()))})}catch{throw new Pi({uri:t})}}async function Gi({gatewayUrls:e,uri:t}){let{uri:n,isOnChain:r}=Hi({uri:t,gatewayUrls:e});if(r||await Bi(n))return n;throw new Pi({uri:t})}function Ki(e){let t=e;t.startsWith(`did:nft:`)&&(t=t.replace(`did:nft:`,``).replace(/_/g,`/`));let[n,r,i]=t.split(`/`),[a,o]=n.split(`:`),[s,c]=r.split(`:`);if(!a||a.toLowerCase()!==`eip155`)throw new Ni({reason:`Only EIP-155 supported`});if(!o)throw new Ni({reason:`Chain ID not found`});if(!c)throw new Ni({reason:`Contract address not found`});if(!i)throw new Ni({reason:`Token ID not found`});if(!s)throw new Ni({reason:`ERC namespace not found`});return{chainID:Number.parseInt(o,10),namespace:s.toLowerCase(),contractAddress:c,tokenID:i}}async function qi(e,{nft:t}){if(t.namespace===`erc721`)return W(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 W(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 Fi({namespace:t.namespace})}async function Ji(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?Yi(e,{gatewayUrls:t,record:n}):Gi({uri:n,gatewayUrls:t})}async function Yi(e,{gatewayUrls:t,record:n}){let r=Ki(n),{uri:i,isOnChain:a,isEncoded:o}=Hi({uri:await qi(e,{nft:r}),gatewayUrls:t});if(a&&(i.includes(`data:application/json;base64,`)||i.startsWith(`{`))){let e=o?atob(i.replace(`data:application/json;base64,`,``)):i;return Gi({uri:Ui(JSON.parse(e)),gatewayUrls:t})}let s=r.tokenID;return r.namespace===`erc1155`&&(s=s.replace(`0x`,``).padStart(64,`0`)),Wi({gatewayUrls:t,uri:i.replace(/(?:0x)?{id}/,s)})}async function Xi(e,t){let{blockNumber:n,blockTag:r,key:i,name:a,gatewayUrls:o,strict:c}=t,{chain:l}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!l)throw Error(`client chain not configured. universalResolverAddress is required.`);return Ie({blockNumber:n,chain:l,contract:`ensUniversalResolver`})})(),d=l?.ensTlds;if(d&&!d.some(e=>a.endsWith(e)))return null;try{let t={address:u,abi:he,args:[L(ki(a)),s({abi:jt,functionName:`text`,args:[Ei(a),i]}),o??[`x-batch-gateway:true`]],functionName:`resolveWithGateways`,blockNumber:n,blockTag:r},c=await z(e,W,`readContract`)(t);if(c[0]===`0x`)return null;let l=dt({abi:jt,functionName:`text`,data:c[0]});return l===``?null:l}catch(e){if(c)throw e;if(wi(e))return null;throw e}}async function Zi(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:i,gatewayUrls:a,strict:o,universalResolverAddress:s}){let c=await z(e,Xi,`getEnsText`)({blockNumber:t,blockTag:n,key:`avatar`,name:i,universalResolverAddress:s,gatewayUrls:a,strict:o});if(!c)return null;try{return await Ji(e,{record:c,gatewayUrls:r})}catch{return null}}async function Qi(e,t){let{address:n,blockNumber:r,blockTag:i,coinType:a=60n,gatewayUrls:o,strict:s}=t,{chain:c}=e,l=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw Error(`client chain not configured. universalResolverAddress is required.`);return Ie({blockNumber:r,chain:c,contract:`ensUniversalResolver`})})();try{let t={address:l,abi:f,args:[n,a,o??[`x-batch-gateway:true`]],functionName:`reverseWithGateways`,blockNumber:r,blockTag:i},[s]=await z(e,W,`readContract`)(t);return s||null}catch(e){if(s)throw e;if(wi(e))return null;throw e}}async function $i(e,t){let{blockNumber:n,blockTag:r,name:i}=t,{chain:a}=e,o=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!a)throw Error(`client chain not configured. universalResolverAddress is required.`);return Ie({blockNumber:n,chain:a,contract:`ensUniversalResolver`})})(),s=a?.ensTlds;if(s&&!s.some(e=>i.endsWith(e)))throw Error(`${i} is not a valid ENS TLD (${s?.join(`, `)}) for chain "${a.name}" (id: ${a.id}).`);let[c]=await z(e,W,`readContract`)({address:o,abi:[{inputs:[{type:`bytes`}],name:`findResolver`,outputs:[{type:`address`},{type:`bytes32`},{type:`uint256`}],stateMutability:`view`,type:`function`}],functionName:`findResolver`,args:[L(ki(i))],blockNumber:n,blockTag:r});return c}async function ea(e,t){let{account:n=e.account,blockNumber:r,blockTag:i=`latest`,blobs:a,data:o,gas:s,gasPrice:c,maxFeePerBlobGas:l,maxFeePerGas:u,maxPriorityFeePerGas:d,to:f,value:p,...m}=t,h=n?A(n):void 0;try{it(t);let n=(typeof r==`bigint`?I(r):void 0)||i,g=e.chain?.formatters?.transactionRequest?.format,_=(g||mt)({...Ze(m,{format:g}),account:h,blobs:a,data:o,gas:s,gasPrice:c,maxFeePerBlobGas:l,maxFeePerGas:u,maxPriorityFeePerGas:d,to:f,value:p},`createAccessList`),v=await e.request({method:`eth_createAccessList`,params:[_,n]});if(v.error)throw new P(v.error,{details:v.error});return{accessList:v.accessList,gasUsed:BigInt(v.gasUsed)}}catch(n){throw vt(n,{...t,account:h,chain:e.chain})}}async function ta(e){let t=sn(e,{method:`eth_newBlockFilter`}),n=await e.request({method:`eth_newBlockFilter`});return{id:n,request:t(n),type:`block`}}async function na(e,{address:t,args:n,event:r,events:i,fromBlock:a,strict:o,toBlock:s}={}){let c=i??(r?[r]:void 0),l=sn(e,{method:`eth_newFilter`}),u=[];c&&(u=[c.flatMap(e=>an({abi:[e],eventName:e.name,args:n}))],r&&(u=u[0]));let d=await e.request({method:`eth_newFilter`,params:[{address:t,fromBlock:typeof a==`bigint`?I(a):a,toBlock:typeof s==`bigint`?I(s):s,...u.length?{topics:u}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:a,id:d,request:l(d),strict:!!o,toBlock:s,type:`event`}}async function ra(e){let t=sn(e,{method:`eth_newPendingTransactionFilter`}),n=await e.request({method:`eth_newPendingTransactionFilter`});return{id:n,request:t(n),type:`transaction`}}async function ia(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=e.experimental_blockTag??`latest`,requireCanonical:a}){let o=Re({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});if(e.batch?.multicall&&e.chain?.contracts?.multicall3){let o=e.chain.contracts.multicall3.address,c=s({abi:Pe,functionName:`getEthBalance`,args:[t]}),{data:l}=await z(e,Qe,`call`)({to:o,data:c,blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return dt({abi:Pe,functionName:`getEthBalance`,args:[t],data:l||`0x`})}let c=await e.request({method:`eth_getBalance`,params:[t,o]});return BigInt(c)}async function aa(e){let t=await e.request({method:`eth_blobBaseFee`});return BigInt(t)}async function oa(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`}={}){let i=n===void 0?void 0:I(n),a=await e.request({method:`eth_getBlockReceipts`,params:[t||i||r]},{dedupe:!!(t||i)});if(!a)throw new tr({blockHash:t,blockNumber:n});let o=e.chain?.formatters?.transactionReceipt?.format||hi;return a.map(e=>o(e,`getBlockReceipts`))}async function sa(e,{blockHash:t,blockNumber:n,blockTag:r=`latest`}={}){let i=n===void 0?void 0:I(n),a;return a=t?await e.request({method:`eth_getBlockTransactionCountByHash`,params:[t]},{dedupe:!0}):await e.request({method:`eth_getBlockTransactionCountByNumber`,params:[i||r]},{dedupe:!!i}),Zt(a)}async function ca(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Re({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}async function la(e,{address:t,blockNumber:n,blockTag:r=`latest`}){let i=await ca(e,{address:t,...n===void 0?{blockTag:r}:{blockNumber:n}});if(i&&Lt(i)===23&&i.startsWith(`0xef0100`))return Jt(Ne(i,3,23))}var ua=class extends P{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:[`Ensure that:`,`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:`Eip712DomainNotFoundError`})}};async function da(e,t){let{address:n,factory:r,factoryData:i}=t;try{let[t,a,o,s,c,l,u]=await z(e,W,`readContract`)({abi:fa,address:n,functionName:`eip712Domain`,factory:r,factoryData:i});return{domain:{name:a,version:o,chainId:Number(s),verifyingContract:c,salt:l},extensions:u,fields:t}}catch(e){let t=e;throw t.name===`ContractFunctionExecutionError`&&t.cause.name===`ContractFunctionZeroDataError`?new ua({address:n}):t}}var fa=[{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 pa(e){return{baseFeePerGas:e.baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(e=>e.map(e=>BigInt(e)))}}async function ma(e,{blockCount:t,blockNumber:n,blockTag:r=`latest`,rewardPercentiles:i}){let a=typeof n==`bigint`?I(n):void 0;return pa(await e.request({method:`eth_feeHistory`,params:[I(t),a||r,i]},{dedupe:!!a}))}async function ha(e,{filter:t}){let n=t.strict??!1,r=(await t.request({method:`eth_getFilterLogs`,params:[t.id]})).map(e=>U(e));return t.abi?Vr({abi:t.abi,logs:r,strict:n}):r}function ga(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Xt(n))throw new zt({address:n});if(t<0)throw new Ue({chainId:t})}va(e)}function _a(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Cr;for(let e of t){let t=Lt(e),n=Zt(Ne(e,0,1));if(t!==32)throw new wr({hash:e,size:t});if(n!==1)throw new Tr({hash:e,version:n})}}va(e)}function va(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Ue({chainId:t});if(i&&!Xt(i))throw new zt({address:i});if(r&&r>Tt)throw new Ot({maxFeePerGas:r});if(n&&r&&n>r)throw new Pt({maxFeePerGas:r,maxPriorityFeePerGas:n})}function ya(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Ue({chainId:t});if(a&&!Xt(a))throw new zt({address:a});if(n||i)throw new P("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(r&&r>Tt)throw new Ot({maxFeePerGas:r})}function ba(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Xt(a))throw new zt({address:a});if(t!==void 0&&t<=0)throw new Ue({chainId:t});if(n||i)throw new P("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(r&&r>Tt)throw new Ot({maxFeePerGas:r})}function xa(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new te({storageKey:i[e]});if(!Xt(r,{strict:!1}))throw new zt({address:r});t.push([r,i])}return t}function Sa(e,t){let n=Or(e);return n===`eip1559`?Ta(e,t):n===`eip2930`?Ea(e,t):n===`eip4844`?wa(e,t):n===`eip7702`?Ca(e,t):Da(e,t)}function Ca(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;ga(e);let f=xa(u),p=ka(n);return Le([`0x04`,Un([I(r),a?I(a):`0x`,l?I(l):`0x`,c?I(c):`0x`,i?I(i):`0x`,o??`0x`,s?I(s):`0x`,d??`0x`,f,p,...Oa(e,t)])])}function wa(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;_a(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>F(e)),n=e.kzg,r=pr({blobs:t,kzg:n});f===void 0&&(f=_r({commitments:r})),p===void 0&&(p=Dr({blobs:t,commitments:r,proofs:mr({blobs:t,commitments:r,kzg:n})}))}let m=xa(u),h=[I(n),i?I(i):`0x`,l?I(l):`0x`,c?I(c):`0x`,r?I(r):`0x`,a??`0x`,o?I(o):`0x`,d??`0x`,m,s?I(s):`0x`,f??[],...Oa(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Le([`0x03`,Un(p?[h,g,_,v]:h)])}function Ta(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;va(e);let d=xa(l),f=[I(n),i?I(i):`0x`,c?I(c):`0x`,s?I(s):`0x`,r?I(r):`0x`,a??`0x`,o?I(o):`0x`,u??`0x`,d,...Oa(e,t)];return Le([`0x02`,Un(f)])}function Ea(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;ya(e);let u=xa(c),d=[I(n),a?I(a):`0x`,l?I(l):`0x`,r?I(r):`0x`,o??`0x`,s?I(s):`0x`,i??`0x`,u,...Oa(e,t)];return Le([`0x01`,Un(d)])}function Da(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;ba(e);let l=[a?I(a):`0x`,c?I(c):`0x`,r?I(r):`0x`,o??`0x`,s?I(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new de({v:t.v});return e})(),r=Bt(t.r),i=Bt(t.s);l=[...l,I(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,I(n),`0x`,`0x`]);return Un(l)}function Oa(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Bt(n.r),o=Bt(n.s);return[typeof i==`number`?i?I(1):`0x`:r===0n?`0x`:r===1n?I(1):r===27n?`0x`:I(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}function ka(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?L(e):`0x`,a,r?L(r):`0x`,...Oa({},i)])}return t}async function Aa({address:e,authorization:t,signature:n}){return bt(Jt(e),await Yn({authorization:t,signature:n}))}var ja=new Ut(8192);function Ma(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(ja.get(n))return ja.get(n);let r=e().finally(()=>ja.delete(n));return ja.set(n,r),r}function Na(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:u}={...t,...r},{method:d}=n;if(a?.exclude?.includes(d)||a?.include&&!a.include.includes(d))throw new yn(Error(`method not supported`),{method:d});if(c?.aborted)throw l(c);return Ma(()=>pi(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw l(c);if(oe(e))throw e;let t=e;switch(t.code){case un.code:throw new un(t);case dn.code:throw new dn(t);case fn.code:throw new fn(t,{method:n.method});case pn.code:throw new pn(t);case mn.code:throw new mn(t);case hn.code:throw new hn(t);case gn.code:throw new gn(t);case _n.code:throw new _n(t);case vn.code:throw new vn(t);case yn.code:throw new yn(t,{method:n.method});case bn.code:throw new bn(t);case xn.code:throw new xn(t);case Sn.code:throw new Sn(t);case Cn.code:throw new Cn(t);case wn.code:throw new wn(t);case Tn.code:throw new Tn(t);case En.code:throw new En(t);case Dn.code:throw new Dn(t);case On.code:throw new On(t);case kn.code:throw new kn(t);case An.code:throw new An(t);case jn.code:throw new jn(t);case Mn.code:throw new Mn(t);case Nn.code:throw new Nn(t);case Pn.code:throw new Pn(t);case 5e3:throw new Sn(t);case Fn.code:throw new Fn(t);default:throw e instanceof P?e:new In(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Mt){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Pa(e)}),{enabled:i,id:i?Fa(`${u}.${w(n)}`):void 0})}}function Pa(e){return oe(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===bn.code||e.code===mn.code||e.code===429:e instanceof Mt&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Fa(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function Ia(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function La(){return{}}function Ra(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&oe(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function za(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var Ba=za(),Va=10485760;function Ha(e,t={}){let{url:n,headers:r}=Wa(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??Va,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:u=t.timeout??1e4}=e,d={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:f,method:p,signal:m}=d;try{let e=await Ra(async({signal:e})=>{let t={...d,body:w(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Ba.take(),...e})):{jsonrpc:`2.0`,id:i.id??Ba.take(),...i}),headers:{...r,"Content-Type":`application/json`,...f},method:p||`POST`,signal:m||(u>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new At({body:i,url:n}),timeout:u,signal:!0});c&&await c(e);let t,l=await Ua(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(l);else{t=l;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Mt({body:i,details:w(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw m?.aborted?l(m):oe(e)||e instanceof Mt||e instanceof ge||e instanceof At?e:new Mt({body:i,cause:e,url:n})}}}}async function Ua(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new ge({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new ge({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new ge({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function Wa(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}var Ga=`Ethereum Signed Message:
|
|
6
|
+
`;function Ka(e){let t=typeof e==`string`?qt(e):typeof e.raw==`string`?e.raw:F(e.raw),n=qt(`${Ga}${Lt(t)}`);return yt([n,t])}function qa(e,t){return R(Ka(e),t)}var Ja=class extends P{constructor({domain:e}){super(`Invalid domain "${w(e)}".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Ya=class extends P{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:["Check that the primary type is a key in `types`."]})}},Xa=class extends P{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},Za=class extends P{constructor({type:e}){let t=e.replace(/^(u?int)/,`$&256`);super(`Type "${e}" is not a valid EIP-712 type.`,{metaMessages:[`Use "${t}" instead.`],name:`InvalidTypedDataTypeError`})}};function Qa(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n},o=!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),s=(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})();return w({domain:o,message:s,primaryType:r,types:i})}function $a(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.replace(/(\[[0-9]*\])+$/,``);if(s===`int`||s===`uint`)throw new Za({type:r});let c=r.match($e);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;I(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Xt(o))throw new zt({address:o});let l=r.match(gt);if(l){let[e,t]=l;if(t&&Lt(o)!==Number.parseInt(t,10))throw new Xe({expectedSize:Number.parseInt(t,10),givenSize:Lt(o)})}let u=i[r];u&&(to(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Ja({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new Ya({primaryType:r,types:i})}}function eo({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function to(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Xa({type:e})}function no(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:eo({domain:t}),...e.types};$a({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(ro({domain:t,types:i})),r!==`EIP712Domain`&&a.push(io({data:n,primaryType:r,types:i})),R(yt(a))}function ro({domain:e,types:t}){return io({data:e,primaryType:`EIP712Domain`,types:t})}function io({data:e,primaryType:t,types:n}){let r=ao({data:e,primaryType:t,types:n});return R(r)}function ao({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[oo({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=lo({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ct(r,i)}function oo({primaryType:e,types:t}){let n=L(so({primaryType:e,types:t}));return R(n)}function so({primaryType:e,types:t}){let n=``,r=co({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function co({primaryType:e,types:t},n=new Set){let r=e.match(/^\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])co({primaryType:e.type,types:t},n);return n}function lo({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},R(ao({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},R(r)];if(n===`string`)return[{type:`bytes32`},R(L(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>lo({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},R(ct(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var uo={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;function fo(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Qt(b(e));return n===`Bytes`?r:M(r)}function po(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=a(b(e));return n===`Bytes`?r:M(r)}function mo(e){return k(e)&&T(e)===32}function ho(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new So({prefix:r,cause:new wo});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new So({prefix:r,cause:new Co});return}throw new xo({publicKey:e})}function go(e){let t=(()=>{if(k(e))return vo(e);if(lt(e))return _o(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return ho(t),t}function _o(e){return vo(M(e))}function vo(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new To({publicKey:e});return e.length===130?{prefix:4,x:BigInt(O(e,0,32)),y:BigInt(O(e,32,64))}:e.length===132?{prefix:Number(O(e,0,1)),x:BigInt(O(e,1,33)),y:BigInt(O(e,33,65))}:{prefix:Number(O(e,0,1)),x:BigInt(O(e,1,33))}}function yo(e,t={}){return re(bo(e,t))}function bo(e,t={}){ho(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return D(a?E(n,{size:1}):`0x`,E(r,{size:32}),typeof i==`bigint`?E(i,{size:32}):`0x`)}var xo=class extends j{constructor({publicKey:e}){super(`Value \`${_t(e)}\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,"- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},So=class extends j{constructor({prefix:e,cause:t}){super(`Prefix "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},Co=class extends j{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},wo=class extends j{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},To=class extends j{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${T(et(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}},Eo=/^0x[a-fA-F0-9]{40}$/;function K(e,t={}){let{strict:n=!0}=t;if(!Eo.test(e))throw new Mo({address:e,cause:new No});if(n){if(e.toLowerCase()===e)return;if(Do(e)!==e)throw new Mo({address:e,cause:new Po})}}function Do(e){if(uo.has(e))return uo.get(e);K(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=fo(ht(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return uo.set(e,i),i}function Oo(e,t={}){let{checksum:n=!1}=t;return K(e),n?Do(e):e}function ko(e,t={}){return Oo(`0x${fo(`0x${bo(e).slice(4)}`).substring(26)}`,t)}function Ao(e,t){return K(e,{strict:!1}),K(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function jo(e,t={}){let{strict:n=!0}=t??{};try{return K(e,{strict:n}),!0}catch{return!1}}var Mo=class extends j{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},No=class extends j{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`})}},Po=class extends j{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}},Fo=/^(.*)\[([0-9]*)\]$/,Io=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Lo=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));var Ro=2n**256n-1n;function zo(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=as(t.type);if(a){let[n,o]=a;return Uo(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return qo(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return Ho(e,{checksum:r});if(t.type===`bool`)return Wo(e);if(t.type.startsWith(`bytes`))return Go(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ko(e,t);if(t.type===`string`)return Jo(e,{staticPosition:i});throw new Ss(t.type)}var Bo=32,Vo=32;function Ho(e,t={}){let{checksum:n=!1}=t,r=e.readBytes(32);return[(e=>n?Do(e):e)(M(we(r,-20))),32]}function Uo(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+o(e.readBytes(Vo)),i=n+Bo;e.setPosition(n);let s=o(e.readBytes(Bo)),c=os(t),l=0,u=[];for(let n=0;n<s;++n){e.setPosition(i+(c?n*32:l));let[a,o]=zo(e,t,{checksumAddress:r,staticPosition:i});l+=o,u.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[u,32]}if(os(t)){let n=a+o(e.readBytes(Vo)),s=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=zo(e,t,{checksumAddress:r,staticPosition:n});s.push(i)}return e.setPosition(a+32),[s,32]}let s=0,c=[];for(let n=0;n<i;++n){let[n,i]=zo(e,t,{checksumAddress:r,staticPosition:a+s});s+=i,c.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[c,s]}function Wo(e){return[fe(e.readBytes(32),{size:32}),32]}function Go(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=o(e.readBytes(32));e.setPosition(n+t);let r=o(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[M(i),32]}return[M(e.readBytes(Number.parseInt(i,10),32)),32]}function Ko(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?De(i,{signed:n}):o(i,{signed:n}),32]}function qo(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),s=a?[]:{},c=0;if(os(t)){let n=i+o(e.readBytes(Vo));for(let i=0;i<t.components.length;++i){let o=t.components[i];e.setPosition(n+c);let[l,u]=zo(e,o,{checksumAddress:r,staticPosition:n});c+=u,s[a?i:o?.name]=l}return e.setPosition(i+32),[s,32]}for(let n=0;n<t.components.length;++n){let o=t.components[n],[l,u]=zo(e,o,{checksumAddress:r,staticPosition:i});s[a?n:o?.name]=l,c+=u}return[s,c]}function Jo(e,{staticPosition:t}){let n=t+o(e.readBytes(32));e.setPosition(n);let r=o(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=e.readBytes(r,32),a=He(St(i));return e.setPosition(t+32),[a,32]}function Yo({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Xo({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Xo({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=as(r.type);if(i){let[t,a]=i;return $o(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return is(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return Qo(n,{checksum:e});if(r.type===`bool`)return ts(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=Lo.exec(r.type)??[];return ns(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return es(n,{type:r.type});if(r.type===`string`)return rs(n);throw new Ss(r.type)}function Zo(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:T(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(E(t+i,{size:32})),r.push(s),i+=T(s)):n.push(s)}return D(...n,...r)}function Qo(e,t){let{checksum:n=!1}=t;return K(e,{strict:n}),{dynamic:!1,encoded:ue(e.toLowerCase())}}function $o(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new xs(e);if(!a&&e.length!==r)throw new vs({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&os(i),s=[];for(let t=0;t<e.length;t++){let r=Xo({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=Zo(s);if(a){let t=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?D(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:D(...s.map(({encoded:e})=>e))}}function es(e,{type:t}){let[,n]=t.split(`bytes`),r=T(e);if(!n){let t=e;return r%32!=0&&(t=v(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:D(ue(E(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new ys({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:v(e)}}function ts(e){if(typeof e!=`boolean`)throw new j(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:ue(c(e))}}function ns(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new _e({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:E(e,{size:32,signed:t})}}function rs(e){let t=se(e),n=Math.ceil(T(t)/32),r=[];for(let e=0;e<n;e++)r.push(v(O(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:D(v(E(T(t),{size:32})),...r)}}function is(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=Xo({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?Zo(a):D(...a.map(({encoded:e})=>e))}}function as(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function os(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(os);let n=as(e.type);return!!(n&&os({...e,type:n[1]}))}var ss={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ds({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new us({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ls({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ls({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function cs(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ss);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ls=class extends j{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},us=class extends j{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},ds=class extends j{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};function fs(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?re(t):t,o=cs(a);if(Ee(a)===0&&e.length>0)throw new _s;if(Ee(a)&&Ee(a)<32)throw new gs({data:typeof t==`string`?t:M(t),parameters:e,size:Ee(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=zo(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function ps(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new bs({expectedLength:e.length,givenLength:t.length});let i=Zo(Yo({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function ms(e,t){if(e.length!==t.length)throw new bs({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(ms.encode(i,a))}return D(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return K(e),ue(e.toLowerCase(),r?32:0)}if(e===`string`)return se(n);if(e===`bytes`)return n;if(e===`bool`)return ue(c(n),r?32:1);let i=e.match(Lo);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return E(n,{size:r?32:o,signed:t===`int`})}let a=e.match(Io);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new ys({expectedSize:Number.parseInt(t,10),value:n});return v(n,r?32:0)}let o=e.match(Fo);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:D(...i)}throw new Ss(e)}e.encode=t})(ms||={});function hs(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?r(e):e}var gs=class extends j{constructor({data:e,parameters:n,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${t(n)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},_s=class extends j{constructor(){super(`Cannot decode zero data ("0x") with ABI parameters.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},vs=class extends j{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},ys=class extends j{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${T(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},bs=class extends j{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`
|
|
7
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},xs=class extends j{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},Ss=class extends j{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};function Cs(e){return ws(e,`Hex`)}function ws(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Ts(cs((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new g(e);return re(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Ts(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?M(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Es(e,n,128),i=e.readBytes(r);return t===`Hex`?M(i):i}return Ds(e,Es(e,n,192),t)}function Es(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new j(`Invalid RLP prefix`)}function Ds(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Ts(e,n));return i}function Os(e,t){let{as:n}=t,r=As(e),i=cs(new Uint8Array(r.length));return r.encode(i),n===`Hex`?M(i.bytes):i.bytes}function ks(e,t={}){let{as:n=`Hex`}=t;return Os(e,{as:n})}function As(e){return Array.isArray(e)?js(e.map(e=>As(e))):Ms(e)}function js(e){let t=e.reduce((e,t)=>e+t.length,0),n=Ns(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Ms(e){let t=typeof e==`string`?re(e):e,n=Ns(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Ns(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new j(`Length is too large.`)}function Ps(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Js({signature:e});if(e.r<0n||e.r>Ro)throw new Ys({value:e.r});if(e.s<0n||e.s>Ro)throw new Xs({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Zs({value:e.yParity})}function Fs(e){return Is(M(e))}function Is(e){if(e.length!==130&&e.length!==132)throw new qs({signature:e});let t=BigInt(O(e,0,32)),n=BigInt(O(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Gs(t)}catch{throw new Zs({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Ls(e){if(e.r!==void 0&&e.s!==void 0)return Rs(e)}function Rs(e){let t=typeof e==`string`?Is(e):e instanceof Uint8Array?Fs(e):typeof e.r==`string`?Bs(e):e.v?zs(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Ps(t),t}function zs(e){return{r:e.r,s:e.s,yParity:Gs(e.v)}}function Bs(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Gs(t)),typeof n!=`number`)throw new Zs({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Vs(e){let[t,n,r]=e;return Rs({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Hs(e){Ps(e);let t=e.r,n=e.s;return D(E(t,{size:32}),E(n,{size:32}),typeof e.yParity==`number`?E(Ks(e.yParity),{size:1}):`0x`)}function Us(e){let{r:t,s:n,yParity:r}=e;return{r:E(t,{size:32}),s:E(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Ws(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:S(E(t)),n===0n?`0x`:S(E(n))]}function Gs(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Qs({value:e})}function Ks(e){if(e===0)return 27;if(e===1)return 28;throw new Zs({value:e})}var qs=class extends j{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${T(et(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Js=class extends j{constructor({signature:e}){super(`Signature \`${_t(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Ys=class extends j{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Xs=class extends j{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},Zs=class extends j{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},Qs=class extends j{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};function $s(e,t={}){return typeof e.chainId==`string`?ec(e):{...e,...t.signature}}function ec(e){let{address:t,chainId:n,nonce:r}=e,i=Ls(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function tc(e){return e.map(ec)}function nc(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:E(n),nonce:E(r),...Us(i)}}function rc(e){return e.map(nc)}function ic(e){return ko(ac(e))}function ac(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return go(new $t.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(et(t).substring(2)))}function oc(e){let{hash:t,payload:n}=e;return e.address?Ao(e.address,ic({payload:n,signature:e.signature})):$t.verify(e.signature,b(n),yo(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}var sc=hs(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function cc(e){if(typeof e==`string`){if(O(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new dc(e)}else Ps(e.authorization)}function lc(e){cc(e);let t=u(O(e,-64,-32)),n=O(e,-t-64,-64),r=O(e,0,-t-64),[i,a,o]=fs(sc,n);return{authorization:$s({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function uc(e){try{return cc(e),!0}catch{return!1}}var dc=class extends j{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};function fc(e,t){return x(e,t)}function pc(e,t){return ie(e,t)}function mc(e){return e.map(e=>({...e,value:BigInt(e.value)}))}function hc(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?Zt(e.nonce):void 0,storageProof:e.storageProof?mc(e.storageProof):void 0}}async function gc(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a,storageKeys:o}){let s=Re({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return hc(await e.request({method:`eth_getProof`,params:[t,o,s]}))}async function _c(e,{hash:t}){let n=await e.request({method:`eth_getRawTransactionByHash`,params:[t]},{dedupe:!0});if(!n)throw new me({hash:t});return n}async function vc(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a,slot:o}){let s=Re({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return await e.request({method:`eth_getStorageAt`,params:[t,o,s]})}async function yc(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:I(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,I(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,I(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,I(s)]},{dedupe:!0})),!u)throw new me({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||rr)(u,`getTransaction`)}async function bc(e,{hash:t,transactionReceipt:n}){let[r,i]=await Promise.all([z(e,ni,`getBlockNumber`)({}),t?z(e,yc,`getTransaction`)({hash:t}):void 0]),a=n?.blockNumber||i?.blockNumber;return a?r-a+1n:0n}async function xc(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Ft({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||hi)(n,`getTransactionReceipt`)}async function Sc(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:c,blockTag:l,requireCanonical:u,stateOverride:d}=t,f=t.contracts,p=typeof e.batch?.multicall==`object`?e.batch.multicall:{},m=t.batchSize??p.batchSize??1024,h=t.deployless??p.deployless??!1,g=(()=>{if(t.multicallAddress)return t.multicallAddress;if(h)return null;if(e.chain)return Ie({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),_=[[]],v=0,y=0;for(let e=0;e<f.length;e++){let{abi:t,address:r,args:a,functionName:o}=f[e];try{let e=s({abi:t,args:a,functionName:o});y+=(e.length-2)/2,m>0&&y>m&&_[v].length>0&&(v++,y=(e.length-2)/2,_[v]=[]),_[v]=[..._[v],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Rn(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;_[v]=[..._[v],{allowFailure:!0,callData:`0x`,target:r}]}}let b=!!e.batch?.multicall,x=b?_.flatMap(e=>e.map(e=>[e])):_,S=await Promise.allSettled(x.map(t=>b?Cc(e,{account:n,authorizationList:r,batchSize:m,blockHash:a,blockNumber:o,blockOverrides:c,blockTag:l,call:t[0],multicallAddress:g,requireCanonical:u,stateOverride:d}).then(e=>[e]):z(e,W,`readContract`)({...g===null?{code:Ye}:{address:g},abi:Pe,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:c,blockTag:l,functionName:`aggregate3`,requireCanonical:u,stateOverride:d}))),C=[];for(let e=0;e<S.length;e++){let t=S[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<x[e].length;n++)C.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=x[e][t],{abi:s,address:c,functionName:l,args:u}=f[C.length];try{if(o===`0x`)throw new Be;if(!a)throw new tt({data:r});let e=dt({abi:s,args:u,data:r,functionName:l});C.push(i?{result:e,status:`success`}:e)}catch(e){let t=Rn(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;C.push({error:t,result:void 0,status:`failure`})}}}if(C.length!==f.length)throw new P(`multicall results mismatch`);return C}async function Cc(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=Me({id:w([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>z(e,W,`readContract`)({...i===null?{code:Ye}:{address:i},...a,abi:Pe,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}async function wc(e,t){let{blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,blocks:i,returnFullTransactions:a,traceTransfers:o,validation:c}=t;try{let t=[];for(let e of i){let n=e.blockOverrides?kt(e.blockOverrides):void 0,r=e.calls.map(e=>{let t=e,n=t.account?A(t.account):void 0,r=t.abi?s(t):t.data,i={...t,account:n,data:t.dataSuffix?yt([r||`0x`,t.dataSuffix]):r,from:t.from??n?.address};return it(i),mt(i)}),i=e.stateOverrides?Ve(e.stateOverrides):void 0;t.push({blockOverrides:n,calls:r,stateOverrides:i})}let l=(typeof n==`bigint`?I(n):void 0)||r;return(await e.request({method:`eth_simulateV1`,params:[{blockStateCalls:t,returnFullTransactions:a,traceTransfers:o,validation:c},l]})).map((e,t)=>({...or(e),calls:e.calls.map((e,n)=>{let{abi:r,args:a,functionName:o,to:s}=i[t].calls[n],c=e.error?.data??e.returnData,l=BigInt(e.gasUsed),u=e.logs?.map(e=>U(e)),d=e.status===`0x1`?`success`:`failure`,f=r&&d===`success`&&c!==`0x`?dt({abi:r,data:c,functionName:o}):null,p=(()=>{if(d===`success`)return;let e;if(c===`0x`?e=new Be:c&&(e=new tt({data:c})),e)return Rn(e,{abi:r??[],address:s??`0x`,args:a,functionName:o??`<unknown>`})})();return{data:c,gasUsed:l,logs:u,status:d,...d===`success`?{result:f}:{error:p}}})}))}catch(e){let t=e,n=Je(t,{});throw n instanceof Fe?t:n}}function Tc(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new j(`Unable to normalize signature.`);return i}function Ec(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return jo(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Ec(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(e=>Ec(e,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,``)})):!1}}function Dc(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return Dc(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&jo(n[r],{strict:!1}))return o}}function Oc(e,t={}){let{prepare:n=!0}=t,r=Array.isArray(e)||typeof e==`string`?i(e):e;return{...r,...n?{hash:Mc(r)}:{}}}function kc(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=k(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ac(e)===O(t,0,4):e.type===`event`&&Mc(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Pc({name:t});if(o.length===1)return{...o[0],...i?{hash:Mc(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:Mc(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Ec(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Dc(e.inputs,s.inputs,r);if(t)throw new Nc({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new Pc({name:t});return{...c,...i?{hash:Mc(c)}:{}}}function Ac(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return kc(t,n)}return e[0]})();return O(Mc(t),0,4)}function jc(...t){let n=(()=>{if(Array.isArray(t[0])){let[e,n]=t;return kc(e,n)}return t[0]})();return Tc(typeof n==`string`?n:e(n))}function Mc(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return kc(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:fo(se(jc(t)))}var Nc=class extends j{constructor(t,n){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\`${t.type}\` in \`${Tc(e(t.abiItem))}\`, and`,`\`${n.type}\` in \`${Tc(e(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`})}},Pc=class extends j{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name "${e}"`:t?` with data "${t}"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Fc(...e){let[t,n]=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return[Lc(t),n]}return e})(),{bytecode:r,args:i}=n;return D(r,t.inputs?.length&&i?.length?ps(t.inputs,i):`0x`)}function Ic(e){return Oc(e)}function Lc(e){let t=e.find(e=>e.type===`constructor`);if(!t)throw new Pc({name:`constructor`});return t}function Rc(e,t={}){return Oc(e,t)}function zc(e){return Mc(e)}function Bc(...e){let[t,n,r={}]=(()=>{if(Array.isArray(e[0])){let[t,n,r,i]=e;return[Uc(t,n),r,i]}return e})(),i=fs(t.outputs,n,r);if(!(i&&Object.keys(i).length===0))return i&&Object.keys(i).length===1?Array.isArray(i)?i[0]:Object.values(i)[0]:i}function Vc(...e){let[t,n=[]]=(()=>{if(Array.isArray(e[0])){let[t,n,r]=e;return[Uc(t,n,{args:r}),r]}let[t,n]=e;return[t,n]})(),{overloads:r}=t,i=r?Uc([t,...r],t.name,{args:n}):t,a=Wc(i),o=n.length>0?ps(i.inputs,n):void 0;return o?D(a,o):a}function Hc(e,t={}){return Oc(e,t)}function Uc(e,t,n){let r=kc(e,t,n);if(r.type!==`function`)throw new Pc({name:t,type:`function`});return r}function Wc(e){return Ac(e)}var Gc=`0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`,Kc=`0x0000000000000000000000000000000000000000`,qc=`0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033`,Jc=`0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063fd00430c1461002d575b5f5ffd5b6100476004803603810190610042919061012b565b610049565b005b80825f375f5f825f865afa610060573d5f5f3e3d5ffd5b3d5f5f3e3d5ff35b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61009982610070565b9050919050565b6100a98161008f565b81146100b3575f5ffd5b50565b5f813590506100c4816100a0565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126100eb576100ea6100ca565b5b8235905067ffffffffffffffff811115610108576101076100ce565b5b602083019150836001820283011115610124576101236100d2565b5b9250929050565b5f5f5f6040848603121561014257610141610068565b5b5f61014f868287016100b6565b935050602084013567ffffffffffffffff8111156101705761016f61006c565b5b61017c868287016100d6565b9250925050925092509256fea2646970667358221220635ed99185cacf3f2acba6921f23687c969cec2bbaf5f9ad599f507e6e105e6964736f6c63430008230033`,Yc=3735928559n,Xc=zc(Rc(`event Transfer(address indexed from, address indexed to, uint256 value)`)),Zc=Hc(`function balanceOf(address) returns (uint256)`),Qc=Hc(`function decimals() returns (uint256)`),$c=Hc(`function tokenURI(uint256) returns (string)`),el=Hc(`function symbol() returns (string)`),tl=Hc(`function query(address target, bytes data)`);async function nl(e,t){let{blockNumber:n,blockTag:r,calls:i,stateOverrides:a,traceAssetChanges:o,traceTransfers:s,validation:c}=t,l=t.account?A(t.account):void 0;if(o&&!l)throw new P("`account` is required when `traceAssetChanges` is true");let u=l?Fc(Ic(`constructor(bytes, bytes)`),{bytecode:ft,args:[qc,Vc(Hc(`function getBalance(address)`),[l.address])]}):void 0,d=r??e.experimental_blockTag??`latest`,f=n;if(o&&typeof f!=`bigint`&&d!==`earliest`&&d!==`pending`){if(d===`latest`)f=await ni(e,{cacheTime:0});else{let t=await H(e,{blockTag:d});if(typeof t.number!=`bigint`)throw new P(`Block tag \`${d}\` did not resolve to a number.`);f=t.number}}let p=typeof f==`bigint`?{blockNumber:f}:{blockTag:d},m=o?await wc(e,{...p,blocks:[{calls:i.map(e=>({...e,from:l.address})),stateOverrides:a}],traceTransfers:s,validation:c}):void 0,h=m?[...new Set([...il(m[0].calls.flatMap(e=>e.logs??[]),l.address),...t.calls.map(e=>e.to?.toLowerCase())])].filter(e=>!!e&&e!==`0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`&&e!==`0x0000000000000000000000000000000000000000`):[],g=cl([...l?[l.address]:[],...h,...a?.map(({address:e})=>e)??[]]),_=[{address:g,code:Jc}],[v,y]=await Promise.all([o?Promise.all([sl(e,{account:l.address,...p,data:u,stateOverride:a}),...h.map(t=>sl(e,{account:l.address,address:t,...p,data:Vc(Zc,[l.address]),staticCallAddress:g,stateOverride:a}))]):[],wc(e,{...p,blocks:[{calls:[...i,{to:Kc}].map(e=>({...e,from:l?.address})),stateOverrides:a},...o?[{calls:[{data:u}]},{calls:h.map(e=>({to:g,data:rl(e,Vc(Zc,[l.address]))})),stateOverrides:_},{calls:h.map(e=>({to:g,data:rl(e,Vc(Qc))})),stateOverrides:_},{calls:h.map(e=>({to:g,data:rl(e,Vc($c,[0n]))})),stateOverrides:_},{calls:h.map(e=>({to:g,data:rl(e,Vc(el))})),stateOverrides:_}]:[]],traceTransfers:s,validation:c})]),b=y[0],[x,S,C,ee,te]=o?y.slice(1):[],{calls:ne,...w}=b,re=ne.slice(0,-1),ie=v.map(e=>al(e)?Ht(e.data):null),T=x?.calls??[],ae=S?.calls??[],E=[...T,...ae].map(e=>al(e)?Ht(e.data):null),oe=(C?.calls??[]).map(e=>ol(e,Qc)),se=(te?.calls??[]).map(e=>ol(e,el)),ce=(ee?.calls??[]).map(e=>ol(e,$c)),D=[];for(let[e,t]of E.entries()){let n=ie[e],r=v[e],i=typeof n==`bigint`?n:e>0&&r?.status===`success`&&r.data===`0x`?0n:null;if(typeof t!=`bigint`||typeof i!=`bigint`)continue;let a=oe[e-1],o=se[e-1],s=ce[e-1],c=e===0?{address:Gc,decimals:18,symbol:`ETH`}:{address:h[e-1],decimals:s||a?Number(a??1):void 0,symbol:o??void 0};D.push({token:c,value:{pre:i,post:t,diff:t-i}})}return{assetChanges:D,block:w,results:re}}function rl(e,t){return Vc(tl,[e,t])}function il(e,t){let n=It(t.toLowerCase(),{size:32});return e.filter(e=>e.topics[0]?.toLowerCase()!==Xc||e.address.toLowerCase()===`0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`?!1:e.topics[1]?.toLowerCase()===n||e.topics[2]?.toLowerCase()===n).map(e=>e.address.toLowerCase())}function al(e){return e.status===`success`&&/^0x[\da-f]{64}$/i.test(e.data)}function ol(e,t){if(e.status===`failure`||e.data===`0x`)return null;try{return Bc(t,e.data)}catch{return null}}async function sl(e,t){let{account:n,address:r,blockNumber:i,blockTag:a,data:o,staticCallAddress:s,stateOverride:c}=t;try{return{data:(await Qe({...e,ccipRead:!1},{account:r?`0x0000000000000000000000000000000000000000`:n,data:r?rl(r,o):o,stateOverride:r&&s?[...c??[],{address:s,code:Jc}]:c,...r?{to:s}:{},...typeof i==`bigint`?{blockNumber:i}:{blockTag:a}})).data??`0x`,status:`success`}}catch(e){if(!(e instanceof ve)||!(e.cause instanceof je))throw e;return{data:`0x`,status:`failure`}}}function cl(e){let t=new Set(e.map(e=>e.toLowerCase())),n=Yc;for(;t.has(`0x${n.toString(16).padStart(40,`0`)}`);)n++;return`0x${n.toString(16).padStart(40,`0`)}`}var ll=`0x6492649264926492649264926492649264926492649264926492649264926492`;function ul(e){if(O(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new pl(e)}function dl(e){let{data:t,signature:n,to:r}=e;return D(ps(hs(`address, bytes, bytes`),[r,t,n]),ll)}function fl(e){try{return ul(e),!0}catch{return!1}}var pl=class extends j{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};function ml({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error("Invalid `v` or `yParity` value")})(),o=`0x${new $t.Signature(Ht(e),Ht(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Yt(o)}async function hl(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return Wt(e)?e:typeof e==`object`&&`r`in e&&`s`in e?ml(e):F(e)})();try{if(s===`eoa`)try{if(bt(Jt(n),await Hn({hash:i,signature:c})))return!0}catch{}return uc(c)?await gl(e,{...t,multicallAddress:o,signature:c}):await _l(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(bt(Jt(n),await Hn({hash:i,signature:c})))return!0}catch{}if(e instanceof yl)return!1;throw e}}async function gl(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:c,requireCanonical:l}=t,{authorization:u,data:d,signature:f,to:p}=lc(t.signature);if(await ca(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:l})===Le([`0xef0100`,u.address]))return await vl(e,{...t,signature:f});let m={address:u.address,chainId:Number(u.chainId),nonce:Number(u.nonce),r:I(u.r,{size:32}),s:I(u.s,{size:32}),yParity:u.yParity};if(!await Aa({address:n,authorization:m}))throw new yl;let h=await z(e,W,`readContract`)({...c?{address:c}:{code:Ye},authorizationList:[m],abi:Pe,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:l,args:[[...d?[{allowFailure:!0,target:p??n,callData:d}]:[],{allowFailure:!0,target:n,callData:s({abi:ke,functionName:`isValidSignature`,args:[o,f]})}]]});if((h[h.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new yl}async function _l(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:c,...l}=t,u=await(async()=>!r&&!i||fl(o)?o:dl({data:i,signature:o,to:r}))(),d=c?{to:c,data:s({abi:Nt,functionName:`isValidSig`,args:[n,a,u]}),...l}:{data:nt({abi:Nt,args:[n,a,u],bytecode:at}),...l},{data:f}=await z(e,Qe,`call`)(d).catch(e=>{throw e instanceof ve?new yl:e});if(Rt(f??`0x0`))return!0;throw new yl}async function vl(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await z(e,W,`readContract`)({address:n,abi:ke,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof _?new yl:e})).startsWith(`0x1626ba7e`))return!0;throw new yl}var yl=class extends Error{};async function bl(e,{address:t,message:n,factory:r,factoryData:i,signature:a,...o}){let s=qa(n);return z(e,hl,`verifyHash`)({address:t,factory:r,factoryData:i,hash:s,signature:a,...o})}async function xl(e,t){let{address:n,factory:r,factoryData:i,signature:a,message:o,primaryType:s,types:c,domain:l,...u}=t,d=no({message:o,primaryType:s,types:c,domain:l});return z(e,hl,`verifyHash`)({address:n,factory:r,factoryData:i,hash:d,signature:a,...u})}function Sl(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?G(w([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>Xr(async()=>{try{let t=await z(e,ni,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):G(w([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=Ht(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}async function Cl(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=w([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=ut(),b=c?setTimeout(()=>{g?.(),h?.(),y(new xe({hash:i}))},c):void 0;return h=G(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await z(e,xc,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=z(e,Sl,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await pi(async()=>{d=await z(e,yc,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await z(e,xc,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof me||n instanceof Ft){if(!d){m=!1;return}try{f=d,m=!0;let n=await pi(()=>z(e,H,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof tr});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await z(e,xc,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}var wl=[`size`,`totalDifficulty`,`transactions`,`uncles`,`withdrawals`];function Tl(e,{onBlockHeader:t,onError:n}){let r;return G(w([`watchBlockHeaders`,e.uid]),{onBlockHeader:t,onError:n},t=>{let n=!0,i=!1,a=()=>n=!1;return(async()=>{try{let{unsubscribe:o}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(i){if(!n)return;let a=(e.chain?.formatters?.block?.format||or)(i.result,`watchBlockHeaders`);for(let e of wl)delete a[e];t.onBlockHeader(a,r),r=a},onError(e){i&&t.onError?.(e)}});i=!0,a=o,n||a()}catch(e){t.onError?.(e)}})(),()=>a()})}function El(e,{blockTag:t=e.experimental_blockTag??`latest`,emitMissed:n=!1,emitOnBegin:r=!1,onBlock:i,onError:a,includeTransactions:o,poll:s,pollingInterval:c=e.pollingInterval}){let l=s===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):s,u=o??!1,d;return l?G(w([`watchBlocks`,e.uid,t,n,r,u,c]),{onBlock:i,onError:a},i=>Xr(async()=>{try{let r=await z(e,H,`getBlock`)({blockTag:t,includeTransactions:u});if(r.number!==null&&d?.number!=null){if(r.number===d.number)return;if(r.number-d.number>1&&n)for(let t=d?.number+1n;t<r.number;t++){let n=await z(e,H,`getBlock`)({blockNumber:t,includeTransactions:u});i.onBlock(n,d),d=n}}(d?.number==null||t===`pending`&&r?.number==null||r.number!==null&&r.number>d.number)&&(i.onBlock(r,d),d=r)}catch(e){i.onError?.(e)}},{emitOnBegin:r,interval:c})):(()=>{let n=!0,o=!0,s=()=>n=!1;return(async()=>{try{r&&z(e,H,`getBlock`)({blockTag:t,includeTransactions:u}).then(e=>{n&&(o&&=(i(e,void 0),!1))}).catch(a);let{unsubscribe:c}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],async onData(t){if(!n)return;let r=await z(e,H,`getBlock`)({blockNumber:t.result?.number,includeTransactions:u}).catch(()=>{});n&&(i(r,d),o=!1,d=r)},onError(e){a?.(e)}});s=c,n||s()}catch(e){a?.(e)}})(),()=>s()})()}function Dl(e,{address:t,args:n,batch:r=!0,event:i,events:a,fromBlock:o,onError:s,onLogs:c,poll:l,pollingInterval:u=e.pollingInterval,strict:d}){let f=l===void 0?typeof o==`bigint`||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`):l,p=d??!1;return f?G(w([`watchEvent`,t,n,r,e.uid,i,u,o]),{onLogs:c,onError:s},s=>{let c;o!==void 0&&(c=o-1n);let l,d=!1,f=Xr(async()=>{if(!d){try{l=await z(e,na,`createEventFilter`)({address:t,args:n,event:i,events:a,strict:p,fromBlock:o})}catch{}d=!0;return}try{let o;if(l)o=await z(e,ri,`getFilterChanges`)({filter:l});else{let r=await z(e,ni,`getBlockNumber`)({});o=c&&c!==r?await z(e,Ur,`getLogs`)({address:t,args:n,event:i,events:a,fromBlock:c+1n,toBlock:r}):[],c=r}if(o.length===0)return;if(r)s.onLogs(o);else for(let e of o)s.onLogs([e])}catch(e){l&&e instanceof hn&&(d=!1),s.onError?.(e)}},{emitOnBegin:!0,interval:u});return async()=>{l&&await z(e,ii,`uninstallFilter`)({filter:l}),f()}}):(()=>{let r=!0,o=()=>r=!1;return(async()=>{try{let l=(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})(),u=a??(i?[i]:void 0),f=[];u&&(f=[u.flatMap(e=>an({abi:[e],eventName:e.name,args:n}))],i&&(f=f[0]));let{unsubscribe:m}=await l.subscribe({params:[`logs`,{address:t,topics:f}],onData(e){if(!r)return;let t=e.result;try{let{eventName:e,args:n}=zr({abi:u??[],data:t.data,topics:t.topics,strict:p});c([U(t,{args:n,eventName:e})])}catch(e){let n,r;if(e instanceof qe||e instanceof Ae){if(d)return;n=e.abiItem.name,r=e.abiItem.inputs?.some(e=>!(`name`in e&&e.name))}c([U(t,{args:r?[]:{},eventName:n})])}},onError(e){s?.(e)}});o=m,r||o()}catch(e){s?.(e)}})(),()=>o()})()}function Ol(e,{batch:t=!0,onError:n,onTransactions:r,poll:i,pollingInterval:a=e.pollingInterval}){return(i===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`:i)?G(w([`watchPendingTransactions`,e.uid,t,a]),{onTransactions:r,onError:n},n=>{let r,i=Xr(async()=>{try{if(!r)try{r=await z(e,ra,`createPendingTransactionFilter`)({});return}catch(e){throw i(),e}let a=await z(e,ri,`getFilterChanges`)({filter:r});if(a.length===0)return;if(t)n.onTransactions(a);else for(let e of a)n.onTransactions([e])}catch(e){n.onError?.(e)}},{emitOnBegin:!0,interval:a});return async()=>{r&&await z(e,ii,`uninstallFilter`)({filter:r}),i()}}):(()=>{let t=!0,i=()=>t=!1;return(async()=>{try{let{unsubscribe:a}=await e.transport.subscribe({params:[`newPendingTransactions`],onData(e){if(!t)return;let n=e.result;r([n])},onError(e){n?.(e)}});i=a,t||i()}catch(e){n?.(e)}})(),()=>i()})()}var kl=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;function Al(e){return kl.test(e)?!Number.isNaN(new Date(e).getTime()):!1}function jl(e){return Al(e)?new Date(e):new Date(NaN)}function Ml(e){let{scheme:t,statement:n,...r}=e.match(Nl)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(Pl)?.groups??{},u=e.split(`Resources:`)[1]?.split(`
|
|
8
|
+
- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:jl(a)}:{},...o?{issuedAt:jl(o)}:{},...s?{notBefore:jl(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}var Nl=/^(?:(?<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)?/,Pl=/(?: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 Fl(e){let{address:t,domain:n,message:r,nonce:i,scheme:a,time:o=new Date}=e;if(n&&r.domain!==n||i&&r.nonce!==i||a&&r.scheme!==a||Number.isNaN(o.getTime())||r.expirationTime&&(Number.isNaN(r.expirationTime.getTime())||o>=r.expirationTime)||r.notBefore&&(Number.isNaN(r.notBefore.getTime())||o<r.notBefore))return!1;try{if(!r.address||!Xt(r.address,{strict:!1})||t&&!bt(r.address,t))return!1}catch{return!1}return!0}async function Il(e,t){let{address:n,domain:r,message:i,nonce:a,scheme:o,signature:s,time:c=new Date,...l}=t,u=Ml(i);if(!u.address||!Fl({address:n,domain:r,message:u,nonce:a,scheme:o,time:c}))return!1;let d=qa(i);return hl(e,{address:u.address,hash:d,signature:s,...l})}function Ll(e,t){return{amount:e,decimals:t,formatted:fc(e,t)}}function Rl(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return pc(e.formatted,zl(n))}function zl(e){if(e===void 0)throw Error("Token decimals are required. Pass `amount.decimals` or select a declared token.");return e}function Bl(e,t){return typeof e==`bigint`?t:e.decimals??t}function Vl(e,t){let{decimals:n,token:r}=t,i=Hl(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Xt(r,{strict:!1}))return{address:r,decimals:n??Gl(e,r)};throw Error(`Token "${r}" is not a declared ERC-20 token on the client's \`tokens\` array (with an address for the client's chain), and is not a valid address.`)}function Hl(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=Wl(n,t);if(i)return Ul(i,r);if(Xt(t,{strict:!1}))for(let e of n){let n=Ul(e,r);if(n&&bt(n.address,t))return n}}function Ul(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function Wl(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function Gl(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=Ul(e,r);if(n&&bt(n.address,t))return n.decimals}}async function Kl(e,t){let{address:n,decimals:r}=Vl(e,t);return r===void 0?{address:n,decimals:await W(e,{abi:Et,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function ql(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function Jl(e){return{...e,data:s(e),to:e.address}}async function Yl(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||hi)(i);if(a.status===`reverted`&&n)throw new d({receipt:a});return a}async function Xl(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([W(e,{...o,...Xl.call(e,{account:n,spender:i,token:a})}),Kl(e,{decimals:r,token:a})]);return Ll(s,c)}(function(e){function t(e,t){return Jl({address:Vl(e,t).address,abi:Et,functionName:`allowance`,args:[t.account,t.spender]})}e.call=t})(Xl||={});async function Zl(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new oi;let o=A(n).address,[s,{decimals:c}]=await Promise.all([W(e,{...a,...Zl.call(e,{account:o,token:i})}),Kl(e,{decimals:r,token:i})]);return Ll(s,c)}(function(e){function t(e,t){let n=t.account??e.account;if(!n)throw new oi;let r=A(n).address;return Jl({address:Vl(e,t).address,abi:Et,functionName:`balanceOf`,args:[r]})}e.call=t})(Zl||={});async function Ql(e,t){let{token:n,...r}=t,{address:i}=Vl(e,{token:n}),a=Hl(e,n),[o,s,c]=await Promise.all([a?.decimals??W(e,{...r,abi:Et,address:i,functionName:`decimals`}),a?.name??W(e,{...r,abi:Et,address:i,functionName:`name`}),a?.symbol??W(e,{...r,abi:Et,address:i,functionName:`symbol`})]);return{decimals:o,name:s,symbol:c}}async function $l(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([W(e,{...i,...$l.call(e,{token:r})}),Kl(e,{decimals:n,token:r})]);return Ll(a,o)}(function(e){function t(e,t){return Jl({address:Vl(e,t).address,abi:Et,args:[],functionName:`totalSupply`})}e.call=t})($l||={});function eu(e){return{call:t=>Qe(e,t),createAccessList:t=>ea(e,t),createBlockFilter:()=>ta(e),createContractEventFilter:t=>cn(e,t),createEventFilter:t=>na(e,t),createPendingTransactionFilter:()=>ra(e),estimateContractGas:t=>Lr(e,t),estimateGas:t=>Ir(e,t),getBalance:t=>ia(e,t),getBlobBaseFee:()=>aa(e),getBlock:t=>H(e,t),getBlockNumber:t=>ni(e,t),getBlockReceipts:t=>oa(e,t),getBlockTransactionCount:t=>sa(e,t),getBytecode:t=>ca(e,t),getChainId:()=>Ar(e),getCode:t=>ca(e,t),getContractEvents:t=>Wr(e,t),getDelegation:t=>la(e,t),getEip712Domain:t=>da(e,t),getEnsAddress:t=>Ai(e,t),getEnsAvatar:t=>Zi(e,t),getEnsName:t=>Qi(e,t),getEnsResolver:t=>$i(e,t),getEnsText:t=>Xi(e,t),getFeeHistory:t=>ma(e,t),estimateFeesPerGas:t=>ur(e,t),getFilterChanges:t=>ri(e,t),getFilterLogs:t=>ha(e,t),getGasPrice:()=>sr(e),getLogs:t=>Ur(e,t),getProof:t=>gc(e,t),estimateMaxPriorityFeePerGas:t=>cr(e,t),fillTransaction:t=>jr(e,t),getRawTransaction:t=>_c(e,t),getStorageAt:t=>vc(e,t),getTransaction:t=>yc(e,t),getTransactionConfirmations:t=>bc(e,t),getTransactionCount:t=>fr(e,t),getTransactionReceipt:t=>xc(e,t),multicall:t=>Sc(e,t),prepareTransactionRequest:t=>Fr(e,t),readContract:t=>W(e,t),sendRawTransaction:t=>li(e,t),sendRawTransactionSync:t=>Yl(e,t),simulate:t=>wc(e,t),simulateBlocks:t=>wc(e,t),simulateCalls:t=>nl(e,t),simulateContract:t=>Gr(e,t),verifyHash:t=>hl(e,t),verifyMessage:t=>bl(e,t),verifySiweMessage:t=>Il(e,t),verifyTypedData:t=>xl(e,t),uninstallFilter:t=>ii(e,t),waitForTransactionReceipt:t=>Cl(e,t),watchBlockHeaders:t=>Tl(e,t),watchBlocks:t=>El(e,t),watchBlockNumber:t=>Sl(e,t),watchContractEvent:t=>ai(e,t),watchEvent:t=>Dl(e,t),watchPendingTransactions:t=>Ol(e,t),token:tu(e)}}function tu(e){return{getAllowance:Ci(e,Xl),getBalance:Ci(e,Zl),getMetadata:Ci(e,Ql),getTotalSupply:Ci(e,$l)}}function nu(e){let{key:t=`public`,name:n=`Public Client`}=e;return xi({...e,key:t,name:n,type:`publicClient`}).extend(eu)}function ru({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=bi();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Na(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}var iu=class extends P{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}},au=0,ou=new WeakMap;function su(e){if(!e)return`default`;let t=ou.get(e);if(t!==void 0)return t;let n=au++;return ou.set(e,n),n}function cu(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:m,retryCount:h,timeout:g})=>{let{batchSize:_=1e3,wait:v=0}=typeof n==`object`?n:{},y=t.retryCount??h,b=g??t.timeout??1e4,x=e||m?.rpcUrls.default.http[0];if(!x)throw new iu;let S=Ha(x,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:b});return ru({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=Me({id:`${x}.${su(r?.signal)}`,wait:v,shouldSplitBatch(e){return e.length>_},fn:e=>S.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await S.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new p({body:i,error:s,url:x});return c},retryCount:y,retryDelay:d,timeout:b,type:`http`},{fetchOptions:i,url:x})}}function lu(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return en.verify(i,n instanceof Uint8Array?n:re(n),bo(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var uu=new TextEncoder;Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)]);var du={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function fu(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);uu.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(du[r[e]]<<18)+(du[r[e+1]]<<12)+(du[r[e+2]]<<6)+du[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function pu(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=re(s);if(u.length<37)return!1;if(a!==void 0){let e=u.slice(0,32),t=po(se(a),{as:`Bytes`});if(!ne(e,t))return!1}let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);if(f.type!==`webauthn.get`||!f.challenge||M(fu(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin))return!1;let p=po(ht(c),{as:`Bytes`});return lu({hash:!0,payload:Se(u,p),publicKey:i,signature:o})}function mu(e){return pu(e)}var hu=2049,gu=`0x${`00`.repeat(32)}`,_u=`tempo:multisig:account`,vu=`tempo:multisig:signature`;function yu(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&T(t)!==32)throw new q({reason:`salt must be 32 bytes`});if(r.length===0)throw new q({reason:`owners cannot be empty`});if(r.length>50)throw new q({reason:`too many owners`});if(!Number.isInteger(Number(n)))throw new q({reason:`threshold must be an integer`});if(Number(n)<1)throw new q({reason:`threshold cannot be zero`});if(Number(n)>8)throw new q({reason:`threshold exceeds max threshold`});let i=0,a;for(let e of r){if(!jo(e.owner)||N(e.owner)===0n)throw new q({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new q({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new q({reason:`owner weight cannot be zero`});let t=N(e.owner);if(a!==void 0&&a>=t)throw new q({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>255)throw new q({reason:`total owner weight exceeds u8 max`});if(Number(n)>i)throw new q({reason:`threshold exceeds total owner weight`})}function bu(e){let t=[...e.owners].sort((e,t)=>N(e.owner)<N(t.owner)?-1:1),n={salt:e.salt?ue(e.salt,32):gu,threshold:e.threshold,owners:t};return yu(n),n}function xu(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?ue(t,32):gu,threshold:n===`0x`?0:u(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:u(n)}})}}function Su(e){yu(e);let t=fo(D(se(_u),ue(e.salt??gu,32),E(e.threshold,{size:1}),E(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,E(e.weight,{size:1})]))),n=Oo(O(t,12,32));if(N(n)===0n)throw new q({reason:`derived account cannot be zero`});return n}function Cu(e){let{payload:t,version:n=0n}=e,r=`account`in e&&e.account?e.account:Su(e.initialConfig);return fo(D(se(vu),et(t),r,E(n,{size:8})))}function wu(e){yu(e);let t=e.owners.map(e=>[e.owner,E(e.weight)]);return[e.salt?ue(e.salt,32):gu,E(e.threshold),t]}var q=class extends j{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}},Tu=`0x01`,Eu=`0x02`,Du=`0x03`,Ou=`0x04`,ku=`0x05`,Au=`0x7777777777777777777777777777777777777777777777777777777777777777`;function ju(e){let t=Ru(e);if(t===`secp256k1`){Ps(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new Wu({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new Wu({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){ju(e.inner);return}if(t===`multisig`){Mu(e,1);return}}function Mu(e,t){let n=[];if(e.account||n.push(`account`),Array.isArray(e.signatures)||n.push(`signatures`),n.length>0)throw new Wu({envelope:e,missing:n,type:`multisig`});if(t>2)throw new X({reason:`multisig nesting depth exceeds 2`});if(!jo(e.account))throw new X({reason:`multisig account is invalid`});if(N(e.account)===0n)throw new X({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new X({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new X({reason:`multisig signatures exceed 8`});if(e.init&&(yu(e.init),!Ao(Su(e.init),e.account)))throw new X({reason:`multisig init does not derive account`});for(let n of e.signatures){let e=Ru(n);if(e===`keychain`)throw new X({reason:`keychain owner approvals are not allowed`});if(e===`multisig`){let e=n;if(e.init)throw new X({reason:"nested multisig owner approvals cannot carry `init`"});Mu(e,t+1)}else if(ju(n),T(zu(n))>2049)throw new X({reason:`multisig owner signature exceeds ${hu} bytes`})}}function Nu(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Nu({...e,signature:t.inner}):t.type===`multisig`?t.account:ko(Pu(e))}function Pu(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return ac({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Pu({payload:t,signature:n.inner});case`multisig`:throw new Uu({envelope:n})}}function Fu(e){return Iu(e,0)}function Iu(e,t){let n=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?O(e,0,-T(Au)):e;if(T(n)===65){let e=Is(n);return Ps(e),{signature:e,type:`secp256k1`}}let r=O(n,0,1),i=O(n,1),a=T(i);if(r===Tu){if(a!==129)throw new Y({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${a} bytes`,serialized:n});return{publicKey:{prefix:4,x:N(O(i,64,96)),y:N(O(i,96,128))},prehash:u(O(i,128,129))!==0,signature:{r:N(O(i,0,32)),s:N(O(i,32,64))},type:`p256`}}if(r===Eu){if(a<128)throw new Y({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${a} bytes`,serialized:n});let e=a-128,t=O(i,0,e),r,o;for(let n=37;n<e;n++){let e=be(O(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=O(t,0,n),o=e;break}catch{}}if(!r||!o)throw new Y({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:n});return{publicKey:{prefix:4,x:N(O(i,e+64,e+96)),y:N(O(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:N(O(i,e,e+32)),s:N(O(i,e+32,e+64))},type:`webAuthn`}}if(r===Du||r===Ou)return{userAddress:O(i,0,20),inner:Iu(O(i,20),t),type:`keychain`,version:r===Ou?`v2`:`v1`};if(r===ku){let e=t+1;if(e>2)throw new Y({reason:`multisig nesting depth exceeds 2`,serialized:n});let r=Cs(i);if(!Array.isArray(r)||r.length!==2)throw new Y({reason:`invalid multisig wire shape: expected exactly two fields`,serialized:n});let[a,o]=r;if(!Array.isArray(o)||o.some(Array.isArray))throw new Y({reason:`invalid multisig signatures list`,serialized:n});if(o.length===0)throw new Y({reason:`multisig signatures cannot be empty`,serialized:n});if(o.length>8)throw new Y({reason:`multisig signatures exceed 8`,serialized:n});for(let e of o)if(T(e)>2049&&O(e,0,1)!==`0x05`)throw new Y({reason:`multisig owner signature exceeds ${hu} bytes`,serialized:n});if(!Array.isArray(a)&&!jo(a))throw new Y({reason:`invalid multisig account`,serialized:n});if(Array.isArray(a)){let[e,t,r]=a;if(a.length!==3||Array.isArray(e)||T(e)!==32||Array.isArray(t)||T(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||T(e[1])>1))throw new Y({reason:`invalid multisig init config`,serialized:n})}let s=Array.isArray(a)?xu(a):void 0,c={type:`multisig`,account:s?Su(s):a,signatures:o.map(t=>Iu(t,e)),...s?{init:s}:{}};return Mu(c,e),c}throw new Y({reason:`Unknown signature type identifier: ${r}. Expected ${Tu} (P256), ${Eu} (WebAuthn), ${Du} (Keychain V1), ${Ou} (Keychain V2), or ${ku} (Multisig)`,serialized:n})}function J(e,t){if(typeof e==`string`)return Fu(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Ru(e);if(n===`multisig`){let{initialConfig:t,init:r,...i}=e,a=i.account?i.account:t?Su(t):i.account,o=r===!0?t:r||void 0;return{...i,account:a,signatures:i.signatures.map(e=>J(e)),...o?{init:bu(o)}:{},type:n}}return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:ko(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:ko(ac({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Lu(e){if(e.type===`secp256k1`)return{signature:Bs(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:N(e.pubKeyX),y:N(e.pubKeyY)},signature:{r:N(e.r),s:N(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=T(t),r,i;for(let e=37;e<n;e++){let n=be(O(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=O(t,0,e),i=n;break}catch{}}if(!r||!i)throw new Y({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:N(e.pubKeyX),y:N(e.pubKeyY)},signature:{r:N(e.r),s:N(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:Lu(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`signatures`in e&&(`account`in e||`init`in e)){let t=e,n=t.account!==void 0,r=t.init!==void 0;if(n===r)throw new X({reason:"RPC multisig must contain exactly one of `account` or `init`"});let i=r?bu(t.init):void 0,a={type:`multisig`,account:i?Su(i):t.account,signatures:t.signatures.map(e=>Lu(e)),...i?{init:i}:{}};return ju(a),a}throw new Uu({envelope:e})}function Ru(e){if(typeof e!=`object`||!e)throw new Uu({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;if((`account`in e||`initialConfig`in e||`init`in e)&&`signatures`in e)return`multisig`;throw new Uu({envelope:e})}function zu(e,t={}){let n=Ru(e);if(n===`secp256k1`)return D(Hs(e.signature),t.magic?Au:`0x`);if(n===`p256`){let n=e;return D(Tu,E(n.signature.r,{size:32}),E(n.signature.s,{size:32}),E(n.publicKey.x,{size:32}),E(n.publicKey.y,{size:32}),E(+!!n.prehash,{size:1}),t.magic?Au:`0x`)}if(n===`webAuthn`){let n=e,r=D(n.metadata.authenticatorData,se(n.metadata.clientDataJSON));return D(Eu,r,E(n.signature.r,{size:32}),E(n.signature.s,{size:32}),E(n.publicKey.x,{size:32}),E(n.publicKey.y,{size:32}),t.magic?Au:`0x`)}if(n===`keychain`){let n=e,r=n.version===`v1`?Du:Ou;return D(r,n.userAddress,zu(n.inner),t.magic?Au:`0x`)}if(n===`multisig`){let n=e;return ju(n),D(ku,ks([n.init?wu(n.init):n.account,n.signatures.map(e=>zu(e))]),t.magic?Au:`0x`)}throw new Uu({envelope:e})}function Bu(e){let{payload:t,signatures:n,version:r=0n}=e,i=Cu(`initialConfig`in e&&e.initialConfig?{payload:t,initialConfig:e.initialConfig,version:r}:{payload:t,account:e.account,version:r});return n.map(e=>({key:N(Nu({payload:i,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function Vu(e){let t=Ru(e);if(t===`secp256k1`)return{...Us(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:E(t.publicKey.x,{size:32}),pubKeyY:E(t.publicKey.y,{size:32}),r:E(t.signature.r,{size:32}),s:E(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=D(t.metadata.authenticatorData,se(t.metadata.clientDataJSON));return{pubKeyX:E(t.publicKey.x,{size:32}),pubKeyY:E(t.publicKey.y,{size:32}),r:E(t.signature.r,{size:32}),s:E(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:Vu(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;ju(t);let n=t.signatures.map(e=>Vu(e));return t.init?{init:{...t.init,salt:t.init.salt??gu,threshold:Number(t.init.threshold),owners:t.init.owners.map(e=>({...e,weight:Number(e.weight)}))},signatures:n}:{account:t.account,signatures:n}}throw new Uu({envelope:e})}function Hu(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return ko(t.publicKey)})();if(!r)return!1;let i=J(e);if(i.type===`secp256k1`)return r?oc({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return Ao(ko(i.publicKey),r)?lu({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return Ao(ko(i.publicKey),r)?mu({challenge:et(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new Gu(`Unable to verify signature envelope of type "${i.type}".`)}var Uu=class extends j{constructor({envelope:e}){super(`Unable to coerce value (\`${_t(e)}\`) to a valid signature envelope.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Wu=class extends j{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type "${n}" is missing required properties: ${t.map(e=>`\`${e}\``).join(`, `)}.\n\nProvided: ${_t(e)}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},Y=class extends j{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},X=class extends j{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},Gu=class extends j{constructor(){super(...arguments),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};function Z(e){return e.startsWith(`tempo`)?Ku(e).address:e}function Ku(e){if(!e.startsWith(`tempox`))throw new qu({address:e});let t=e.slice(6);return m(t,{strict:!0}),{address:Do(t)}}var qu=class extends j{constructor({address:e}){super(`Tempo address "${e}" has an invalid prefix. Expected "tempox".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};function Ju(e,t={}){if(typeof e.chainId==`string`)return Yu(e);let n={...e,address:Z(e.address)};return t.signature?{...n,signature:t.signature}:n}function Yu(e){let{address:t,chainId:n,nonce:r}=e,i=Lu(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function Xu(e){return e.map(e=>Yu(e))}function Zu(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=Fu(i)),Ju(a)}function Qu(e){let t=[];for(let n of e)t.push(Zu(n));return t}function $u(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:E(n),nonce:E(r),signature:Vu(i)}}function ed(e){return e.map(e=>$u(e))}function td(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?zu(e.signature):void 0;return[n?E(n):`0x`,t,r?E(r):`0x`,...i?[i]:[]]}function nd(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(td(n));return t}var rd=`0x20c0`;function id(e){if(typeof e==`string`){let t=Z(e);return K(t),t}let t=E(e,{size:18});return D(rd,t)}function ad(e,t={}){if(`keyId`in e)return od(e);let n=e;n.witness!==void 0&&vd(n.witness),n.signature&&yd(n.signature);let r={...n,address:Z(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:Z(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:Z(e.address),selector:_d(e.selector),...e.recipients?{recipients:e.recipients.map(e=>Z(e))}:{}}))}:{}};if(t.signature){let e=J(t.signature);return yd(e),{...r,signature:e}}return r}function od(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0,u=Lu(e.signature);yd(u),s!==void 0&&vd(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:gd(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0,f=l===void 0?{}:{account:l,isAdmin:c??!1};return{address:r,chainId:n===`0x`?0n:N(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&hd(e.period)>0?{period:hd(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...f}}function sd(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=bd(c)?void 0:hd(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:md(n),...r===void 0?{}:{period:hd(r)}}}):void 0,g=Array.isArray(u)?u.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})}):void 0,_=bd(d)?void 0:d;_!==void 0&&vd(_);let v=(()=>{if(!bd(f)){if(f!==`0x01`)throw new Sd(f);return!0}})(),y=bd(p)?void 0:p,b=y===void 0?{}:{account:y,isAdmin:v??!1},x={address:a,chainId:r===`0x`?0n:N(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};if(n){let e=Fu(n);yd(e),x.signature=e}return ad(x)}function cd(e){return ld(e)}function ld(e){let[t]=dd(e);return fo(ks(t))}function ud(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;yd(s),c!==void 0&&vd(c);let d=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:_d(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:E(r),expiry:typeof i==`number`?E(i):null,keyId:Z(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:E(t),...n?{period:pd(n)}:{}})),signature:Vu(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function dd(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&vd(o);let l=(()=>{if(e.signature)return yd(e.signature),zu(e.signature)})(),u=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),d=a?.map(e=>{let t=[e.token,fd(e.limit)];return e.period&&e.period>0&&t.push(pd(e.period)),t}),f=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([_d(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),p=o!==void 0||s||c!==void 0,m=[{value:i!=null&&i!==0?pd(i):void 0,placeholder:`0x`},{value:d,placeholder:p?`0x`:[]},{value:f,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],h=-1;for(let e=m.length-1;e>=0;e--)if(m[e].value!==void 0){h=e;break}let g=m.slice(0,h+1).map(({value:e,placeholder:t})=>e??t);return[[fd(n),u,t,...g],...l?[l]:[]]}function fd(e){return e===0n?`0x`:E(e)}function pd(e){return e===0?`0x`:E(e)}function md(e){return e===`0x`?0n:BigInt(e)}function hd(e){return e===`0x`?0:u(e)}function gd(e){return typeof e==`string`?e:Array.isArray(e)?M(new Uint8Array(e)):e}function _d(e){if(e)return e.startsWith(`0x`)?e:Ac(e)}function vd(e){if(T(e)!==32)throw new xd(e)}function yd(e){if(e.type===`keychain`)throw new Cd(e.type)}function bd(e){return e===void 0||e===`0x`}var xd=class extends Error{constructor(e){super(`Witness \`${e}\` must be exactly 32 bytes (got ${T(e)} bytes).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},Sd=class extends Error{constructor(e){super(`Admin marker \`${e}\` is invalid; expected \`0x01\` (TIP-1049).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},Cd=class extends Error{constructor(e){super(`Signature type \`${e}\` is invalid for key authorizations; expected \`secp256k1\`, \`p256\`, \`webAuthn\`, or \`multisig\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}},wd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Td={"0x0":`legacy`,"0x1":`eip2930`,"0x2":`eip1559`,"0x3":`eip4844`,"0x4":`eip7702`};function Ed(e,t={}){if(!e)return null;let n=Ls(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=tc(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=Td[e.type]??e.type),n&&(r.v=Ks(n.yParity)),r}var Dd={...wd,tempo:`0x76`},Od={...Td,"0x76":`tempo`};function kd(e,t={}){if(!e)return null;let n=Ed(e);return n.type=Od[e.type],e.aaAuthorizationList&&(n.authorizationList=Xu(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=Lu(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=od(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Bs(e.feePayerSignature),n.feePayerSignature.v=Ks(n.feePayerSignature.yParity)),n}function Ad(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=rc(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=E(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=E(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=E(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=E(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=E(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=E(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=E(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=E(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=wd[e.type]||e.type),e.value!==void 0&&(t.value=E(e.value)),t}function jd(e){let t=Ad({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=ed(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?Z(e.to):e.to,value:e.value?E(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?Z(e.to):void 0,value:e.value?E(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=id(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=ud(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=E(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=E(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return ee(6);if(typeof e.nonceKey==`bigint`)return E(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=Dd.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}function Md(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&K(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>mo(e)?e:S(e))})}return t}function Nd(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(T(r[e])!==32)throw new Pd({storageKey:r[e]});n&&K(n,{strict:!1}),t.push([n,r])}return t}var Pd=class extends j{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${T(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}},Fd={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Id(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function Ld(e,t=`wei`){return Id(e,Fd.gwei-Fd[t])}var Rd=class extends j{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${Ld(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},zd=class extends j{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID "${e}" is invalid.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},Bd=class extends j{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${n}" was provided.`,{metaMessages:[`Serialized Transaction: "${t}"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},Vd=class extends j{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${Ld(e)} gwei`:``}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${Ld(t)} gwei`:``}).`].join(`
|
|
9
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}},Hd=`0x78`,Ud=`0x76`,Wd=`tempo`;function Gd(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new $d;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new ef({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&K(e.to,{strict:!1});if(n<=0)throw new zd({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Rd({feeCap:r});if(i&&r&&i>r)throw new Vd({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Kd(e){let t=Cs(O(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new Bd({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:Wd});let y={chainId:Number(n),type:Wd};k(a)&&a!==`0x`&&(y.gas=BigInt(a)),k(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),k(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),k(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),k(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),k(u)&&u!==`0x`&&(y.validBefore=Number(u)),k(d)&&d!==`0x`&&(y.validAfter=Number(d)),k(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Md(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=Qu(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||jo(p)?(y.feePayerSignature=null,jo(p)&&(y.from=p)):y.feePayerSignature=Vs(p)),_&&(y.keyAuthorization=sd(_));let b=v?Fu(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Nu({payload:Xd(qd(y)),signature:b,root:!0})}catch{}return Gd(y),y}function qd(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Kd(e):e;return i.from&&=Z(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:Z(e.to)}:{}})),Gd(i),{...i,...r?{signature:J(r)}:{},...n?{feePayerSignature:Rs(n)}:{},type:`tempo`}}function Jd(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;Gd(e);let h=Nd(n),g=t.signature||e.signature,_=nd(r),v=i.map(e=>[e.to?Z(e.to):`0x`,e.value?E(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=J(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return ko(t.publicKey);if(t.type===`secp256k1`)return ic({payload:Xd(qd(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Ws(n):`0x`})(),x=[E(a),f?E(f):`0x`,d?E(d):`0x`,s?E(s):`0x`,v,h,u?E(u):`0x`,l?E(l):`0x`,typeof p==`number`?E(p):`0x`,typeof m==`number`?E(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?id(o):`0x`,b,_,...c?[dd(c)]:[],...g?[zu(J(g))]:[]];return D(t.format===`feePayer`?Hd:Ud,ks(x))}function Yd(e){return Jd({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Xd(e,t={}){let n=Zd(e,{presign:!0});return t.from?fo(D(`0x04`,n,Z(t.from))):n}function Zd(e,t={}){return fo(t.presign?Yd(e):Jd(e))}function Qd(e,t){let n=Z(t.sender);return fo(Jd({...e,signature:void 0},{sender:n,format:`feePayer`}))}var $d=class extends j{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},ef=class extends j{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}},tf={4217:{base:4217e5,range:100261e4},42431:{base:142431e4,range:723173648}},nf=4217;tf[nf].base;function rf(e,t=nf){let{base:n,range:r}=of(t);return n+e%r}var af=class extends j{constructor({sourceId:e}){super(`Source chain ID "${e}" is not supported.`,{metaMessages:[`Supported source chain IDs: 4217, 42431.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`ZoneId.UnsupportedSourceIdError`})}};function of(e){if(e===4217||e===42431)return tf[e];throw new af({sourceId:e})}var Q=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],sf=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],cf=[{name:`deriveAccount`,type:`function`,stateMutability:`pure`,inputs:[{type:`bytes32`,name:`salt`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[{type:`address`,name:`account`}]},{name:`isMultisigAccount`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`getConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]}]},{name:`updateConfig`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[]},{name:`MultisigInitialized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`MultisigConfigUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{name:`NotMultisigAccount`,type:`error`,inputs:[]},{name:`InvalidAccount`,type:`error`,inputs:[]},{name:`InvalidConfig`,type:`error`,inputs:[]},{name:`InvalidThreshold`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidWeight`,type:`error`,inputs:[]},{name:`TooManyOwners`,type:`error`,inputs:[]},{name:`DuplicateOwner`,type:`error`,inputs:[]},{name:`InvalidOwnerOrder`,type:`error`,inputs:[]},{name:`AccountAlreadyInitialized`,type:`error`,inputs:[]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`SameTransactionUpdateNotAllowed`,type:`error`,inputs:[]}],lf=[{name:`getCommitteeMembers`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}]},{name:`setCommitteeMembers`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}],outputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]}],uf=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],df=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],ff=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],pf=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`bookIndexForKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`bookKey`}],outputs:[{type:`bool`,name:`set`},{type:`uint32`,name:`index`}]},{name:`bookKeyForIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`index`}],outputs:[{type:`bytes32`,name:`bookKey`}]},{name:`setBookIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`index`}],outputs:[]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]},{name:`IndexAlreadySet`,type:`error`,inputs:[]}],mf=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`modeOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint8`}]},{name:`budgetOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`setMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`newMode`}],outputs:[]},{name:`setBudget`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`credits`}],outputs:[]},{name:`InvalidMode`,type:`error`,inputs:[]},{name:`OnlyDirectCall`,type:`error`,inputs:[]}],hf=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],gf=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],_f=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],vf=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],yf=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],bf=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`tokenTransferPolicyId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`,name:`isSet`},{type:`uint64`,name:`policyId`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`migrateTransferPolicyIds`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`tokens`}],outputs:[{type:`uint256`,name:`migrated`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],xf=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],Sf=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],Cf=[{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`nextZoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`zones`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`id`}],outputs:[{type:`tuple`,name:`info`,components:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}]}]},{name:`isZonePortal`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`portal`}],outputs:[{type:`bool`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`previousOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidClosedLoopConfig`,type:`error`,inputs:[]},{name:`NotOwner`,type:`error`,inputs:[]},{name:`InvalidAdmin`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`DuplicateAllowedAccount`,type:`error`,inputs:[]},{name:`DuplicateZoneGateway`,type:`error`,inputs:[]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`messenger`,indexed:!0},{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`tuple`,name:`zoneParams`,components:[{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]}],wf=[{name:`SequencerSetUpdated`,type:`event`,inputs:[{type:`uint64`,name:`nonce`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`address[]`,name:`sequencers`}]},{name:`TokenEnabled`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`}]},{name:`RoleUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`prev`},{type:`uint8`,name:`next`}]},{name:`EnforcementModesUpdated`,type:`event`,inputs:[{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`}]},{name:`LeaderUpdated`,type:`event`,inputs:[{type:`address`,name:`previousLeader`,indexed:!0},{type:`address`,name:`newLeader`,indexed:!0},{type:`uint64`,name:`leaderEpoch`,indexed:!0},{type:`uint64`,name:`leaderActivationTempoBlock`}]},{name:`zoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`admin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`messenger`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`isAccessEnforced`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setAccessMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`isGatewayOpen`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setGatewayMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint8`,name:`role`}],outputs:[{type:`bool`}]},{name:`setAllowedAccount`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setGateway`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setPauseGuardian`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setSequencerSet`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`newSequencers`},{type:`uint8`,name:`newThreshold`}],outputs:[]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`sequencerSetVersion`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`sequencerThreshold`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{name:`zoneHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`isSequencer`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`sequencerCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`sequencerAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`leader`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`leaderEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`leaderActivationTempoBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setLeader`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newLeader`},{type:`uint64`,name:`expectedEpoch`}],outputs:[]},{name:`withdrawalBatchIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`blockHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`currentDepositQueueHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`lastSyncedTempoBlockNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`withdrawalQueueHead`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueTail`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueSlot`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`queueIndex`}],outputs:[{type:`bytes32`}]},{name:`calculateDepositFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`calculateBouncebackFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`depositCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastProcessedDepositNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`FIXED_DEPOSIT_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_GAS_FEE_RATE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKEN_METADATA_BYTES`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`areDepositsActive`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`tokenConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`tuple`,components:[{type:`bool`,name:`enabled`},{type:`bool`,name:`depositsActive`}]}]},{name:`initialize`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address`,name:`messenger`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deliverWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`callbackData`}],outputs:[]},{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`pauseExpiry`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`abdicationEffectiveAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint8`,name:`capability`}],outputs:[{type:`uint64`}]},{name:`processWithdrawals`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple[]`,name:`withdrawals`,components:[{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`encryptedSender`}]},{type:`bytes32`,name:`remainingQueue`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`resume`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`abdicate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`capability`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`enableToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`pauseDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`resumeDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setZoneGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newZoneGasRate`}],outputs:[]},{name:`setMaxTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newMaxTempoGasRate`}],outputs:[]},{name:`setBouncebackGas`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newBouncebackGas`}],outputs:[]},{name:`transferAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newAdmin`}],outputs:[]},{name:`acceptAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`rpcUrl`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setRpcUrl`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`depositEncrypted`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`setSequencerEncryptionKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint8`,name:`popV`},{type:`bytes32`,name:`popR`},{type:`bytes32`,name:`popS`}],outputs:[]},{name:`isTokenEnabled`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`enabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`enabledTokenAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`tokenEnablementHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`zoneGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxTempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`bouncebackGas`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingAdmin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`refunds`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`owner`}],outputs:[{type:`uint128`}]},{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`}]},{name:`encryptionKeyCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`encryptionKeyAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`tuple`,name:`entry`,components:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint64`,name:`activationBlock`}]}]},{name:`isEncryptionKeyValid`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`keyIndex`}],outputs:[{type:`bool`,name:`valid`},{type:`uint64`,name:`expiresAtBlock`}]},{name:`encryptionKeyAtBlock`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`tempoBlockNumber`}],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint256`,name:`keyIndex`}]},{name:`claimRefund`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`uint128`,name:`amount`}]},{name:`DepositMade`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`netAmount`},{type:`uint128`,name:`fee`},{type:`uint256`,name:`keyIndex`},{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`},{type:`address`,name:`tempoRefundRecipient`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositsPaused`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`DepositsResumed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`PortalPaused`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`PortalResumed`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`AbdicationScheduled`,type:`event`,inputs:[{type:`uint8`,name:`capability`,indexed:!0},{type:`uint64`,name:`effectiveAt`}]},{name:`RpcUrlUpdated`,type:`event`,inputs:[{type:`string`,name:`rpcUrl`}]},{name:`SequencerEncryptionKeyUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`},{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]},{name:`WithdrawalProcessed`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`bytes32`,name:`senderTag`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`callbackSuccess`}]},{name:`WithdrawalBounceBack`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`uint64`,name:`fallbackNonce`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositBounceBack`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`DepositBounceBackPending`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`RefundClaimed`,type:`event`,inputs:[{type:`address`,name:`recipient`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`}]},{name:`ZoneGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`zoneGasRate`}]},{name:`MaxTempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`maxTempoGasRate`}]},{name:`BouncebackGasUpdated`,type:`event`,inputs:[{type:`uint64`,name:`bouncebackGas`}]},{name:`AdminTransferStarted`,type:`event`,inputs:[{type:`address`,name:`currentAdmin`,indexed:!0},{type:`address`,name:`pendingAdmin`,indexed:!0}]},{name:`AdminTransferred`,type:`event`,inputs:[{type:`address`,name:`previousAdmin`,indexed:!0},{type:`address`,name:`newAdmin`,indexed:!0}]},{name:`NotSequencer`,type:`error`,inputs:[]},{name:`NotAdmin`,type:`error`,inputs:[]},{name:`NotPauseAuthority`,type:`error`,inputs:[]},{name:`CapabilityAbdicated`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`AbdicationAlreadyScheduled`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`PortalIsPaused`,type:`error`,inputs:[]},{name:`NotPendingAdmin`,type:`error`,inputs:[]},{name:`InvalidProof`,type:`error`,inputs:[]},{name:`InvalidTempoBlockNumber`,type:`error`,inputs:[]},{name:`NotFactory`,type:`error`,inputs:[]},{name:`NotSelf`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`MustDelegateCall`,type:`error`,inputs:[]},{name:`CallbackRejected`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`ReentrantWithdrawal`,type:`error`,inputs:[]},{name:`EncryptionKeyExpired`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`},{type:`uint64`,name:`supersededAtBlock`}]},{name:`InvalidEncryptionKeyIndex`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`}]},{name:`NoEncryptionKeySet`,type:`error`,inputs:[]},{name:`NoEncryptionKeyAtBlock`,type:`error`,inputs:[{type:`uint64`,name:`blockNumber`}]},{name:`InvalidEphemeralPubkey`,type:`error`,inputs:[]},{name:`InvalidCiphertextLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidProofOfPossession`,type:`error`,inputs:[]},{name:`DepositTooSmall`,type:`error`,inputs:[]},{name:`TokenEnablementBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`DepositsNotActive`,type:`error`,inputs:[]},{name:`TokenAlreadyEnabled`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidDepositTransition`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`SequencerConfigurationUnchanged`,type:`error`,inputs:[]},{name:`InvalidQuorumCertificate`,type:`error`,inputs:[]},{name:`CallbackDidNotReturnToZone`,type:`error`,inputs:[]},{name:`InvalidBouncebackRecipient`,type:`error`,inputs:[]},{name:`TokenNotEnabled`,type:`error`,inputs:[]},{name:`DepositBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`InvalidCallbackTarget`,type:`error`,inputs:[]},{name:`AccountNotAllowed`,type:`error`,inputs:[{type:`address`,name:`account`}]},{name:`InvalidLeader`,type:`error`,inputs:[]},{name:`ActiveLeaderRemoved`,type:`error`,inputs:[]},{name:`LeaderAlreadyUpdatedThisBlock`,type:`error`,inputs:[]},{name:`StaleLeadershipEpoch`,type:`error`,inputs:[{type:`uint64`,name:`expected`},{type:`uint64`,name:`actual`}]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`_token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`}]}],Tf=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`active`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`executeFunding`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fund`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setActive`,inputs:[{name:`active_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ActiveSet`,inputs:[{name:`active`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Funded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`requestedAssets`,type:`uint256`,indexed:!1},{name:`fundedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`EarnShareSupplyOutOfBounds`,inputs:[{name:`earnShareSupply`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}]},{type:`error`,name:`Inactive`,inputs:[]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]}],Ef=[{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:`scale`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`}],Df=[{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`}],Of=[{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`}],kf=[{type:`constructor`,inputs:[{name:`tip20Factory_`,type:`address`},{name:`earnVaultImplementation_`,type:`address`},{name:`earnFeesImplementation_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`EARN_SHARE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`FEES_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEarnShareSalt`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:`earnShare`,type:`address`},{name:`earnVault`,type:`address`},{name:`earnFees`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`earnFeesImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVaultImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnFees`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnShare`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`tip20Factory`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnStackDeployed`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`engine`,type:`address`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`owner`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`transferPolicyId`,type:`uint64`,indexed:!1},{name:`earnShareSalt`,type:`bytes32`,indexed:!1},{name:`controlConfigHash`,type:`bytes32`,indexed:!1},{name:`feeConfigHash`,type:`bytes32`,indexed:!1},{name:`earnFeesSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AdminRelinquishmentFailed`,inputs:[]},{type:`error`,name:`EarnShareAlreadyExists`,inputs:[{name:`earnShare`,type:`address`}]},{type:`error`,name:`EarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EmptyEarnShareMetadata`,inputs:[]},{type:`error`,name:`EngineAlreadyBound`,inputs:[{name:`earnVault`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]},{type:`error`,name:`FailedDeployment`,inputs:[]},{type:`error`,name:`InsufficientBalance`,inputs:[{name:`balance`,type:`uint256`},{name:`needed`,type:`uint256`}]},{type:`error`,name:`InvalidDistributorConfig`,inputs:[]},{type:`error`,name:`InvalidEarnFeesImplementation`,inputs:[]},{type:`error`,name:`InvalidEarnVaultImplementation`,inputs:[]},{type:`error`,name:`InvalidEngine`,inputs:[]},{type:`error`,name:`InvalidTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`}]},{type:`error`,name:`IssuerGrantFailed`,inputs:[]},{type:`error`,name:`TransferPolicyMismatch`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`UnsupportedTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`},{name:`policyType`,type:`uint8`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],Af=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`nonpayable`},{type:`function`,name:`claim`,inputs:[{name:`to`,type:`address`},{name:`earnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimableEarnShares`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`closeRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`currentFeeConfigId`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[{name:`operator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`feeBaselinesPending`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feeConfig`,inputs:[{name:`configId`,type:`uint64`}],outputs:[{name:``,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],stateMutability:`view`},{type:`function`,name:`feeRemainder`,inputs:[{name:`configId`,type:`uint64`},{name:`slot`,type:`uint8`}],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`feesActive`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feesDisabled`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`highWaterMark`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`earnVault_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`initialConfig`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeBaselines`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pendingFeeSnapshot`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`},{name:`highWaterValue`,type:`uint256`},{name:`targetValue`,type:`uint256`},{name:`feeConfigId`,type:`uint64`},{name:`requestedAt`,type:`uint40`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewAccruedFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`view`},{type:`function`,name:`recordRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`},{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`settleCancelledRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`returnedValue`,type:`uint256`},{name:`activeSupply`,type:`uint256`},{name:`activeAssets`,type:`uint256`},{name:`totalReentryEarnShares`,type:`uint256`}],outputs:[{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`shouldChargeRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`targetBase`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`targetStartedAt`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`totalClaimableEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`validateFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`view`},{type:`event`,name:`FeeBaselinesInitialized`,inputs:[{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetBase`,type:`uint256`,indexed:!1},{name:`targetStartedAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeConfigurationSet`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`configHash`,type:`bytes32`,indexed:!0},{name:`reactivated`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeDustWaived`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`slot`,type:`uint8`,indexed:!0},{name:`remainder`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesAllocated`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesAccrued`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`activeAssets`,type:`uint256`,indexed:!1},{name:`positiveAccrualAssets`,type:`uint256`,indexed:!1},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1},{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetValuePerEarnShare`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesDisabled`,inputs:[{name:`operator`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`InsufficientClaimableEarnShares`,inputs:[]},{type:`error`,name:`InvalidFeeClaimReceiver`,inputs:[]},{type:`error`,name:`InvalidFeeConfiguration`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],jf=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`treasury_`,type:`address`},{name:`campaignId_`,type:`bytes32`},{name:`claimDeadline_`,type:`uint40`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`campaignId`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`claim`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`},{name:`proof`,type:`bytes32[]`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimDeadline`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`cumulativePaid`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`cumulativeAmount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`fundWithAssets`,inputs:[{name:`funder`,type:`address`},{name:`assets`,type:`uint256`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`leaf`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`merkleRoot`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`publishRoot`,inputs:[{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pushBatch`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`recipients`,type:`address[]`},{name:`cumulativeAmounts`,type:`uint256[]`},{name:`multiproof`,type:`bytes32[]`},{name:`proofFlags`,type:`bool[]`}],outputs:[{name:`paidCount`,type:`uint256`},{name:`paidEarnShares`,type:`uint256`},{name:`skippedCount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`pure`},{type:`function`,name:`returnUnspent`,inputs:[],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`rootTotalEntitlement`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rootVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`setPaused`,inputs:[{name:`paused_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`statementHash`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`totalPaid`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`treasury`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`AssetsFunded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`BatchPushed`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`batchHash`,type:`bytes32`,indexed:!0},{name:`attemptedCount`,type:`uint256`,indexed:!1},{name:`paidCount`,type:`uint256`,indexed:!1},{name:`paidEarnShares`,type:`uint256`,indexed:!1},{name:`skippedCount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`PausedSet`,inputs:[{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`PayoutSkipped`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint256`,indexed:!1},{name:`reason`,type:`uint8`,indexed:!1}],anonymous:!1},{type:`event`,name:`RewardClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`cumulativeAmount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RootPublished`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`root`,type:`bytes32`,indexed:!0},{name:`statementHash`,type:`bytes32`,indexed:!0},{name:`totalEntitlement`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`UnspentReturned`,inputs:[{name:`treasury`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ClaimsExpired`,inputs:[]},{type:`error`,name:`ClaimsNotExpired`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`InsufficientFunding`,inputs:[{name:`requiredBalance`,type:`uint256`},{name:`actualBalance`,type:`uint256`}]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidMultiproof`,inputs:[]},{type:`error`,name:`MerkleProofInvalidMultiproof`,inputs:[]},{type:`error`,name:`NothingOwed`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`OwnershipRenunciationDisabled`,inputs:[]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PausedLiabilityIncrease`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`RootTotalDecreased`,inputs:[{name:`previousTotal`,type:`uint256`},{name:`nextTotal`,type:`uint256`}]},{type:`error`,name:`RootTotalExceeded`,inputs:[{name:`requestedAmount`,type:`uint256`},{name:`remainingEntitlement`,type:`uint256`}]},{type:`error`,name:`StaleRootVersion`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`UnexpectedEarnShares`,inputs:[{name:`reported`,type:`uint256`},{name:`measured`,type:`uint256`}]},{type:`error`,name:`UnexpectedRetainedAssets`,inputs:[{name:`beforeBalance`,type:`uint256`},{name:`afterBalance`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroCampaignId`,inputs:[]},{type:`error`,name:`ZeroDeadline`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroRoot`,inputs:[]},{type:`error`,name:`ZeroStatementHash`,inputs:[]}],Mf=[{type:`constructor`,inputs:[{name:`allowedZoneId_`,type:`uint32`},{name:`earnVault_`,type:`address`},{name:`privateAsset_`,type:`address`},{name:`tokenAuthority_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`allowedZoneId`,inputs:[],outputs:[{name:``,type:`uint32`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`onWithdrawalReceived`,inputs:[{name:`sourceZoneId`,type:`uint32`},{name:`sourcePortal`,type:`address`},{name:``,type:`bytes32`},{name:`token`,type:`address`},{name:`amount`,type:`uint128`},{name:`callbackData`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}],stateMutability:`nonpayable`},{type:`function`,name:`privateAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`reserveToken`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`supportsFlow`,inputs:[{name:`flow`,type:`uint8`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`tokenAuthority`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`transactionLimit`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vaultAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnDeposit`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`inputToken`,type:`address`,indexed:!0},{name:`inputAmount`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnRedeem`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`outputToken`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`outputAmount`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AmountExceedsLimit`,inputs:[]},{type:`error`,name:`AmountOverflow`,inputs:[]},{type:`error`,name:`BadFlow`,inputs:[]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidAuthority`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidPrivateAsset`,inputs:[]},{type:`error`,name:`InvalidReturnToken`,inputs:[]},{type:`error`,name:`InvalidRoutePair`,inputs:[]},{type:`error`,name:`InvalidSourcePortal`,inputs:[]},{type:`error`,name:`InvalidTransactionLimit`,inputs:[]},{type:`error`,name:`NotZoneMessenger`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ResidualBalance`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`WrongInputToken`,inputs:[]},{type:`error`,name:`WrongSourceZone`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],Nf=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`MAX_REWARD_RATE_MULTIPLIER`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`absorbEngineShareSurplus`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptDistributor`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`anchorEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`anchorEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`asyncJanitor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelDistributorFeeUpdate`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelDistributorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`minReceiverEarnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contribute`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`receivedEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`convertEngineSharesToEarnShares`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`convertToEngineShares`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`engineShares_`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositVenueShares`,inputs:[{name:`venueShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositsPaused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`distributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`distributorFee`,inputs:[],outputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],stateMutability:`view`},{type:`function`,name:`distributorUpdateDelay`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`earnFees`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`emergencyGuardian`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engine`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engineMigrationMode`,inputs:[],outputs:[{name:``,type:`uint8`}],stateMutability:`view`},{type:`function`,name:`engineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`executeDistributorFeeUpdate`,inputs:[],outputs:[{name:`feeConfigId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`finalizeRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`asset_`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`engine_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`earnFees_`,type:`address`},{name:`operator_`,type:`address`},{name:`controlInit_`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorInit_`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isAccountingAligned`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxManagedAssets`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`migrateEngine`,inputs:[{name:`newEngine`,type:`address`},{name:`minNewEngineShares`,type:`uint256`},{name:`minAssetsRetained`,type:`uint256`}],outputs:[{name:`newEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`normalizedRewardRate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`openRedeemRequestCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`operator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributorFeeUpdate`,inputs:[],outputs:[{name:``,type:`tuple`,components:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`},{name:`executableAt`,type:`uint40`},{name:`pending`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`pendingRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`receiver`,type:`address`},{name:`requester`,type:`address`},{name:`burnedEarnShares`,type:`uint256`},{name:`engineShares`,type:`uint256`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rawEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`remainingDepositCapacity`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`requestRedeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`engineData`,type:`bytes`},{name:`receiver`,type:`address`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`rewardRateBaseline`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`scheduleDistributorFeeUpdate`,inputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setDepositsPaused`,inputs:[{name:`paused`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setEmergencyRoles`,inputs:[{name:`newGuardian`,type:`address`},{name:`newJanitor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`setMaxManagedAssets`,inputs:[{name:`newMaxManagedAssets`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`surplusEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferDistributor`,inputs:[{name:`newDistributor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawExact`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`maxEarnShares`,type:`uint256`}],outputs:[{name:`earnSharesBurned`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Contributed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DepositPauseChanged`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateScheduled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`executableAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`feeConfigId`,type:`uint64`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferStarted`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferred`,inputs:[{name:`previousDistributor`,type:`address`,indexed:!0},{name:`newDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EmergencyRolesChanged`,inputs:[{name:`emergencyGuardian`,type:`address`,indexed:!0},{name:`asyncJanitor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EngineMigrated`,inputs:[{name:`oldEngine`,type:`address`,indexed:!0},{name:`newEngine`,type:`address`,indexed:!0},{name:`oldEngineShares`,type:`uint256`,indexed:!1},{name:`assetsMoved`,type:`uint256`,indexed:!1},{name:`newEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareSurplusAbsorbed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxManagedAssetsChanged`,inputs:[{name:`previousMaxManagedAssets`,type:`uint256`,indexed:!1},{name:`newMaxManagedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemCancelled`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemFinalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`requester`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ActiveSupplyWithoutBacking`,inputs:[]},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotPending`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotReady`,inputs:[{name:`executableAt`,type:`uint40`}]},{type:`error`,name:`DistributorTransferNotPending`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EngineAssetMismatch`,inputs:[]},{type:`error`,name:`EngineCapabilityUnsupported`,inputs:[{name:`interfaceId`,type:`bytes4`}]},{type:`error`,name:`EngineEarnVaultMismatch`,inputs:[]},{type:`error`,name:`EngineExitUnsupported`,inputs:[]},{type:`error`,name:`ExceedsMaxEarnShares`,inputs:[]},{type:`error`,name:`ExcessiveConversionLoss`,inputs:[{name:`inputShares`,type:`uint256`},{name:`representedShares`,type:`uint256`}]},{type:`error`,name:`ExcessiveMigrationClassificationError`,inputs:[{name:`expectedManagedAssets`,type:`uint256`},{name:`actualManagedAssets`,type:`uint256`}]},{type:`error`,name:`FeeValuationStale`,inputs:[]},{type:`error`,name:`FinalizedAssetMismatch`,inputs:[{name:`finalizedAsset`,type:`address`}]},{type:`error`,name:`GlobalFeeDisableUnavailable`,inputs:[]},{type:`error`,name:`InitialEarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`InsufficientEngineShareSurplus`,inputs:[{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidDistributorConfiguration`,inputs:[]},{type:`error`,name:`InvalidDistributorFeeConfiguration`,inputs:[]},{type:`error`,name:`InvalidEarnDecimals`,inputs:[]},{type:`error`,name:`InvalidEngineShareScale`,inputs:[]},{type:`error`,name:`MaxManagedAssetsExceeded`,inputs:[{name:`maximum`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`MinimumAssetsNotMet`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`MinimumEarnSharesNotMet`,inputs:[{name:`minimumEarnShares`,type:`uint256`},{name:`actualEarnShares`,type:`uint256`}]},{type:`error`,name:`MinimumEngineSharesNotMet`,inputs:[{name:`minimumEngineShares`,type:`uint256`},{name:`actualEngineShares`,type:`uint256`}]},{type:`error`,name:`NoEarnShares`,inputs:[]},{type:`error`,name:`NotDistributor`,inputs:[]},{type:`error`,name:`NotEmergencyGuardianOrOperator`,inputs:[]},{type:`error`,name:`NotEngine`,inputs:[]},{type:`error`,name:`NotOperator`,inputs:[]},{type:`error`,name:`NotPendingDistributor`,inputs:[]},{type:`error`,name:`NotRequesterOrJanitor`,inputs:[]},{type:`error`,name:`OperatorMigrationDisabled`,inputs:[]},{type:`error`,name:`PendingRedeemsOpen`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RequestNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ResidualBacking`,inputs:[]},{type:`error`,name:`RewardRateLimitExceeded`,inputs:[{name:`normalizedRate`,type:`uint256`},{name:`baselineRate`,type:`uint256`}]},{type:`error`,name:`SameEngine`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroMinimumAssets`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroMinimumEngineShares`,inputs:[]}],Pf=[{type:`constructor`,inputs:[{name:`vault_`,type:`address`},{name:`owner_`,type:`address`},{name:`nameOverride_`,type:`string`},{name:`symbolOverride_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`from`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],Ff=[{type:`function`,name:`ENGINE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEngineSalt`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:`engine`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`predictEngine`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ERC4626EngineDeployed`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`vault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`asset`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`engineSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EngineAlreadyExists`,inputs:[{name:`engine`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]}],If=[{type:`constructor`,inputs:[{name:`peripheryRegistry_`,type:`address`},{name:`owner_`,type:`address`},{name:`maxRateAge_`,type:`uint64`},{name:`name_`,type:`string`},{name:`symbol_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accountant`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`accountantRateUpdatedAt`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`authorizedForwarder`,inputs:[{name:`forwarder`,type:`address`}],outputs:[{name:`authorized`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimQueue`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`claimRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`finalizeOneExternal`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`forwardSolved`,inputs:[{name:`requestIds`,type:`bytes32[]`},{name:`asset_`,type:`address`},{name:`delta`,type:`uint256`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getClaim`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`status`,type:`uint8`},{name:`request`,type:`tuple`,components:[{name:`nonce`,type:`uint96`},{name:`user`,type:`address`},{name:`assetOut`,type:`address`},{name:`amountOfShares`,type:`uint128`},{name:`amountOfAssets`,type:`uint128`},{name:`creationTime`,type:`uint40`},{name:`secondsToMaturity`,type:`uint24`},{name:`secondsToDeadline`,type:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxRateAge`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`openClaimsByQueue`,inputs:[{name:`requestQueue`,type:`address`}],outputs:[{name:`count`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryRegistry`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`queue`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`rate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`recoverExternalSettlement`,inputs:[{name:`requestIds`,type:`bytes32[]`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`setAuthorizedForwarder`,inputs:[{name:`account`,type:`address`},{name:`authorized`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxRateAge`,inputs:[{name:`newMaxRateAge`,type:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settled`,inputs:[{name:`asset`,type:`address`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`sweepDust`,inputs:[{name:`token`,type:`address`},{name:`to`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`syncVedaPeriphery`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`teller`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unresolvedClaimCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`AuthorizedForwarderChanged`,inputs:[{name:`account`,type:`address`,indexed:!0},{name:`authorized`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DustSwept`,inputs:[{name:`token`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`ExternalSettlementRecovered`,inputs:[{name:`requestCount`,type:`uint256`,indexed:!1},{name:`recoveredAssets`,type:`uint256`,indexed:!1},{name:`claimed`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FinalizeFailed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Finalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxRateAgeUpdated`,inputs:[{name:`oldMaxRateAge`,type:`uint64`,indexed:!1},{name:`newMaxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelledOnQueue`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemClaimed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`assetOut`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Unearmarked`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaPeripheryUpdated`,inputs:[{name:`registryVersion`,type:`uint64`,indexed:!0},{name:`oldTeller`,type:`address`,indexed:!0},{name:`oldQueue`,type:`address`,indexed:!0},{name:`oldAccountant`,type:`address`,indexed:!1},{name:`newTeller`,type:`address`,indexed:!1},{name:`newQueue`,type:`address`,indexed:!1},{name:`newAccountant`,type:`address`,indexed:!1},{name:`validatedRate`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`AssetsNotArrived`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`BaseAssetSweepBlocked`,inputs:[{name:`unresolvedClaims`,type:`uint256`}]},{type:`error`,name:`CannotSweepEngineBacking`,inputs:[]},{type:`error`,name:`ClaimNotClaimable`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ClaimNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`CreditExceedsBalance`,inputs:[{name:`asset`,type:`address`},{name:`have`,type:`uint256`},{name:`wantTotal`,type:`uint256`}]},{type:`error`,name:`DepositsNotPaused`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`EngineSharesTooLarge`,inputs:[{name:`engineShares`,type:`uint256`}]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidAsset`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidMaxRateAge`,inputs:[]},{type:`error`,name:`InvalidRateTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`}]},{type:`error`,name:`InvalidTrackedRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`InvalidVedaPeriphery`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`InvalidVedaPeripheryWiring`,inputs:[{name:`component`,type:`address`},{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidVedaRateBounds`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoPublishedVedaPeriphery`,inputs:[]},{type:`error`,name:`NoRecoverableClaims`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotAuthorizedForwarder`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`QueueTrackingDisabled`,inputs:[{name:`queue`,type:`address`}]},{type:`error`,name:`QueueUnavailable`,inputs:[]},{type:`error`,name:`RateChangedWithinTransaction`,inputs:[{name:`expected`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RegistryEngineMismatch`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`SolveUnderfunded`,inputs:[{name:`asset`,type:`address`},{name:`delivered`,type:`uint256`},{name:`required`,type:`uint256`}]},{type:`error`,name:`StaleAccountantRate`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`},{name:`maxAge`,type:`uint256`}]},{type:`error`,name:`SweepExceedsAvailableBalance`,inputs:[{name:`token`,type:`address`},{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesQueued`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnsupportedAccountantFreshness`,inputs:[{name:`accountant`,type:`address`}]},{type:`error`,name:`VedaRateOutOfBounds`,inputs:[{name:`rate`,type:`uint256`},{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],Lf=[{name:`tempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxWithdrawalsPerBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`lastBatch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`withdrawalBatchIndex`}]}]},{name:`lastFinalizedTimestamp`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`nextWithdrawalIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastFallbackNonce`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingWithdrawalsCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPendingWithdrawals`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,components:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`bytes32`,name:`txHash`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`revealTo`}]}]},{name:`consumeFallbackRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`fallbackNonce`}],outputs:[{type:`address`,name:`recipient`}]},{name:`calculateWithdrawalFee`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`gasLimit`}],outputs:[{type:`uint128`,name:`fee`}]},{name:`MAX_CALLBACK_DATA_SIZE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`WITHDRAWAL_BASE_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`REVEAL_TO_KEY_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`setTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`_tempoGasRate`}],outputs:[]},{name:`setMaxWithdrawalsPerBlock`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`_maxWithdrawalsPerBlock`}],outputs:[]},{name:`requestWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`address`,name:`zoneFallbackRecipient`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}],outputs:[]},{name:`enqueueDepositBounceBack`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[]},{name:`finalizeWithdrawalBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`count`},{type:`uint64`,name:`blockNumber`},{type:`bytes[]`,name:`encryptedSenders`}],outputs:[{type:`bytes32`,name:`withdrawalQueueHash`}]},{name:`WithdrawalRequested`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalIndex`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`fee`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}]},{name:`BatchFinalized`,type:`event`,inputs:[{type:`bytes32`,name:`withdrawalQueueHash`,indexed:!0},{type:`uint64`,name:`withdrawalBatchIndex`}]},{name:`TempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`tempoGasRate`}]},{name:`MaxWithdrawalsPerBlockUpdated`,type:`event`,inputs:[{type:`uint32`,name:`maxWithdrawalsPerBlock`}]},{name:`OnlySequencer`,type:`error`,inputs:[]},{name:`GasLimitTooHigh`,type:`error`,inputs:[]},{name:`OnlyZoneInbox`,type:`error`,inputs:[]},{name:`InvalidWithdrawalCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidFallbackRecipient`,type:`error`,inputs:[]},{name:`CallbackDataTooLarge`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`InvalidBlockNumber`,type:`error`,inputs:[]},{name:`TooManyWithdrawalsThisBlock`,type:`error`,inputs:[]},{name:`InvalidRevealTo`,type:`error`,inputs:[]},{name:`InvalidCurrentTxHash`,type:`error`,inputs:[]},{name:`ZeroAmountWithdrawal`,type:`error`,inputs:[]},{name:`StaticCallNotAllowed`,type:`error`,inputs:[]}],Rf=[{name:`relayMessage`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`target`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`data`}],outputs:[]}],zf=[{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]}],Bf=[...Q,...sf,...lf,...gf,...hf,...cf,...uf,...df,...ff,...pf,...mf,...yf,..._f,...vf,...bf,...Sf,...xf,...Cf,...wf],Vf=[...Tf,...Ef,...Df,...Of,...kf,...Af,...jf,...Mf,...Nf,...Pf,...Ff,...If],Hf=[...Rf,...Lf,...zf];[...Bf,...Vf,...Hf];function Uf(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisig!==void 0||e.multisigVersion!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Or(e)}function Wf(e){try{return Uf(e)===`tempo`}catch{return!1}}async function Gf(e,t){if(!Wf(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error("Unsupported signature type. Expected `secp256k1` but got `"+t.type+"`.");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return Sa(e,{r:E(n,{size:32}),s:E(r,{size:32}),yParity:i})}return Sa(e,t)}if(Uf(e)===`tempo`)return Kf(e,t);throw Error(`Unsupported transaction type`)}async function Kf(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return J({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=n!==void 0||!!(e.multisig&&e.signatures),u=i===!0&&(!l||!s)||typeof i==`object`&&!l||!l&&c,d={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}},f={...d};u&&delete f.feeToken;let p=(()=>{if(n)return n;if(!e.multisig||!e.signatures)return;let t=Xd(qd(f)),r=e.signatures.map(e=>J(e)),i=typeof e.multisig==`string`?Bu({account:e.multisig,payload:t,signatures:r,version:e.multisigVersion}):Bu({initialConfig:e.multisig,payload:t,signatures:r,version:e.multisigVersion}),o=e.keyAuthorization?.signature,s=o?.type===`multisig`&&o.init!==void 0;return typeof e.multisig==`string`?J({account:e.multisig,signatures:i}):J({initialConfig:e.multisig,signatures:i,...a||e.nonceKey||s?{}:{init:!0}})})();if(p&&typeof e.feePayer==`object`){let t=qd(d,{signature:p}),n=Qd(t,{sender:e.from??Nu({payload:Xd(t),root:!0,signature:p})});return Jd(t,{feePayerSignature:Rs(await e.feePayer.sign({hash:n}))})}return i===!0||!p&&c?p&&s?Jd(f,{signature:p}):p?Jd(f,{format:`feePayer`,sender:e.from,signature:p}):Jd(f,{feePayerSignature:null}):Jd(f,{feePayerSignature:void 0,signature:p})}function qf(e){return e.source===`multisig`}async function Jf(e,t){let{init:n=!1,payload:r,signatures:i=[],states:a=[],version:o=0n}=t,s=a.find(t=>Ao(t.account,e.address))?.config??e.config;if(!s)throw Error(`Current multisig config is required for local signing.`);let c=Cu({account:e.address,payload:r,version:o}),l=[...i],u=new Set,d=0;for(let e of i){let t=Nu({payload:c,signature:e}).toLowerCase(),n=s.owners.find(e=>Ao(e.owner,t));n&&!u.has(t)&&(u.add(t),d+=Number(n.weight))}for(let t of s.owners){let n=t.owner.toLowerCase();if(u.has(n))continue;let r=e.owners.find(e=>Ao(e.address,t.owner));if(r){if(qf(r)){let e=a.find(e=>Ao(e.account,r.address));if(e&&!e.initialized)throw Error(`Nested multisig owners must be initialized.`);l.push(await Jf(r,{payload:c,states:a,version:e?.version}))}else{if(!r.sign)throw Error(`Multisig owner account cannot sign.`);l.push(J(await r.sign({hash:c})))}if(u.add(n),d+=Number(t.weight),d>=Number(s.threshold))break}}if(d<Number(s.threshold))throw Error(`Local multisig owners do not meet the threshold.`);if(n&&!e.config)throw Error(`Initial multisig config is required for bootstrap.`);return J({account:e.address,...n?{init:e.config}:{},signatures:Bu({account:e.address,payload:r,signatures:l,version:o})})}function Yf(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function Xf(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,scopes:s,witness:c}=t,{accessKeyAddress:l,keyType:u}=Qf(a),d=Yf(e)||qf(e)?{account:e.address}:{},f=n?{}:{expiry:i,limits:o,scopes:s};return cd({address:l,chainId:r,type:u,witness:c,...n?{isAdmin:!0}:{},...d,...f})}async function Zf(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,multisig:s,scopes:c,signatures:l,witness:u}=t,{accessKeyAddress:d,keyType:f}=Qf(a),p=Yf(e),m=qf(e),h=p||m?{account:e.address}:{},g=n?{}:{expiry:i,limits:o,scopes:c},_=Xf(e,t);return ad({address:d,chainId:r,signature:J(await(async()=>{if(p)return e.sign({hash:_,raw:!0});if(m){if(!s)throw Error(`Multisig state is required to sign a key authorization.`);return zu(await Jf(e,{init:s.init,payload:_,signatures:l?.map(e=>J(e)),states:s.states,version:s.version}))}return e.sign({hash:_})})()),type:f,...u?{witness:u}:{},...n?{isAdmin:!0}:{},...h,...g})}function Qf(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:ko(vo(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}rf(0),rf(0,42431);var $f=`0xaAAAaaAA00000000000000000000000000000000`,ep=`0xAACC000000000000000000000000000000000000`,tp=`0x5165300000000000000000000000000000000000`,np=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function rp(e,t){return np.indexOf(e)<np.indexOf(t)}function ip(e){let t=new Map;return n=>{let r=n.toLowerCase(),i=t.get(r);if(i)return i;let a=(async()=>{try{let t=await e(n);return{account:n,config:{owners:t.owners,threshold:t.threshold},initialized:!0,version:t.version}}catch(e){let t=e instanceof P?e.walk(e=>e instanceof h):void 0;if(!(t instanceof h)||t.data?.errorName!==`NotMultisigAccount`)throw e;return{account:n,initialized:!1,version:0n}}})();return t.set(r,a),a}}function ap(e,t){let n=[e],r=new Set([e.address.toLowerCase()]),i=e=>{for(let t of e.owners){if(t.source!==`multisig`)continue;let e=t.address.toLowerCase();r.has(e)||(r.add(e),n.push(t),i(t))}};return i(e),Promise.all(n.map(e=>t(e.address)))}function $(e){return{...e,data:s(e),to:e.address}}async function op(e,t){let{account:n,...r}=t;return W(e,{...r,...op.call({account:n})})}(function(e){function t(e){return $({address:ep,abi:cf,args:[e.account],functionName:`isMultisigAccount`})}e.call=t})(op||={});async function sp(e,t){let{account:n,...r}=t;return W(e,{...r,...sp.call({account:n})})}(function(e){function t(e){return $({address:ep,abi:cf,args:[e.account],functionName:`getConfig`})}e.call=t})(sp||={});async function cp(e,t){return cp.inner(fi,e,t)}(function(e){async function t(t,n,r){let{owners:i,threshold:a,...o}=r;return await t(n,{...o,...e.call({owners:i,threshold:a})})}e.inner=t;function n(e){let t=bu(e);return $({address:ep,abi:cf,args:[t.threshold,t.owners],functionName:`updateConfig`})}e.call=n;function r(e){let[t]=Vr({abi:cf,logs:e,eventName:`MultisigConfigUpdated`,strict:!0});if(!t)throw Error("`MultisigConfigUpdated` event not found.");return t}e.extractEvent=r})(cp||={});var lp={0:`secp256k1`,1:`p256`,2:`webAuthn`},up={true:`limited`,false:`unlimited`};async function dp(e,t){return dp.inner(di,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await yp(t,{account:d,accessKey:r,chainId:a,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=Vr({abi:Q,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error("`KeyAuthorized` event not found.");return t}e.extractEvent=n})(dp||={});async function fp(e,t){return fp.inner(fi,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return $({address:$f,abi:Q,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=Vr({abi:Q,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error("`KeyAuthorizationWitnessBurned` event not found.");return t}e.extractEvent=r})(fp||={});async function pp(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=A(n),o=await W(e,{...i,account:null,...pp.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:lp[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:up[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return $({address:$f,abi:Q,functionName:`getKey`,args:[t,Sp(n)]})}e.call=t})(pp||={});async function mp(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=A(n),s=e.chain?.hardfork;if(s&&rp(s,`t3`))return{remaining:await W(e,{...a,...mp.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await W(e,{...a,...mp.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return $({address:$f,abi:Q,functionName:`getRemainingLimit`,args:[t,Sp(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return $({address:$f,abi:Q,functionName:`getRemainingLimitWithPeriod`,args:[t,Sp(n),r]})}e.callWithPeriod=n})(mp||={});async function hp(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=A(n);return W(e,{...i,account:null,...hp.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return $({address:$f,abi:Q,functionName:`isAdminKey`,args:[t,Sp(n)]})}e.call=t})(hp||={});async function gp(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=A(n);return W(e,{...i,account:null,...gp.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return $({address:$f,abi:Q,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(gp||={});async function _p(e,t){return _p.inner(fi,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return $({address:$f,abi:Q,functionName:`revokeKey`,args:[Sp(t)]})}e.call=n;function r(e){let[t]=Vr({abi:Q,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error("`KeyRevoked` event not found.");return t}e.extractEvent=r})(_p||={});async function vp(e,t){let{chainId:n=e.chain?.id}=t,r=t.account??e.account;if(!r)throw Error(`account is required.`);if(!n)throw Error(`chainId is required.`);let i=A(r),a=await(async()=>{if(`multisig`in t)return t.multisig;if(i.source!==`multisig`)return;let n=await ap(i,ip(t=>sp(e,{account:t}))),r=n[0];return{init:!r.initialized,states:n,version:r.version}})(),o=Xf(i,{...t,chainId:BigInt(n),key:t.accessKey}),s=i.source===`multisig`&&a?Cu({account:i.address,payload:o,version:a.version}):o;return{...t,account:i,chainId:n,multisig:a,signPayload:s}}async function yp(e,t){let{accessKey:n,account:r,chainId:i,multisig:a,signPayload:o,...s}=`multisig`in t?t:await vp(e,t);return Zf(r,{chainId:BigInt(i),key:n,multisig:a,...s})}async function bp(e,t){return bp.inner(fi,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return $({address:$f,abi:Q,functionName:`updateSpendingLimit`,args:[Sp(t),n,r]})}e.call=n;function r(e){let[t]=Vr({abi:Q,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error("`SpendingLimitUpdated` event not found.");return t}e.extractEvent=r})(bp||={});async function xp(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return W(e,{...o,...xp.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return $({address:tp,abi:ff,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(xp||={});function Sp(e){return typeof e==`string`?e:e.accessKeyAddress}function Cp(e){if(!Wf(e))return rr(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=kd(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:E(n.r,{size:32}),s:E(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:Dd[a.type],type:a.type}}function wp(e){return hi(e)}function Tp(e,t){let n=e,r=n.account?A(n.account):void 0;if(!Wf(n))return mt(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigOwnerStates:o,multisigSignatureCount:s,multisigVersion:c,signatures:l,...u}=n,d=jd({...u,type:`tempo`});t===`estimateGas`&&(d.maxFeePerGas=void 0,d.maxPriorityFeePerGas=void 0),d.to=void 0,d.data=void 0,d.value=void 0;let[f,p]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Ep(n.keyData)]:[n.keyType,Ep(n.keyData)]})(),m=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(d.from=r.address),{...d,...a?{multisigInit:a}:{},...s===void 0?{}:{multisigSignatureCount:s},...n.capabilities?{capabilities:n.capabilities}:{},...p?{keyData:p}:{},...m?{keyId:m}:{},...f?{keyType:f}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?A(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Ep(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:E(t,{size:2})}var Dp=new Map;async function Op(e){Dp.set(e,(Dp.get(e)??0)+1),await Promise.resolve();let t=(Dp.get(e)??0)>1;return queueMicrotask(()=>{let t=Dp.get(e)??0;t<=1?Dp.delete(e):Dp.set(e,t-1)}),t}var kp=25;function Ap(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(ee(8))%e)}var jp={blockTime:1e3,extendSchema:La(),formatters:{transaction:ir({exclude:[`aaAuthorizationList`],format:Cp}),transactionReceipt:gi({format:wp}),transactionRequest:Ge({format:Tp})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=r.multisig??(r.account?.source===`multisig`?r.account.config??r.account.address:void 0);if(i){let e=typeof i==`string`?void 0:bu(i),n=typeof i==`string`?i:Su(e);r.multisig=e??i,r.from=n,r.keyType===void 0&&(r.keyType=`webAuthn`,r.keyData===void 0&&(r.keyData=`0x0578`));let a=ip(e=>z(t,sp,`getConfig`)({account:e})),o=r.account?.source===`multisig`?ap(r.account,a):void 0,s=o?(await o)[0]:await a(n);if(!e&&!s.initialized)throw Error(`Cannot prepare an uninitialized multisig account from an address. Provide its initial config instead.`);r.multisigVersion===void 0&&(r.multisigVersion=s.version);let c=r.keyAuthorization?.signature;c?.type===`multisig`&&c.init!==void 0&&(r.keyAuthorization={...r.keyAuthorization,signature:J({initialConfig:c.init,signatures:c.signatures})});let l=r.keyAuthorization?.signature,u=l?.type===`multisig`&&l.init!==void 0;if(e&&!u&&(r.multisigInit={salt:e.salt??gu,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))}),o){let e=await o;e.length>0&&(r.multisigOwnerStates=e)}r.account?.source!==`multisig`&&delete r.account}if(await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===Tt)return!0;if(i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await Op(t.toLowerCase()):!1})()?(r.nonceKey=Tt,r.nonce=0,r.validAfter===void 0&&(r.validAfter=Ap()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+kp)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await z(t,pp,`getMetadata`)({account:i,accessKey:a});bt(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>Gf(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Fu(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?R(D(`0x04`,r,n)):r,a=(()=>{try{return Nu({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await pp(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:Hu(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await ca(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Hu(o,{address:n,payload:r})}}return await z(e,hl,`verifyHash`)({...t,chain:null})}},Mp=Ia({...jp,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),Np=Ia({...jp,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),Pp=(e,t,n,r)=>{let i=Number(e),a=t.find((e=>e.id===i));if(!a)throw new tn(`Unsupported chainId ${e}`,4901);let o=Fp(a,n,r.appId);if(i===Mp.id||i===Np.id){let e=i===Mp.id?Mp:Np;return nu({transport:cu(o),chain:e})}return nu({transport:cu(o),chain:a})},Fp=(e,t,n)=>{let r,i=e.id,a=Number(e.id);if(e.rpcUrls.privyWalletOverride&&e.rpcUrls.privyWalletOverride.http[0])r=e.rpcUrls.privyWalletOverride.http[0];else if(t.rpcUrls&&t.rpcUrls[a])r=t.rpcUrls[a];else if(e.rpcUrls.privy?.http[0]){let t=new URL(e.rpcUrls.privy.http[0]);t.searchParams.append(`privyAppId`,n),r=t.toString()}else r=e.rpcUrls.public?.http[0]?e.rpcUrls.public.http[0]:e.rpcUrls.default?.http[0];if(!r)throw new tn(`No RPC url found for ${i}`);return r},Ip=e=>e.isApexWallet?`Apex Wallet`:e.isAvalanche?`Core Wallet`:e.isBackpack?`Backpack`:e.isBifrost?`Bifrost Wallet`:e.isBitKeep?`BitKeep`:e.isBitski?`Bitski`:e.isBlockWallet?`BlockWallet`:e.isBraveWallet?`Brave Wallet`:e.isClover?`Clover`:e.isCoin98?`Coin98 Wallet`:e.isCoinbaseWallet?`Coinbase Wallet`:e.isDawn?`Dawn Wallet`:e.isDefiant?`Defiant`:e.isDesig?`Desig Wallet`:e.isEnkrypt?`Enkrypt`:e.isExodus?`Exodus`:e.isFordefi?`Fordefi`:e.isFrame?`Frame`:e.isFrontier?`Frontier Wallet`:e.isGamestop?`GameStop Wallet`:e.isHaqqWallet?`HAQQ Wallet`:e.isHyperPay?`HyperPay Wallet`:e.isImToken?`ImToken`:e.isHaloWallet?`Halo Wallet`:e.isKuCoinWallet?`KuCoin Wallet`:e.isMathWallet?`MathWallet`:e.isNovaWallet?`Nova Wallet`:e.isOkxWallet||e.isOKExWallet?`OKX Wallet`:e.isOneInchIOSWallet||e.isOneInchAndroidWallet?`1inch Wallet`:e.isOneKey?`OneKey Wallet`:e.isOpera?`Opera`:e.isPhantom||`isPhantom`in e?`Phantom`:e.isPortal?`Ripio Portal`:e.isRabby?`Rabby Wallet`:e.isRainbow?`Rainbow`:e.isSafePal?`SafePal Wallet`:e.isStatus?`Status`:e.isSubWallet?`SubWallet`:e.isTalisman?`Talisman`:e.isTally||e.isTaho?`Taho`:e.isTokenPocket?`TokenPocket`:e.isTokenary?`Tokenary`:e.isTrust||e.isTrustWallet?`Trust Wallet`:e.isTTWallet?`TTWallet`:e.isXDEFI?`XDEFI Wallet`:e.isZeal?`Zeal`:e.isZerion?`Zerion`:e.isMetaMask?`MetaMask`:void 0,Lp=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||Ip(e)!==`MetaMask`)return!1;if(e.providers){for(let t of e.providers)if(!Lp(t))return!1}return!0},Rp=()=>{let e=window;if(!e.ethereum)return!1;if(e.ethereum.isCoinbaseWallet)return!0;if(e.ethereum.providers){for(let t of e.ethereum.providers)if(t&&t.isCoinbaseWallet)return!0}return!1},zp=(e,t)=>{let n=[],r=[];for(let[i,a]of e.entries())i<t?n.push(a):r.push(a);return[n,r]},Bp=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),Vp=(e,t)=>{let n=e.slice(0),r=[];for(;n.length;)r.push(n.splice(0,t));return r},Hp=(e,t=3,n=4,r=`ethereum`)=>{if(!e)return``;let i=r===`ethereum`?2:0;return t+n+i+3>=e.length?e:`${e.slice(0,i+t)}...${e.slice(e.length-n,e.length)}`},Up=(e,t=3,n=4)=>Hp(e,t,n,`solana`),Wp=e=>new Promise((t=>setTimeout(t,e)));function Gp(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((r,i)=>{let a,o=0,s=()=>{o>=n?i(`Max attempts reached without result`):(a=e(),o+=t,a==null?setTimeout(s,t):r(a))};s()}))}var Kp=(e,t={})=>{let n=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(i,a)=>{let o=!1,s=0;for(;!o&&s<r;){if(t.abortSignal?.aborted)return;e().then((e=>{o=!0,i(e)}),((...e)=>{o=!0,a(...e)})),s+=1,await Wp(n)}o||a(Error(`Exceeded max attempts before resolving function`))}))},qp=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,``),Jp=e=>typeof e==`string`?e:`0x`+e.toString(16);async function Yp({store:e,walletList:t,externalWalletConfig:n,walletChainType:r,timeout:i=3e3}){let a=!1,o=window;return new Promise((s=>{function c(){if(a)return;a=!0,window.removeEventListener(`ethereum#initialized`,c);let i=e.getProviders();console.debug(`Detected injected providers:`,i.map((e=>e.info)));let o=[];for(let e of i)t.includes(`coinbase_wallet`)&&e.info.rdns===`com.coinbase.wallet`||r===`solana-only`&&e.info.rdns===`app.phantom`||o.push({type:e.info.name.toLowerCase().replace(/\s/g,`_`),eip6963InjectedProvider:e});if(r!==`solana-only`)for(let e of function(){let e=window,t=e.ethereum;if(!t)return[];let n=[];if(t.providers?.length)for(let e of t.providers)e&&n.push(e);return n.push(e.ethereum),n}()){let t=Ip(e);if(!i.some((e=>e.info.name===t))){if(Lp(e,!0)&&!o.find((e=>e.type===`metamask`))){o.push({type:`metamask`,legacyInjectedProvider:e});continue}if(t===`Phantom`&&!o.find((e=>e.type===`phantom`))){o.push({type:`phantom`,legacyInjectedProvider:e});continue}if(t===`Coinbase Wallet`&&!o.find((e=>e.type===`coinbase_wallet`&&n.coinbaseWallet?.config?.preference?.options!==`smartWalletOnly`))){o.push({type:`coinbase_wallet`,legacyInjectedProvider:e});continue}o.find((e=>e.type===`unknown_browser_extension`))||o.push({type:`unknown_browser_extension`,legacyInjectedProvider:e})}}s(o)}o.ethereum?c():(window.addEventListener(`ethereum#initialized`,c,{once:!0}),setTimeout((()=>{c()}),i))}))}function Xp(e){return`eip155:${String(Number(e))}`}var Zp=(e,t,n,r)=>{let i=Number(e),a=t.find((e=>e.id===i));if(!a)throw new tn(`Unsupported chainId ${e}`,4901);return Fp(a,n,r)},Qp=(e,t)=>{let n=Number(e),r=t.find((e=>e.id===n));if(!r)throw new tn(`Unsupported chainId ${e}`,4901);return r.blockExplorers?.default.url},$p=e=>{let t={name:`string`,version:`string`,chainId:`uint256`,verifyingContract:`address`,salt:`bytes32`},n=e.types.EIP712Domain??Object.entries(e.domain).map((([e,n])=>{if(n!=null&&typeof e==`string`&&e in t)return{name:e,type:t[e]}})).filter((e=>e!==void 0));return{...e,types:{...e.types,EIP712Domain:n}}};function em(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)}var tm=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds}))),nm=class{get(e){let t=localStorage.getItem(e);return t===null?void 0:JSON.parse(t)}put(e,t){t===void 0?this.del(e):localStorage.setItem(e,JSON.stringify(t))}del(e){localStorage.removeItem(e)}getKeys(){return Object.entries(localStorage).map((([e])=>e))}};function rm(){try{let e=`privy:__session_storage__test`,t=new nm;return t.put(e,`blobby`),t.del(e),!0}catch{return!1}}var im=typeof window<`u`&&window.localStorage?new nm:new class{get(e){return this._cache[e]}put(e,t){t===void 0?this.del(e):this._cache[e]=t}del(e){delete this._cache[e]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}};export{Vr as $,Jl as A,Ci as B,Np as C,nu as D,ru as E,Cl as F,di as G,mi as H,fc as I,oi as J,li as K,eo as L,Bl as M,Vl as N,eu as O,Rl as P,Gr as Q,Qa as R,Fp as S,cu as T,pi as U,xi as V,fi as W,Xr as X,si as Y,G as Z,Up as _,Wp as a,kr as at,Xp as b,Qp as c,Pn as ct,Jp as d,Lr as et,Rp as f,Bp as g,zp as h,tm as i,Ar as it,ql as j,Yl as k,Yp as l,On as lt,Gp as m,rm as n,Fr as nt,Kp as o,fr as ot,Hp as p,ci as q,Zp as r,jr as rt,qp as s,Yn as st,im as t,Mr as tt,Vp as u,z as ut,em as v,Mp as w,Pp as x,$p as y,$a as z};
|