@reown/appkit-cdn 1.8.15-e95f0d61c614677233e13ea9f055d3f75fcdba81.0 → 1.8.15-viem-upgrade.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/package.json +10 -10
- package/dist/ConstantsUtil-C2Ed2H2U.js +0 -24
- package/dist/ConstantsUtil-C2Ed2H2U.js.map +0 -1
- package/dist/ExchangeController-h_95bqSB.js +0 -265
- package/dist/ExchangeController-h_95bqSB.js.map +0 -1
- package/dist/HelpersUtil-xYeUfp1A.js +0 -141
- package/dist/HelpersUtil-xYeUfp1A.js.map +0 -1
- package/dist/NavigationUtil-Ci15WS4K.js +0 -9
- package/dist/NavigationUtil-Ci15WS4K.js.map +0 -1
- package/dist/PhArrowCircleDown-B41iUlWV.js +0 -74
- package/dist/PhArrowCircleDown-B41iUlWV.js.map +0 -1
- package/dist/PhArrowClockwise-BY8u5n41.js +0 -74
- package/dist/PhArrowClockwise-BY8u5n41.js.map +0 -1
- package/dist/PhArrowDown-ClD8GZ65.js +0 -74
- package/dist/PhArrowDown-ClD8GZ65.js.map +0 -1
- package/dist/PhArrowLeft-B8MXUz60.js +0 -74
- package/dist/PhArrowLeft-B8MXUz60.js.map +0 -1
- package/dist/PhArrowRight-Cewa_Slb.js +0 -74
- package/dist/PhArrowRight-Cewa_Slb.js.map +0 -1
- package/dist/PhArrowSquareOut-whgWh-lD.js +0 -74
- package/dist/PhArrowSquareOut-whgWh-lD.js.map +0 -1
- package/dist/PhArrowUp-B1HXBxie.js +0 -74
- package/dist/PhArrowUp-B1HXBxie.js.map +0 -1
- package/dist/PhArrowUpRight-CfFYe4FP.js +0 -74
- package/dist/PhArrowUpRight-CfFYe4FP.js.map +0 -1
- package/dist/PhArrowsClockwise-gL1Gkrtx.js +0 -74
- package/dist/PhArrowsClockwise-gL1Gkrtx.js.map +0 -1
- package/dist/PhArrowsDownUp-BqUEdUQr.js +0 -74
- package/dist/PhArrowsDownUp-BqUEdUQr.js.map +0 -1
- package/dist/PhArrowsLeftRight-BlZU63eY.js +0 -74
- package/dist/PhArrowsLeftRight-BlZU63eY.js.map +0 -1
- package/dist/PhBank-gbg_jlI7.js +0 -74
- package/dist/PhBank-gbg_jlI7.js.map +0 -1
- package/dist/PhBrowser-CMlD-YJw.js +0 -74
- package/dist/PhBrowser-CMlD-YJw.js.map +0 -1
- package/dist/PhCaretDown-3agTO8Jp.js +0 -74
- package/dist/PhCaretDown-3agTO8Jp.js.map +0 -1
- package/dist/PhCaretLeft-_MTni7Z5.js +0 -74
- package/dist/PhCaretLeft-_MTni7Z5.js.map +0 -1
- package/dist/PhCaretRight-Ci9fAHPG.js +0 -74
- package/dist/PhCaretRight-Ci9fAHPG.js.map +0 -1
- package/dist/PhCaretUp-vFG4Fame.js +0 -74
- package/dist/PhCaretUp-vFG4Fame.js.map +0 -1
- package/dist/PhCheck-mChGK6K_.js +0 -74
- package/dist/PhCheck-mChGK6K_.js.map +0 -1
- package/dist/PhCircleHalf-DZ7-vfxf.js +0 -74
- package/dist/PhCircleHalf-DZ7-vfxf.js.map +0 -1
- package/dist/PhClock-Bc5XWXb6.js +0 -74
- package/dist/PhClock-Bc5XWXb6.js.map +0 -1
- package/dist/PhCompass-Cu2MB-55.js +0 -74
- package/dist/PhCompass-Cu2MB-55.js.map +0 -1
- package/dist/PhCopy-BGUjyTts.js +0 -74
- package/dist/PhCopy-BGUjyTts.js.map +0 -1
- package/dist/PhCreditCard-vxFWID4B.js +0 -74
- package/dist/PhCreditCard-vxFWID4B.js.map +0 -1
- package/dist/PhCurrencyDollar-BfOoDhJr.js +0 -74
- package/dist/PhCurrencyDollar-BfOoDhJr.js.map +0 -1
- package/dist/PhDesktop-Cq6jwzbS.js +0 -74
- package/dist/PhDesktop-Cq6jwzbS.js.map +0 -1
- package/dist/PhDeviceMobile-BCtTp6jj.js +0 -74
- package/dist/PhDeviceMobile-BCtTp6jj.js.map +0 -1
- package/dist/PhDotsThree-BGgD-WIO.js +0 -74
- package/dist/PhDotsThree-BGgD-WIO.js.map +0 -1
- package/dist/PhEnvelope-CQiV0-zG.js +0 -74
- package/dist/PhEnvelope-CQiV0-zG.js.map +0 -1
- package/dist/PhFunnelSimple-BHGtxTNf.js +0 -74
- package/dist/PhFunnelSimple-BHGtxTNf.js.map +0 -1
- package/dist/PhGlobe-Q8oVkf6X.js +0 -74
- package/dist/PhGlobe-Q8oVkf6X.js.map +0 -1
- package/dist/PhIdentificationCard-Cz9LzvVR.js +0 -74
- package/dist/PhIdentificationCard-Cz9LzvVR.js.map +0 -1
- package/dist/PhImage-CP5_qKk-.js +0 -74
- package/dist/PhImage-CP5_qKk-.js.map +0 -1
- package/dist/PhInfo-CTlE1X9Z.js +0 -74
- package/dist/PhInfo-CTlE1X9Z.js.map +0 -1
- package/dist/PhLightbulb-CcLpnAAb.js +0 -74
- package/dist/PhLightbulb-CcLpnAAb.js.map +0 -1
- package/dist/PhMagnifyingGlass-n58GUAck.js +0 -74
- package/dist/PhMagnifyingGlass-n58GUAck.js.map +0 -1
- package/dist/PhPaperPlaneRight-C0sf2XV8.js +0 -74
- package/dist/PhPaperPlaneRight-C0sf2XV8.js.map +0 -1
- package/dist/PhPlus-BJxvt7Uc.js +0 -74
- package/dist/PhPlus-BJxvt7Uc.js.map +0 -1
- package/dist/PhPower-BvktxO2-.js +0 -74
- package/dist/PhPower-BvktxO2-.js.map +0 -1
- package/dist/PhPuzzlePiece-CDDyUPYo.js +0 -74
- package/dist/PhPuzzlePiece-CDDyUPYo.js.map +0 -1
- package/dist/PhQrCode-BlGI8529.js +0 -74
- package/dist/PhQrCode-BlGI8529.js.map +0 -1
- package/dist/PhQuestion-DGZj6iDZ.js +0 -74
- package/dist/PhQuestion-DGZj6iDZ.js.map +0 -1
- package/dist/PhQuestionMark-CTmeI7MQ.js +0 -74
- package/dist/PhQuestionMark-CTmeI7MQ.js.map +0 -1
- package/dist/PhSealCheck-BSlqkxnH.js +0 -74
- package/dist/PhSealCheck-BSlqkxnH.js.map +0 -1
- package/dist/PhSignOut-CEXxlRk3.js +0 -74
- package/dist/PhSignOut-CEXxlRk3.js.map +0 -1
- package/dist/PhSpinner-Do1pY8fG.js +0 -74
- package/dist/PhSpinner-Do1pY8fG.js.map +0 -1
- package/dist/PhTrash-JNKavmpg.js +0 -74
- package/dist/PhTrash-JNKavmpg.js.map +0 -1
- package/dist/PhUser-BW7E-xYg.js +0 -74
- package/dist/PhUser-BW7E-xYg.js.map +0 -1
- package/dist/PhVault-mzxUgBYN.js +0 -74
- package/dist/PhVault-mzxUgBYN.js.map +0 -1
- package/dist/PhWallet-BR9JThKU.js +0 -74
- package/dist/PhWallet-BR9JThKU.js.map +0 -1
- package/dist/PhWarning-DxuQ70WM.js +0 -74
- package/dist/PhWarning-DxuQ70WM.js.map +0 -1
- package/dist/PhWarningCircle-DCI0JC1F.js +0 -74
- package/dist/PhWarningCircle-DCI0JC1F.js.map +0 -1
- package/dist/PhX-CWNXqpGn.js +0 -74
- package/dist/PhX-CWNXqpGn.js.map +0 -1
- package/dist/SwapController-CwWMKLPL.js +0 -684
- package/dist/SwapController-CwWMKLPL.js.map +0 -1
- package/dist/WebCryptoP256-B0F1BoHd.js +0 -3299
- package/dist/WebCryptoP256-B0F1BoHd.js.map +0 -1
- package/dist/add-emiZFWKE.js +0 -20
- package/dist/add-emiZFWKE.js.map +0 -1
- package/dist/all-wallets-BsUQMPgW.js +0 -11
- package/dist/all-wallets-BsUQMPgW.js.map +0 -1
- package/dist/app-store-C_L7BoYc.js +0 -22
- package/dist/app-store-C_L7BoYc.js.map +0 -1
- package/dist/appkit-DY7XpK4K.js +0 -118074
- package/dist/appkit-DY7XpK4K.js.map +0 -1
- package/dist/appkit.js +0 -11
- package/dist/appkit.js.map +0 -1
- package/dist/apple-c3IhsqlY.js +0 -23
- package/dist/apple-c3IhsqlY.js.map +0 -1
- package/dist/arrow-bottom-BZnD_9In.js +0 -13
- package/dist/arrow-bottom-BZnD_9In.js.map +0 -1
- package/dist/arrow-bottom-circle-C9HRc3sW.js +0 -16
- package/dist/arrow-bottom-circle-C9HRc3sW.js.map +0 -1
- package/dist/arrow-left-DFlXkOXB.js +0 -13
- package/dist/arrow-left-DFlXkOXB.js.map +0 -1
- package/dist/arrow-right-_EPGORWI.js +0 -13
- package/dist/arrow-right-_EPGORWI.js.map +0 -1
- package/dist/arrow-top-CrBCvUsj.js +0 -13
- package/dist/arrow-top-CrBCvUsj.js.map +0 -1
- package/dist/async-directive-CEBoIWb8.js +0 -73
- package/dist/async-directive-CEBoIWb8.js.map +0 -1
- package/dist/bank-IrtkQnW0.js +0 -19
- package/dist/bank-IrtkQnW0.js.map +0 -1
- package/dist/basic-CCVK4Xb-.js +0 -4914
- package/dist/basic-CCVK4Xb-.js.map +0 -1
- package/dist/browser-5XoTmr4n.js +0 -1991
- package/dist/browser-5XoTmr4n.js.map +0 -1
- package/dist/browser-DGJ1T57R.js +0 -19
- package/dist/browser-DGJ1T57R.js.map +0 -1
- package/dist/card-euIrImBb.js +0 -19
- package/dist/card-euIrImBb.js.map +0 -1
- package/dist/ccip-BnHcw2Q9.js +0 -164
- package/dist/ccip-BnHcw2Q9.js.map +0 -1
- package/dist/checkmark-DOfVZz7v.js +0 -16
- package/dist/checkmark-DOfVZz7v.js.map +0 -1
- package/dist/checkmark-bold-CBk9rneH.js +0 -13
- package/dist/checkmark-bold-CBk9rneH.js.map +0 -1
- package/dist/chevron-bottom-DqxWxVi0.js +0 -13
- package/dist/chevron-bottom-DqxWxVi0.js.map +0 -1
- package/dist/chevron-left-JKsYvrX0.js +0 -13
- package/dist/chevron-left-JKsYvrX0.js.map +0 -1
- package/dist/chevron-right-0IHVmnlN.js +0 -13
- package/dist/chevron-right-0IHVmnlN.js.map +0 -1
- package/dist/chevron-top-q1UXuE7C.js +0 -13
- package/dist/chevron-top-q1UXuE7C.js.map +0 -1
- package/dist/chrome-store-C1gUHLGC.js +0 -66
- package/dist/chrome-store-C1gUHLGC.js.map +0 -1
- package/dist/class-map-CqyLxUs0.js +0 -101
- package/dist/class-map-CqyLxUs0.js.map +0 -1
- package/dist/clock-CRgBEN3N.js +0 -13
- package/dist/clock-CRgBEN3N.js.map +0 -1
- package/dist/close-DqwtanuV.js +0 -13
- package/dist/close-DqwtanuV.js.map +0 -1
- package/dist/clsx.m-D57qXwfE.js +0 -21
- package/dist/clsx.m-D57qXwfE.js.map +0 -1
- package/dist/coinPlaceholder-DGuEyon3.js +0 -13
- package/dist/coinPlaceholder-DGuEyon3.js.map +0 -1
- package/dist/compass-D3Lk_JmD.js +0 -13
- package/dist/compass-D3Lk_JmD.js.map +0 -1
- package/dist/copy-0bHy8N_r.js +0 -20
- package/dist/copy-0bHy8N_r.js.map +0 -1
- package/dist/core-C111yg8v.js +0 -16288
- package/dist/core-C111yg8v.js.map +0 -1
- package/dist/cursor-Bnlh8YKu.js +0 -8
- package/dist/cursor-Bnlh8YKu.js.map +0 -1
- package/dist/cursor-transparent-BqTVTA3D.js +0 -17
- package/dist/cursor-transparent-BqTVTA3D.js.map +0 -1
- package/dist/data-capture-BtdmOx65.js +0 -549
- package/dist/data-capture-BtdmOx65.js.map +0 -1
- package/dist/desktop-BKaI6I0c.js +0 -14
- package/dist/desktop-BKaI6I0c.js.map +0 -1
- package/dist/disconnect-CJtwIHdJ.js +0 -13
- package/dist/disconnect-CJtwIHdJ.js.map +0 -1
- package/dist/discord-oHqb6ClE.js +0 -22
- package/dist/discord-oHqb6ClE.js.map +0 -1
- package/dist/email-9QNGgeQQ.js +0 -421
- package/dist/email-9QNGgeQQ.js.map +0 -1
- package/dist/embedded-wallet-C_CLs-ZL.js +0 -952
- package/dist/embedded-wallet-C_CLs-ZL.js.map +0 -1
- package/dist/etherscan-Dkkz1Mfh.js +0 -11
- package/dist/etherscan-Dkkz1Mfh.js.map +0 -1
- package/dist/exclamation-triangle-BQbUCEhi.js +0 -9
- package/dist/exclamation-triangle-BQbUCEhi.js.map +0 -1
- package/dist/extension-C2hKzEZZ.js +0 -13
- package/dist/extension-C2hKzEZZ.js.map +0 -1
- package/dist/external-link-CIjsnb3X.js +0 -13
- package/dist/external-link-CIjsnb3X.js.map +0 -1
- package/dist/facebook-1Hufe3sI.js +0 -31
- package/dist/facebook-1Hufe3sI.js.map +0 -1
- package/dist/farcaster-DlSxA8AD.js +0 -17
- package/dist/farcaster-DlSxA8AD.js.map +0 -1
- package/dist/features-CubAsZN1.js +0 -319
- package/dist/features-CubAsZN1.js.map +0 -1
- package/dist/filters-Bx5zOyri.js +0 -13
- package/dist/filters-Bx5zOyri.js.map +0 -1
- package/dist/github-CT_NtR6h.js +0 -23
- package/dist/github-CT_NtR6h.js.map +0 -1
- package/dist/google-Dkv0ZPY6.js +0 -23
- package/dist/google-Dkv0ZPY6.js.map +0 -1
- package/dist/hashTypedData-Q6QDIxse.js +0 -262
- package/dist/hashTypedData-Q6QDIxse.js.map +0 -1
- package/dist/help-circle-Dh0SYux9.js +0 -17
- package/dist/help-circle-Dh0SYux9.js.map +0 -1
- package/dist/id-Dc_gfIHE.js +0 -17
- package/dist/id-Dc_gfIHE.js.map +0 -1
- package/dist/if-defined-B5CxFQec.js +0 -11
- package/dist/if-defined-B5CxFQec.js.map +0 -1
- package/dist/image-DPwaTi09.js +0 -9
- package/dist/image-DPwaTi09.js.map +0 -1
- package/dist/index-AsDH-m9e.js +0 -456
- package/dist/index-AsDH-m9e.js.map +0 -1
- package/dist/index-B-AePZns.js +0 -1514
- package/dist/index-B-AePZns.js.map +0 -1
- package/dist/index-B0nuzWGd.js +0 -153
- package/dist/index-B0nuzWGd.js.map +0 -1
- package/dist/index-BFK8rn8f.js +0 -985
- package/dist/index-BFK8rn8f.js.map +0 -1
- package/dist/index-BGtDVhOX.js +0 -218
- package/dist/index-BGtDVhOX.js.map +0 -1
- package/dist/index-BXRoNn9X.js +0 -147
- package/dist/index-BXRoNn9X.js.map +0 -1
- package/dist/index-BYnWTIsP.js +0 -257
- package/dist/index-BYnWTIsP.js.map +0 -1
- package/dist/index-B_yrV2-r.js +0 -7258
- package/dist/index-B_yrV2-r.js.map +0 -1
- package/dist/index-BcCvzVg5.js +0 -716
- package/dist/index-BcCvzVg5.js.map +0 -1
- package/dist/index-BeSFhM_p.js +0 -120
- package/dist/index-BeSFhM_p.js.map +0 -1
- package/dist/index-BgnNrRDq.js +0 -967
- package/dist/index-BgnNrRDq.js.map +0 -1
- package/dist/index-BqpTTobE.js +0 -984
- package/dist/index-BqpTTobE.js.map +0 -1
- package/dist/index-BxPoDEMu.js +0 -7481
- package/dist/index-BxPoDEMu.js.map +0 -1
- package/dist/index-ByLuz3My.js +0 -182
- package/dist/index-ByLuz3My.js.map +0 -1
- package/dist/index-BzPjzg08.js +0 -62
- package/dist/index-BzPjzg08.js.map +0 -1
- package/dist/index-C2E-8AS5.js +0 -249
- package/dist/index-C2E-8AS5.js.map +0 -1
- package/dist/index-C4icMnjM.js +0 -521
- package/dist/index-C4icMnjM.js.map +0 -1
- package/dist/index-C8av2G6v.js +0 -136
- package/dist/index-C8av2G6v.js.map +0 -1
- package/dist/index-CE9D5nR3.js +0 -441
- package/dist/index-CE9D5nR3.js.map +0 -1
- package/dist/index-CI83C2eb.js +0 -124
- package/dist/index-CI83C2eb.js.map +0 -1
- package/dist/index-CK8vtUMI.js +0 -181
- package/dist/index-CK8vtUMI.js.map +0 -1
- package/dist/index-CY_gr4c7.js +0 -286
- package/dist/index-CY_gr4c7.js.map +0 -1
- package/dist/index-CZmyXVNe.js +0 -198
- package/dist/index-CZmyXVNe.js.map +0 -1
- package/dist/index-CemyBXIP.js +0 -8825
- package/dist/index-CemyBXIP.js.map +0 -1
- package/dist/index-CkrKEace.js +0 -180
- package/dist/index-CkrKEace.js.map +0 -1
- package/dist/index-Cl94CXn7.js +0 -110
- package/dist/index-Cl94CXn7.js.map +0 -1
- package/dist/index-CwK6o8Hz.js +0 -18322
- package/dist/index-CwK6o8Hz.js.map +0 -1
- package/dist/index-Cy1DAN6W.js +0 -542
- package/dist/index-Cy1DAN6W.js.map +0 -1
- package/dist/index-CziMS40-.js +0 -281
- package/dist/index-CziMS40-.js.map +0 -1
- package/dist/index-D6qUKJRD.js +0 -1178
- package/dist/index-D6qUKJRD.js.map +0 -1
- package/dist/index-DDYN4XOm.js +0 -211
- package/dist/index-DDYN4XOm.js.map +0 -1
- package/dist/index-DHcBAN0Q.js +0 -9350
- package/dist/index-DHcBAN0Q.js.map +0 -1
- package/dist/index-DPEv06yg.js +0 -520
- package/dist/index-DPEv06yg.js.map +0 -1
- package/dist/index-DShG1B5f.js +0 -131
- package/dist/index-DShG1B5f.js.map +0 -1
- package/dist/index-DTOiAL1i.js +0 -52
- package/dist/index-DTOiAL1i.js.map +0 -1
- package/dist/index-DVyI9O5i.js +0 -92
- package/dist/index-DVyI9O5i.js.map +0 -1
- package/dist/index-DvXemhcG.js +0 -611
- package/dist/index-DvXemhcG.js.map +0 -1
- package/dist/index-Fvw4sbfL.js +0 -198
- package/dist/index-Fvw4sbfL.js.map +0 -1
- package/dist/index-PiXpeN5n.js +0 -3987
- package/dist/index-PiXpeN5n.js.map +0 -1
- package/dist/index-btvyw5xW.js +0 -126
- package/dist/index-btvyw5xW.js.map +0 -1
- package/dist/index-dsKNiJml.js +0 -70
- package/dist/index-dsKNiJml.js.map +0 -1
- package/dist/index-gEaD8hfK.js +0 -109
- package/dist/index-gEaD8hfK.js.map +0 -1
- package/dist/index-isOxTzum.js +0 -147
- package/dist/index-isOxTzum.js.map +0 -1
- package/dist/index-nWSgWKaF.js +0 -2277
- package/dist/index-nWSgWKaF.js.map +0 -1
- package/dist/index-qQiVpif7.js +0 -1372
- package/dist/index-qQiVpif7.js.map +0 -1
- package/dist/index-tv-dalA1.js +0 -73
- package/dist/index-tv-dalA1.js.map +0 -1
- package/dist/index.es-BzCqYMc8.js +0 -8391
- package/dist/index.es-BzCqYMc8.js.map +0 -1
- package/dist/info-4ssFoXJS.js +0 -8
- package/dist/info-4ssFoXJS.js.map +0 -1
- package/dist/info-circle-BnqHwvcX.js +0 -17
- package/dist/info-circle-BnqHwvcX.js.map +0 -1
- package/dist/jsxRuntime.module-CWsrm3KZ.js +0 -14
- package/dist/jsxRuntime.module-CWsrm3KZ.js.map +0 -1
- package/dist/lightbulb-BEEbBBZQ.js +0 -8
- package/dist/lightbulb-BEEbBBZQ.js.map +0 -1
- package/dist/localBatchGatewayRequest-Dryp85EG.js +0 -103
- package/dist/localBatchGatewayRequest-Dryp85EG.js.map +0 -1
- package/dist/mail-CJLCh290.js +0 -13
- package/dist/mail-CJLCh290.js.map +0 -1
- package/dist/metamask-sdk-4u4X6Xn3.js +0 -16699
- package/dist/metamask-sdk-4u4X6Xn3.js.map +0 -1
- package/dist/mobile-Deau0Za4.js +0 -14
- package/dist/mobile-Deau0Za4.js.map +0 -1
- package/dist/more-BeXo-Pwn.js +0 -16
- package/dist/more-BeXo-Pwn.js.map +0 -1
- package/dist/native-DOlbMZnh.js +0 -17
- package/dist/native-DOlbMZnh.js.map +0 -1
- package/dist/network-placeholder-BoityKSt.js +0 -19
- package/dist/network-placeholder-BoityKSt.js.map +0 -1
- package/dist/nftPlaceholder-PTHT5Ulj.js +0 -13
- package/dist/nftPlaceholder-PTHT5Ulj.js.map +0 -1
- package/dist/off-BWWypY2E.js +0 -13
- package/dist/off-BWWypY2E.js.map +0 -1
- package/dist/onramp-DnL6ChSq.js +0 -979
- package/dist/onramp-DnL6ChSq.js.map +0 -1
- package/dist/parseAbiParameters-DfJcIE_w.js +0 -757
- package/dist/parseAbiParameters-DfJcIE_w.js.map +0 -1
- package/dist/parseSignature-CxTkG24t.js +0 -4690
- package/dist/parseSignature-CxTkG24t.js.map +0 -1
- package/dist/pay-with-exchange-CpuGLivJ.js +0 -603
- package/dist/pay-with-exchange-CpuGLivJ.js.map +0 -1
- package/dist/play-store-DkxQRJyA.js +0 -37
- package/dist/play-store-DkxQRJyA.js.map +0 -1
- package/dist/plus-DaGtBhNd.js +0 -18
- package/dist/plus-DaGtBhNd.js.map +0 -1
- package/dist/property-8UcTqffH.js +0 -623
- package/dist/property-8UcTqffH.js.map +0 -1
- package/dist/qr-code-DGvMTPaF.js +0 -11
- package/dist/qr-code-DGvMTPaF.js.map +0 -1
- package/dist/receive-CVWmkRpl.js +0 -262
- package/dist/receive-CVWmkRpl.js.map +0 -1
- package/dist/recycle-horizontal-DDVEtj7J.js +0 -14
- package/dist/recycle-horizontal-DDVEtj7J.js.map +0 -1
- package/dist/ref-DAjgVrGH.js +0 -43
- package/dist/ref-DAjgVrGH.js.map +0 -1
- package/dist/refresh-BmNFE8Pg.js +0 -13
- package/dist/refresh-BmNFE8Pg.js.map +0 -1
- package/dist/reown-logo-B-UO-SeO.js +0 -17
- package/dist/reown-logo-B-UO-SeO.js.map +0 -1
- package/dist/search-DR_B_4SQ.js +0 -13
- package/dist/search-DR_B_4SQ.js.map +0 -1
- package/dist/secp256k1-DnXqhCKw.js +0 -2031
- package/dist/secp256k1-DnXqhCKw.js.map +0 -1
- package/dist/send-BNU8VrfM.js +0 -20
- package/dist/send-BNU8VrfM.js.map +0 -1
- package/dist/send-DHzM4I8V.js +0 -1365
- package/dist/send-DHzM4I8V.js.map +0 -1
- package/dist/socials-DsoFf1B8.js +0 -796
- package/dist/socials-DsoFf1B8.js.map +0 -1
- package/dist/swapHorizontal-BQOjfwRW.js +0 -13
- package/dist/swapHorizontal-BQOjfwRW.js.map +0 -1
- package/dist/swapHorizontalBold-DMKR9Zys.js +0 -13
- package/dist/swapHorizontalBold-DMKR9Zys.js.map +0 -1
- package/dist/swapHorizontalMedium-DVsqt18q.js +0 -21
- package/dist/swapHorizontalMedium-DVsqt18q.js.map +0 -1
- package/dist/swapHorizontalRoundedBold-CM5U-o8X.js +0 -13
- package/dist/swapHorizontalRoundedBold-CM5U-o8X.js.map +0 -1
- package/dist/swapVertical-P9UnfCR-.js +0 -13
- package/dist/swapVertical-P9UnfCR-.js.map +0 -1
- package/dist/swaps-F0roy6mK.js +0 -2121
- package/dist/swaps-F0roy6mK.js.map +0 -1
- package/dist/telegram-Bd4DGbnk.js +0 -21
- package/dist/telegram-Bd4DGbnk.js.map +0 -1
- package/dist/three-dots-M94oc7-3.js +0 -10
- package/dist/three-dots-M94oc7-3.js.map +0 -1
- package/dist/transactions-DwtZvXx1.js +0 -38
- package/dist/transactions-DwtZvXx1.js.map +0 -1
- package/dist/twitch--lJ-X_Y6.js +0 -23
- package/dist/twitch--lJ-X_Y6.js.map +0 -1
- package/dist/twitterIcon-DDp_lnzc.js +0 -11
- package/dist/twitterIcon-DDp_lnzc.js.map +0 -1
- package/dist/vanilla-CgG5xMJO.js +0 -448
- package/dist/vanilla-CgG5xMJO.js.map +0 -1
- package/dist/verify-Doojt-tK.js +0 -13
- package/dist/verify-Doojt-tK.js.map +0 -1
- package/dist/verify-filled-EHdbo2B7.js +0 -13
- package/dist/verify-filled-EHdbo2B7.js.map +0 -1
- package/dist/w3m-modal-CVsid-gN.js +0 -1725
- package/dist/w3m-modal-CVsid-gN.js.map +0 -1
- package/dist/w3m-modal-CZ4s4A2R.js +0 -2008
- package/dist/w3m-modal-CZ4s4A2R.js.map +0 -1
- package/dist/wallet-CowxEORz.js +0 -13
- package/dist/wallet-CowxEORz.js.map +0 -1
- package/dist/wallet-placeholder-B7p7Oae2.js +0 -19
- package/dist/wallet-placeholder-B7p7Oae2.js.map +0 -1
- package/dist/wallet-standard-BUMbKbZo.js +0 -523
- package/dist/wallet-standard-BUMbKbZo.js.map +0 -1
- package/dist/walletconnect-CKMr88Pk.js +0 -39
- package/dist/walletconnect-CKMr88Pk.js.map +0 -1
- package/dist/warning-circle-CjIPgJnm.js +0 -17
- package/dist/warning-circle-CjIPgJnm.js.map +0 -1
- package/dist/x-CaxhfhgU.js +0 -17
- package/dist/x-CaxhfhgU.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-nWSgWKaF.js","sources":["../../../node_modules/.pnpm/abitype@1.1.0_typescript@5.9.2_zod@4.1.12/node_modules/abitype/dist/esm/human-readable/parseAbiItem.js","../../../node_modules/.pnpm/abitype@1.1.0_typescript@5.9.2_zod@4.1.12/node_modules/abitype/dist/esm/human-readable/parseAbiParameter.js","../../../node_modules/.pnpm/abitype@1.1.0_typescript@5.9.2_zod@4.1.12/node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/getContract.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/data/isBytes.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/address/getContractAddress.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/chain/extractChain.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/encoding/fromRlp.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/hash/isHash.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/hash/ripemd160.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/rpc/socket.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/rpc/webSocket.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/rpc/compat.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/isErc6492Signature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/isErc8010Signature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/parseErc6492Signature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/parseErc8010Signature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/recoverMessageAddress.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/recoverTypedDataAddress.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/serializeErc8010Signature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/verifyHash.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/verifyMessage.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/verifyTypedData.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/transaction/getSerializedTransactionType.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/transaction/parseTransaction.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/unit/parseEther.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/unit/parseGwei.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/dropTransaction.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/dumpState.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/getAutomine.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/getTxpoolContent.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/getTxpoolStatus.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/impersonateAccount.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/increaseTime.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/inspectTxpool.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/loadState.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/mine.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/removeBlockTimestampInterval.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/reset.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/revert.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/sendUnsignedTransaction.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setAutomine.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setBalance.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setBlockGasLimit.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setBlockTimestampInterval.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setCode.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setCoinbase.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setIntervalMining.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setLoggingEnabled.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setMinGasPrice.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setNextBlockBaseFeePerGas.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setNextBlockTimestamp.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setNonce.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setRpcUrl.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/setStorageAt.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/snapshot.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/test/stopImpersonatingAccount.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/decorators/test.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/createTestClient.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/addChain.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/deployContract.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/getAddresses.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/getCapabilities.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/getPermissions.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/requestAddresses.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/requestPermissions.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/showCallsStatus.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/signAuthorization.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/signTransaction.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/signTypedData.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/switchChain.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/actions/wallet/watchAsset.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/decorators/wallet.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/createWalletClient.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/transports/fallback.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/clients/transports/webSocket.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/types/eip1193.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/abi/decodeDeployData.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/blob/fromBlobs.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/blob/sidecarsToVersionedHashes.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/ens/toCoinType.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/kzg/defineKzg.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/kzg/setupKzg.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/compactSignatureToSignature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/parseCompactSignature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/recoverTransactionAddress.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/serializeCompactSignature.js","../../../node_modules/.pnpm/viem@2.37.9_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@4.1.12/node_modules/viem/_esm/utils/signature/signatureToCompactSignature.js"],"sourcesContent":["import { InvalidAbiItemError } from './errors/abiItem.js';\nimport { isStructSignature } from './runtime/signatures.js';\nimport { parseStructs } from './runtime/structs.js';\nimport { parseSignature } from './runtime/utils.js';\n/**\n * Parses human-readable ABI item (e.g. error, event, function) into {@link Abi} item\n *\n * @param signature - Human-readable ABI item\n * @returns Parsed {@link Abi} item\n *\n * @example\n * const abiItem = parseAbiItem('function balanceOf(address owner) view returns (uint256)')\n * // ^? const abiItem: { name: \"balanceOf\"; type: \"function\"; stateMutability: \"view\";...\n *\n * @example\n * const abiItem = parseAbiItem([\n * // ^? const abiItem: { name: \"foo\"; type: \"function\"; stateMutability: \"view\"; inputs:...\n * 'function foo(Baz bar) view returns (string)',\n * 'struct Baz { string name; }',\n * ])\n */\nexport function parseAbiItem(signature) {\n let abiItem;\n if (typeof signature === 'string')\n abiItem = parseSignature(signature);\n else {\n const structs = parseStructs(signature);\n const length = signature.length;\n for (let i = 0; i < length; i++) {\n const signature_ = signature[i];\n if (isStructSignature(signature_))\n continue;\n abiItem = parseSignature(signature_, structs);\n break;\n }\n }\n if (!abiItem)\n throw new InvalidAbiItemError({ signature });\n return abiItem;\n}\n//# sourceMappingURL=parseAbiItem.js.map","import { InvalidAbiParameterError } from './errors/abiParameter.js';\nimport { isStructSignature, modifiers } from './runtime/signatures.js';\nimport { parseStructs } from './runtime/structs.js';\nimport { parseAbiParameter as parseAbiParameter_ } from './runtime/utils.js';\n/**\n * Parses human-readable ABI parameter into {@link AbiParameter}\n *\n * @param param - Human-readable ABI parameter\n * @returns Parsed {@link AbiParameter}\n *\n * @example\n * const abiParameter = parseAbiParameter('address from')\n * // ^? const abiParameter: { type: \"address\"; name: \"from\"; }\n *\n * @example\n * const abiParameter = parseAbiParameter([\n * // ^? const abiParameter: { type: \"tuple\"; components: [{ type: \"string\"; name:...\n * 'Baz bar',\n * 'struct Baz { string name; }',\n * ])\n */\nexport function parseAbiParameter(param) {\n let abiParameter;\n if (typeof param === 'string')\n abiParameter = parseAbiParameter_(param, {\n modifiers,\n });\n else {\n const structs = parseStructs(param);\n const length = param.length;\n for (let i = 0; i < length; i++) {\n const signature = param[i];\n if (isStructSignature(signature))\n continue;\n abiParameter = parseAbiParameter_(signature, { modifiers, structs });\n break;\n }\n }\n if (!abiParameter)\n throw new InvalidAbiParameterError({ param });\n return abiParameter;\n}\n//# sourceMappingURL=parseAbiParameter.js.map","import { InvalidAbiParametersError } from './errors/abiParameter.js';\nimport { isStructSignature, modifiers } from './runtime/signatures.js';\nimport { parseStructs } from './runtime/structs.js';\nimport { splitParameters } from './runtime/utils.js';\nimport { parseAbiParameter as parseAbiParameter_ } from './runtime/utils.js';\n/**\n * Parses human-readable ABI parameters into {@link AbiParameter}s\n *\n * @param params - Human-readable ABI parameters\n * @returns Parsed {@link AbiParameter}s\n *\n * @example\n * const abiParameters = parseAbiParameters('address from, address to, uint256 amount')\n * // ^? const abiParameters: [{ type: \"address\"; name: \"from\"; }, { type: \"address\";...\n *\n * @example\n * const abiParameters = parseAbiParameters([\n * // ^? const abiParameters: [{ type: \"tuple\"; components: [{ type: \"string\"; name:...\n * 'Baz bar',\n * 'struct Baz { string name; }',\n * ])\n */\nexport function parseAbiParameters(params) {\n const abiParameters = [];\n if (typeof params === 'string') {\n const parameters = splitParameters(params);\n const length = parameters.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter_(parameters[i], { modifiers }));\n }\n }\n else {\n const structs = parseStructs(params);\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const signature = params[i];\n if (isStructSignature(signature))\n continue;\n const parameters = splitParameters(signature);\n const length = parameters.length;\n for (let k = 0; k < length; k++) {\n abiParameters.push(parseAbiParameter_(parameters[k], { modifiers, structs }));\n }\n }\n }\n if (abiParameters.length === 0)\n throw new InvalidAbiParametersError({ params });\n return abiParameters;\n}\n//# sourceMappingURL=parseAbiParameters.js.map","import { getAction } from '../utils/getAction.js';\nimport { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { getContractEvents, } from './public/getContractEvents.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * client: publicClient,\n * })\n */\nexport function getContract({ abi, address, client: client_, }) {\n const client = client_;\n const [publicClient, walletClient] = (() => {\n if (!client)\n return [undefined, undefined];\n if ('public' in client && 'wallet' in client)\n return [client.public, client.wallet];\n if ('public' in client)\n return [client.public, undefined];\n if ('wallet' in client)\n return [undefined, client.wallet];\n return [client, client];\n })();\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, readContract, 'readContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, simulateContract, 'simulateContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.getEvents = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, getContractEvents, 'getContractEvents')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, watchContractEvent, 'watchContractEvent')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(walletClient, writeContract, 'writeContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return getAction(client, estimateContractGas, 'estimateContractGas')({\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map","export function isBytes(value) {\n if (!value)\n return false;\n if (typeof value !== 'object')\n return false;\n if (!('BYTES_PER_ELEMENT' in value))\n return false;\n return (value.BYTES_PER_ELEMENT === 1 && value.constructor.name === 'Uint8Array');\n}\n//# sourceMappingURL=isBytes.js.map","import { concat } from '../data/concat.js';\nimport { isBytes } from '../data/isBytes.js';\nimport { pad } from '../data/pad.js';\nimport { slice } from '../data/slice.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toRlp } from '../encoding/toRlp.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { getAddress } from './getAddress.js';\nexport function getContractAddress(opts) {\n if (opts.opcode === 'CREATE2')\n return getCreate2Address(opts);\n return getCreateAddress(opts);\n}\nexport function getCreateAddress(opts) {\n const from = toBytes(getAddress(opts.from));\n let nonce = toBytes(opts.nonce);\n if (nonce[0] === 0)\n nonce = new Uint8Array([]);\n return getAddress(`0x${keccak256(toRlp([from, nonce], 'bytes')).slice(26)}`);\n}\nexport function getCreate2Address(opts) {\n const from = toBytes(getAddress(opts.from));\n const salt = pad(isBytes(opts.salt) ? opts.salt : toBytes(opts.salt), {\n size: 32,\n });\n const bytecodeHash = (() => {\n if ('bytecodeHash' in opts) {\n if (isBytes(opts.bytecodeHash))\n return opts.bytecodeHash;\n return toBytes(opts.bytecodeHash);\n }\n return keccak256(opts.bytecode, 'bytes');\n })();\n return getAddress(slice(keccak256(concat([toBytes('0xff'), from, salt, bytecodeHash])), 12));\n}\n//# sourceMappingURL=getContractAddress.js.map","export function extractChain({ chains, id, }) {\n return chains.find((chain) => chain.id === id);\n}\n//# sourceMappingURL=extractChain.js.map","import { BaseError } from '../../errors/base.js';\nimport { InvalidHexValueError, } from '../../errors/encoding.js';\nimport { createCursor, } from '../cursor.js';\nimport { hexToBytes } from './toBytes.js';\nimport { bytesToHex } from './toHex.js';\nexport function fromRlp(value, to = 'hex') {\n const bytes = (() => {\n if (typeof value === 'string') {\n if (value.length > 3 && value.length % 2 !== 0)\n throw new InvalidHexValueError(value);\n return hexToBytes(value);\n }\n return value;\n })();\n const cursor = createCursor(bytes, {\n recursiveReadLimit: Number.POSITIVE_INFINITY,\n });\n const result = fromRlpCursor(cursor, to);\n return result;\n}\nfunction fromRlpCursor(cursor, to = 'hex') {\n if (cursor.bytes.length === 0)\n return (to === 'hex' ? bytesToHex(cursor.bytes) : cursor.bytes);\n const prefix = cursor.readByte();\n if (prefix < 0x80)\n cursor.decrementPosition(1);\n // bytes\n if (prefix < 0xc0) {\n const length = readLength(cursor, prefix, 0x80);\n const bytes = cursor.readBytes(length);\n return (to === 'hex' ? bytesToHex(bytes) : bytes);\n }\n // list\n const length = readLength(cursor, prefix, 0xc0);\n return readList(cursor, length, to);\n}\nfunction readLength(cursor, prefix, offset) {\n if (offset === 0x80 && prefix < 0x80)\n return 1;\n if (prefix <= offset + 55)\n return prefix - offset;\n if (prefix === offset + 55 + 1)\n return cursor.readUint8();\n if (prefix === offset + 55 + 2)\n return cursor.readUint16();\n if (prefix === offset + 55 + 3)\n return cursor.readUint24();\n if (prefix === offset + 55 + 4)\n return cursor.readUint32();\n throw new BaseError('Invalid RLP prefix');\n}\nfunction readList(cursor, length, to) {\n const position = cursor.position;\n const value = [];\n while (cursor.position - position < length)\n value.push(fromRlpCursor(cursor, to));\n return value;\n}\n//# sourceMappingURL=fromRlp.js.map","import { isHex } from '../data/isHex.js';\nimport { size } from '../data/size.js';\nexport function isHash(hash) {\n return isHex(hash) && size(hash) === 32;\n}\n//# sourceMappingURL=isHash.js.map","import { ripemd160 as noble_ripemd160 } from '@noble/hashes/ripemd160';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function ripemd160(value, to_) {\n const to = to_ || 'hex';\n const bytes = noble_ripemd160(isHex(value, { strict: false }) ? toBytes(value) : value);\n if (to === 'bytes')\n return bytes;\n return toHex(bytes);\n}\n//# sourceMappingURL=ripemd160.js.map","import { SocketClosedError, TimeoutError } from '../../errors/request.js';\nimport { createBatchScheduler, } from '../promise/createBatchScheduler.js';\nimport { withTimeout } from '../promise/withTimeout.js';\nimport { idCache } from './id.js';\nexport const socketClientCache = /*#__PURE__*/ new Map();\nexport async function getSocketRpcClient(parameters) {\n const { getSocket, keepAlive = true, key = 'socket', reconnect = true, url, } = parameters;\n const { interval: keepAliveInterval = 30_000 } = typeof keepAlive === 'object' ? keepAlive : {};\n const { attempts = 5, delay = 2_000 } = typeof reconnect === 'object' ? reconnect : {};\n const id = JSON.stringify({ keepAlive, key, url, reconnect });\n let socketClient = socketClientCache.get(id);\n // If the socket already exists, return it.\n if (socketClient)\n return socketClient;\n let reconnectCount = 0;\n const { schedule } = createBatchScheduler({\n id,\n fn: async () => {\n // Set up a cache for incoming \"synchronous\" requests.\n const requests = new Map();\n // Set up a cache for subscriptions (eth_subscribe).\n const subscriptions = new Map();\n let error;\n let socket;\n let keepAliveTimer;\n let reconnectInProgress = false;\n function attemptReconnect() {\n // Attempt to reconnect.\n if (reconnect && reconnectCount < attempts) {\n if (reconnectInProgress)\n return;\n reconnectInProgress = true;\n reconnectCount++;\n // Make sure the previous socket is definitely closed.\n socket?.close();\n setTimeout(async () => {\n // biome-ignore lint/suspicious/noConsole: _\n await setup().catch(console.error);\n reconnectInProgress = false;\n }, delay);\n }\n // Otherwise, clear all requests and subscriptions.\n else {\n requests.clear();\n subscriptions.clear();\n }\n }\n // Set up socket implementation.\n async function setup() {\n const result = await getSocket({\n onClose() {\n // Notify all requests and subscriptions of the closure error.\n for (const request of requests.values())\n request.onError?.(new SocketClosedError({ url }));\n for (const subscription of subscriptions.values())\n subscription.onError?.(new SocketClosedError({ url }));\n attemptReconnect();\n },\n onError(error_) {\n error = error_;\n // Notify all requests and subscriptions of the error.\n for (const request of requests.values())\n request.onError?.(error);\n for (const subscription of subscriptions.values())\n subscription.onError?.(error);\n attemptReconnect();\n },\n onOpen() {\n error = undefined;\n reconnectCount = 0;\n },\n onResponse(data) {\n const isSubscription = data.method === 'eth_subscription';\n const id = isSubscription ? data.params.subscription : data.id;\n const cache = isSubscription ? subscriptions : requests;\n const callback = cache.get(id);\n if (callback)\n callback.onResponse(data);\n if (!isSubscription)\n cache.delete(id);\n },\n });\n socket = result;\n if (keepAlive) {\n if (keepAliveTimer)\n clearInterval(keepAliveTimer);\n keepAliveTimer = setInterval(() => socket.ping?.(), keepAliveInterval);\n }\n if (reconnect && subscriptions.size > 0) {\n const subscriptionEntries = subscriptions.entries();\n for (const [key, { onResponse, body, onError },] of subscriptionEntries) {\n if (!body)\n continue;\n subscriptions.delete(key);\n socketClient?.request({ body, onResponse, onError });\n }\n }\n return result;\n }\n await setup();\n error = undefined;\n // Create a new socket instance.\n socketClient = {\n close() {\n keepAliveTimer && clearInterval(keepAliveTimer);\n socket.close();\n socketClientCache.delete(id);\n },\n get socket() {\n return socket;\n },\n request({ body, onError, onResponse }) {\n if (error && onError)\n onError(error);\n const id = body.id ?? idCache.take();\n const callback = (response) => {\n if (typeof response.id === 'number' && id !== response.id)\n return;\n // If we are subscribing to a topic, we want to set up a listener for incoming\n // messages.\n if (body.method === 'eth_subscribe' &&\n typeof response.result === 'string')\n subscriptions.set(response.result, {\n onResponse: callback,\n onError,\n body,\n });\n // If we are unsubscribing from a topic, we want to remove the listener.\n if (body.method === 'eth_unsubscribe')\n subscriptions.delete(body.params?.[0]);\n onResponse(response);\n };\n requests.set(id, { onResponse: callback, onError });\n try {\n socket.request({\n body: {\n jsonrpc: '2.0',\n id,\n ...body,\n },\n });\n }\n catch (error) {\n onError?.(error);\n }\n },\n requestAsync({ body, timeout = 10_000 }) {\n return withTimeout(() => new Promise((onResponse, onError) => this.request({\n body,\n onError,\n onResponse,\n })), {\n errorInstance: new TimeoutError({ body, url }),\n timeout,\n });\n },\n requests,\n subscriptions,\n url,\n };\n socketClientCache.set(id, socketClient);\n return [socketClient];\n },\n });\n const [_, [socketClient_]] = await schedule();\n return socketClient_;\n}\n//# sourceMappingURL=socket.js.map","import { SocketClosedError, WebSocketRequestError, } from '../../errors/request.js';\nimport { getSocketRpcClient, } from './socket.js';\nexport async function getWebSocketRpcClient(url, options = {}) {\n const { keepAlive, reconnect } = options;\n return getSocketRpcClient({\n async getSocket({ onClose, onError, onOpen, onResponse }) {\n const WebSocket = await import('isows').then((module) => module.WebSocket);\n const socket = new WebSocket(url);\n function onClose_() {\n socket.removeEventListener('close', onClose_);\n socket.removeEventListener('message', onMessage);\n socket.removeEventListener('error', onError);\n socket.removeEventListener('open', onOpen);\n onClose();\n }\n function onMessage({ data }) {\n // ignore empty messages\n if (typeof data === 'string' && data.trim().length === 0)\n return;\n try {\n const _data = JSON.parse(data);\n onResponse(_data);\n }\n catch (error) {\n onError(error);\n }\n }\n // Setup event listeners for RPC & subscription responses.\n socket.addEventListener('close', onClose_);\n socket.addEventListener('message', onMessage);\n socket.addEventListener('error', onError);\n socket.addEventListener('open', onOpen);\n // Wait for the socket to open.\n if (socket.readyState === WebSocket.CONNECTING) {\n await new Promise((resolve, reject) => {\n if (!socket)\n return;\n socket.onopen = resolve;\n socket.onerror = reject;\n });\n }\n const { close: close_ } = socket;\n return Object.assign(socket, {\n close() {\n close_.bind(socket)();\n onClose_();\n },\n ping() {\n try {\n if (socket.readyState === socket.CLOSED ||\n socket.readyState === socket.CLOSING)\n throw new WebSocketRequestError({\n url: socket.url,\n cause: new SocketClosedError({ url: socket.url }),\n });\n const body = {\n jsonrpc: '2.0',\n id: null,\n method: 'net_version',\n params: [],\n };\n socket.send(JSON.stringify(body));\n }\n catch (error) {\n onError(error);\n }\n },\n request({ body }) {\n if (socket.readyState === socket.CLOSED ||\n socket.readyState === socket.CLOSING)\n throw new WebSocketRequestError({\n body,\n url: socket.url,\n cause: new SocketClosedError({ url: socket.url }),\n });\n return socket.send(JSON.stringify(body));\n },\n });\n },\n keepAlive,\n reconnect,\n url,\n });\n}\n//# sourceMappingURL=webSocket.js.map","// TODO(v3): This file is here for backwards compatibility, and to prevent breaking changes.\n// These APIs will be removed in v3.\nimport { getHttpRpcClient } from './http.js';\nimport { getWebSocketRpcClient } from './webSocket.js';\nfunction webSocket(socketClient, { body, onError, onResponse }) {\n socketClient.request({\n body,\n onError,\n onResponse,\n });\n return socketClient;\n}\nasync function webSocketAsync(socketClient, { body, timeout = 10_000 }) {\n return socketClient.requestAsync({\n body,\n timeout,\n });\n}\n/**\n * @deprecated use `getSocketClient` instead.\n *\n * ```diff\n * -import { getSocket } from 'viem/utils'\n * +import { getSocketClient } from 'viem/utils'\n *\n * -const socket = await getSocket(url)\n * +const socketClient = await getSocketClient(url)\n * +const socket = socketClient.socket\n * ```\n */\nexport async function getSocket(url) {\n const client = await getWebSocketRpcClient(url);\n return Object.assign(client.socket, {\n requests: client.requests,\n subscriptions: client.subscriptions,\n });\n}\nexport const rpc = {\n /**\n * @deprecated use `getHttpRpcClient` instead.\n *\n * ```diff\n * -import { rpc } from 'viem/utils'\n * +import { getHttpRpcClient } from 'viem/utils'\n *\n * -rpc.http(url, params)\n * +const httpClient = getHttpRpcClient(url)\n * +httpClient.request(params)\n * ```\n */\n http(url, params) {\n return getHttpRpcClient(url).request(params);\n },\n /**\n * @deprecated use `getWebSocketRpcClient` instead.\n *\n * ```diff\n * -import { rpc } from 'viem/utils'\n * +import { getWebSocketRpcClient } from 'viem/utils'\n *\n * -rpc.webSocket(url, params)\n * +const webSocketClient = getWebSocketRpcClient(url)\n * +webSocketClient.request(params)\n * ```\n */\n webSocket,\n /**\n * @deprecated use `getWebSocketRpcClient` instead.\n *\n * ```diff\n * -import { rpc } from 'viem/utils'\n * +import { getWebSocketRpcClient } from 'viem/utils'\n *\n * -const response = await rpc.webSocketAsync(url, params)\n * +const webSocketClient = getWebSocketRpcClient(url)\n * +const response = await webSocketClient.requestAsync(params)\n * ```\n */\n webSocketAsync,\n};\n/* c8 ignore end */\n//# sourceMappingURL=compat.js.map","import { erc6492MagicBytes } from '../../constants/bytes.js';\nimport { sliceHex } from '../data/slice.js';\n/** Whether or not the signature is an ERC-6492 formatted signature. */\nexport function isErc6492Signature(signature) {\n return sliceHex(signature, -32) === erc6492MagicBytes;\n}\n//# sourceMappingURL=isErc6492Signature.js.map","import { SignatureErc8010 } from 'ox/erc8010';\n/** Whether or not the signature is an ERC-8010 formatted signature. */\nexport function isErc8010Signature(signature) {\n return SignatureErc8010.validate(signature);\n}\n//# sourceMappingURL=isErc8010Signature.js.map","import { decodeAbiParameters, } from '../abi/decodeAbiParameters.js';\nimport { isErc6492Signature, } from './isErc6492Signature.js';\n/**\n * @description Parses a hex-formatted ERC-6492 flavoured signature.\n * If the signature is not in ERC-6492 format, then the underlying (original) signature is returned.\n *\n * @param signature ERC-6492 signature in hex format.\n * @returns The parsed ERC-6492 signature.\n *\n * @example\n * parseSignature('0x000000000000000000000000cafebabecafebabecafebabecafebabecafebabe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004deadbeef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b000000000000000000000000000000000000000000000000000000000000006492649264926492649264926492649264926492649264926492649264926492')\n * // { address: '0x...', data: '0x...', signature: '0x...' }\n */\nexport function parseErc6492Signature(signature) {\n if (!isErc6492Signature(signature))\n return { signature };\n const [address, data, signature_] = decodeAbiParameters([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature);\n return { address, data, signature: signature_ };\n}\n//# sourceMappingURL=parseErc6492Signature.js.map","import { SignatureErc8010 } from 'ox/erc8010';\nimport { numberToHex } from '../encoding/toHex.js';\nimport { isErc8010Signature, } from './isErc8010Signature.js';\n/**\n * @description Parses a hex-formatted ERC-8010 flavoured signature.\n * If the signature is not in ERC-8010 format, then the underlying (original) signature is returned.\n *\n * @param signature ERC-8010 signature in hex format.\n * @returns The parsed ERC-8010 signature.\n */\nexport function parseErc8010Signature(signature) {\n if (!isErc8010Signature(signature))\n return { signature };\n const { authorization: authorization_ox, to, ...rest } = SignatureErc8010.unwrap(signature);\n return {\n authorization: {\n address: authorization_ox.address,\n chainId: authorization_ox.chainId,\n nonce: Number(authorization_ox.nonce),\n r: numberToHex(authorization_ox.r, { size: 32 }),\n s: numberToHex(authorization_ox.s, { size: 32 }),\n yParity: authorization_ox.yParity,\n },\n ...(to ? { address: to } : {}),\n ...rest,\n };\n}\n//# sourceMappingURL=parseErc8010Signature.js.map","import { hashMessage } from './hashMessage.js';\nimport { recoverAddress, } from './recoverAddress.js';\nexport async function recoverMessageAddress({ message, signature, }) {\n return recoverAddress({ hash: hashMessage(message), signature });\n}\n//# sourceMappingURL=recoverMessageAddress.js.map","import { hashTypedData } from './hashTypedData.js';\nimport { recoverAddress, } from './recoverAddress.js';\nexport async function recoverTypedDataAddress(parameters) {\n const { domain, message, primaryType, signature, types } = parameters;\n return recoverAddress({\n hash: hashTypedData({\n domain,\n message,\n primaryType,\n types,\n }),\n signature,\n });\n}\n//# sourceMappingURL=recoverTypedDataAddress.js.map","import { SignatureErc8010 } from 'ox/erc8010';\nimport { hexToBytes } from '../encoding/toBytes.js';\n/**\n * @description Serializes a ERC-8010 flavoured signature into hex format.\n *\n * @param signature ERC-8010 signature in object format.\n * @returns ERC-8010 signature in hex format.\n */\nexport function serializeErc8010Signature(parameters) {\n const { address, data, signature, to = 'hex' } = parameters;\n const signature_ = SignatureErc8010.wrap({\n authorization: {\n address: parameters.authorization.address,\n chainId: parameters.authorization.chainId,\n nonce: BigInt(parameters.authorization.nonce),\n r: BigInt(parameters.authorization.r),\n s: BigInt(parameters.authorization.s),\n yParity: parameters.authorization.yParity,\n },\n data,\n signature,\n to: address,\n });\n if (to === 'hex')\n return signature_;\n return hexToBytes(signature_);\n}\n//# sourceMappingURL=serializeErc8010Signature.js.map","import { getAddress } from '../address/getAddress.js';\nimport { isAddressEqual, } from '../address/isAddressEqual.js';\nimport { recoverAddress, } from './recoverAddress.js';\n/**\n * Verify that a message was signed by the provided address.\n *\n * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.\n * It is highly recommended to use `publicClient.verifyHash` instead to ensure\n * wallet interoperability.\n *\n * - Docs {@link https://viem.sh/docs/utilities/verifyHash}\n *\n * @param parameters - {@link VerifyHashParameters}\n * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}\n */\nexport async function verifyHash({ address, hash, signature, }) {\n return isAddressEqual(getAddress(address), await recoverAddress({ hash, signature }));\n}\n//# sourceMappingURL=verifyHash.js.map","import { getAddress } from '../address/getAddress.js';\nimport { isAddressEqual, } from '../address/isAddressEqual.js';\nimport { recoverMessageAddress, } from './recoverMessageAddress.js';\n/**\n * Verify that a message was signed by the provided address.\n *\n * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.\n * It is highly recommended to use `publicClient.verifyMessage` instead to ensure\n * wallet interoperability.\n *\n * - Docs {@link https://viem.sh/docs/utilities/verifyMessage}\n *\n * @param parameters - {@link VerifyMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}\n */\nexport async function verifyMessage({ address, message, signature, }) {\n return isAddressEqual(getAddress(address), await recoverMessageAddress({ message, signature }));\n}\n//# sourceMappingURL=verifyMessage.js.map","import { getAddress } from '../address/getAddress.js';\nimport { isAddressEqual, } from '../address/isAddressEqual.js';\nimport { recoverTypedDataAddress, } from './recoverTypedDataAddress.js';\n/**\n * Verify that typed data was signed by the provided address.\n *\n * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.\n * It is highly recommended to use `publicClient.verifyTypedData` instead to ensure\n * wallet interoperability.\n *\n * - Docs {@link https://viem.sh/docs/utilities/verifyTypedData}\n *\n * @param parameters - {@link VerifyTypedDataParameters}\n * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}\n */\nexport async function verifyTypedData(parameters) {\n const { address, domain, message, primaryType, signature, types } = parameters;\n return isAddressEqual(getAddress(address), await recoverTypedDataAddress({\n domain,\n message,\n primaryType,\n signature,\n types,\n }));\n}\n//# sourceMappingURL=verifyTypedData.js.map","import { InvalidSerializedTransactionTypeError, } from '../../errors/transaction.js';\nimport { sliceHex } from '../data/slice.js';\nimport { hexToNumber } from '../encoding/fromHex.js';\nexport function getSerializedTransactionType(serializedTransaction) {\n const serializedType = sliceHex(serializedTransaction, 0, 1);\n if (serializedType === '0x04')\n return 'eip7702';\n if (serializedType === '0x03')\n return 'eip4844';\n if (serializedType === '0x02')\n return 'eip1559';\n if (serializedType === '0x01')\n return 'eip2930';\n if (serializedType !== '0x' && hexToNumber(serializedType) >= 0xc0)\n return 'legacy';\n throw new InvalidSerializedTransactionTypeError({ serializedType });\n}\n//# sourceMappingURL=getSerializedTransactionType.js.map","import { InvalidAddressError, } from '../../errors/address.js';\nimport { InvalidLegacyVError, InvalidSerializedTransactionError, } from '../../errors/transaction.js';\nimport { isAddress } from '../address/isAddress.js';\nimport { toBlobSidecars } from '../blob/toBlobSidecars.js';\nimport { isHex } from '../data/isHex.js';\nimport { padHex } from '../data/pad.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBigInt, hexToNumber, } from '../encoding/fromHex.js';\nimport { fromRlp } from '../encoding/fromRlp.js';\nimport { isHash } from '../hash/isHash.js';\nimport { assertTransactionEIP1559, assertTransactionEIP2930, assertTransactionEIP4844, assertTransactionEIP7702, assertTransactionLegacy, } from './assertTransaction.js';\nimport { getSerializedTransactionType, } from './getSerializedTransactionType.js';\nexport function parseTransaction(serializedTransaction) {\n const type = getSerializedTransactionType(serializedTransaction);\n if (type === 'eip1559')\n return parseTransactionEIP1559(serializedTransaction);\n if (type === 'eip2930')\n return parseTransactionEIP2930(serializedTransaction);\n if (type === 'eip4844')\n return parseTransactionEIP4844(serializedTransaction);\n if (type === 'eip7702')\n return parseTransactionEIP7702(serializedTransaction);\n return parseTransactionLegacy(serializedTransaction);\n}\nfunction parseTransactionEIP7702(serializedTransaction) {\n const transactionArray = toTransactionArray(serializedTransaction);\n const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, authorizationList, v, r, s,] = transactionArray;\n if (transactionArray.length !== 10 && transactionArray.length !== 13)\n throw new InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n maxPriorityFeePerGas,\n maxFeePerGas,\n gas,\n to,\n value,\n data,\n accessList,\n authorizationList,\n ...(transactionArray.length > 9\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip7702',\n });\n const transaction = {\n chainId: hexToNumber(chainId),\n type: 'eip7702',\n };\n if (isHex(to) && to !== '0x')\n transaction.to = to;\n if (isHex(gas) && gas !== '0x')\n transaction.gas = hexToBigInt(gas);\n if (isHex(data) && data !== '0x')\n transaction.data = data;\n if (isHex(nonce))\n transaction.nonce = nonce === '0x' ? 0 : hexToNumber(nonce);\n if (isHex(value) && value !== '0x')\n transaction.value = hexToBigInt(value);\n if (isHex(maxFeePerGas) && maxFeePerGas !== '0x')\n transaction.maxFeePerGas = hexToBigInt(maxFeePerGas);\n if (isHex(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')\n transaction.maxPriorityFeePerGas = hexToBigInt(maxPriorityFeePerGas);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n if (authorizationList.length !== 0 && authorizationList !== '0x')\n transaction.authorizationList = parseAuthorizationList(authorizationList);\n assertTransactionEIP7702(transaction);\n const signature = transactionArray.length === 13\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionEIP4844(serializedTransaction) {\n const transactionOrWrapperArray = toTransactionArray(serializedTransaction);\n const hasNetworkWrapper = transactionOrWrapperArray.length === 4;\n const transactionArray = hasNetworkWrapper\n ? transactionOrWrapperArray[0]\n : transactionOrWrapperArray;\n const wrapperArray = hasNetworkWrapper\n ? transactionOrWrapperArray.slice(1)\n : [];\n const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, maxFeePerBlobGas, blobVersionedHashes, v, r, s,] = transactionArray;\n const [blobs, commitments, proofs] = wrapperArray;\n if (!(transactionArray.length === 11 || transactionArray.length === 14))\n throw new InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n maxPriorityFeePerGas,\n maxFeePerGas,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 9\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip4844',\n });\n const transaction = {\n blobVersionedHashes: blobVersionedHashes,\n chainId: hexToNumber(chainId),\n type: 'eip4844',\n };\n if (isHex(to) && to !== '0x')\n transaction.to = to;\n if (isHex(gas) && gas !== '0x')\n transaction.gas = hexToBigInt(gas);\n if (isHex(data) && data !== '0x')\n transaction.data = data;\n if (isHex(nonce))\n transaction.nonce = nonce === '0x' ? 0 : hexToNumber(nonce);\n if (isHex(value) && value !== '0x')\n transaction.value = hexToBigInt(value);\n if (isHex(maxFeePerBlobGas) && maxFeePerBlobGas !== '0x')\n transaction.maxFeePerBlobGas = hexToBigInt(maxFeePerBlobGas);\n if (isHex(maxFeePerGas) && maxFeePerGas !== '0x')\n transaction.maxFeePerGas = hexToBigInt(maxFeePerGas);\n if (isHex(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')\n transaction.maxPriorityFeePerGas = hexToBigInt(maxPriorityFeePerGas);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n if (blobs && commitments && proofs)\n transaction.sidecars = toBlobSidecars({\n blobs: blobs,\n commitments: commitments,\n proofs: proofs,\n });\n assertTransactionEIP4844(transaction);\n const signature = transactionArray.length === 14\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionEIP1559(serializedTransaction) {\n const transactionArray = toTransactionArray(serializedTransaction);\n const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray;\n if (!(transactionArray.length === 9 || transactionArray.length === 12))\n throw new InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n maxPriorityFeePerGas,\n maxFeePerGas,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 9\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip1559',\n });\n const transaction = {\n chainId: hexToNumber(chainId),\n type: 'eip1559',\n };\n if (isHex(to) && to !== '0x')\n transaction.to = to;\n if (isHex(gas) && gas !== '0x')\n transaction.gas = hexToBigInt(gas);\n if (isHex(data) && data !== '0x')\n transaction.data = data;\n if (isHex(nonce))\n transaction.nonce = nonce === '0x' ? 0 : hexToNumber(nonce);\n if (isHex(value) && value !== '0x')\n transaction.value = hexToBigInt(value);\n if (isHex(maxFeePerGas) && maxFeePerGas !== '0x')\n transaction.maxFeePerGas = hexToBigInt(maxFeePerGas);\n if (isHex(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')\n transaction.maxPriorityFeePerGas = hexToBigInt(maxPriorityFeePerGas);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n assertTransactionEIP1559(transaction);\n const signature = transactionArray.length === 12\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionEIP2930(serializedTransaction) {\n const transactionArray = toTransactionArray(serializedTransaction);\n const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray;\n if (!(transactionArray.length === 8 || transactionArray.length === 11))\n throw new InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 8\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip2930',\n });\n const transaction = {\n chainId: hexToNumber(chainId),\n type: 'eip2930',\n };\n if (isHex(to) && to !== '0x')\n transaction.to = to;\n if (isHex(gas) && gas !== '0x')\n transaction.gas = hexToBigInt(gas);\n if (isHex(data) && data !== '0x')\n transaction.data = data;\n if (isHex(nonce))\n transaction.nonce = nonce === '0x' ? 0 : hexToNumber(nonce);\n if (isHex(value) && value !== '0x')\n transaction.value = hexToBigInt(value);\n if (isHex(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = hexToBigInt(gasPrice);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n assertTransactionEIP2930(transaction);\n const signature = transactionArray.length === 11\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionLegacy(serializedTransaction) {\n const transactionArray = fromRlp(serializedTransaction, 'hex');\n const [nonce, gasPrice, gas, to, value, data, chainIdOrV_, r, s] = transactionArray;\n if (!(transactionArray.length === 6 || transactionArray.length === 9))\n throw new InvalidSerializedTransactionError({\n attributes: {\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n ...(transactionArray.length > 6\n ? {\n v: chainIdOrV_,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'legacy',\n });\n const transaction = {\n type: 'legacy',\n };\n if (isHex(to) && to !== '0x')\n transaction.to = to;\n if (isHex(gas) && gas !== '0x')\n transaction.gas = hexToBigInt(gas);\n if (isHex(data) && data !== '0x')\n transaction.data = data;\n if (isHex(nonce))\n transaction.nonce = nonce === '0x' ? 0 : hexToNumber(nonce);\n if (isHex(value) && value !== '0x')\n transaction.value = hexToBigInt(value);\n if (isHex(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = hexToBigInt(gasPrice);\n assertTransactionLegacy(transaction);\n if (transactionArray.length === 6)\n return transaction;\n const chainIdOrV = isHex(chainIdOrV_) && chainIdOrV_ !== '0x'\n ? hexToBigInt(chainIdOrV_)\n : 0n;\n if (s === '0x' && r === '0x') {\n if (chainIdOrV > 0)\n transaction.chainId = Number(chainIdOrV);\n return transaction;\n }\n const v = chainIdOrV;\n const chainId = Number((v - 35n) / 2n);\n if (chainId > 0)\n transaction.chainId = chainId;\n else if (v !== 27n && v !== 28n)\n throw new InvalidLegacyVError({ v });\n transaction.v = v;\n transaction.s = s;\n transaction.r = r;\n transaction.yParity = v % 2n === 0n ? 1 : 0;\n return transaction;\n}\nexport function toTransactionArray(serializedTransaction) {\n return fromRlp(`0x${serializedTransaction.slice(4)}`, 'hex');\n}\nexport function parseAccessList(accessList_) {\n const accessList = [];\n for (let i = 0; i < accessList_.length; i++) {\n const [address, storageKeys] = accessList_[i];\n if (!isAddress(address, { strict: false }))\n throw new InvalidAddressError({ address });\n accessList.push({\n address: address,\n storageKeys: storageKeys.map((key) => (isHash(key) ? key : trim(key))),\n });\n }\n return accessList;\n}\nfunction parseAuthorizationList(serializedAuthorizationList) {\n const authorizationList = [];\n for (let i = 0; i < serializedAuthorizationList.length; i++) {\n const [chainId, address, nonce, yParity, r, s] = serializedAuthorizationList[i];\n authorizationList.push({\n address,\n chainId: chainId === '0x' ? 0 : hexToNumber(chainId),\n nonce: nonce === '0x' ? 0 : hexToNumber(nonce),\n ...parseEIP155Signature([yParity, r, s]),\n });\n }\n return authorizationList;\n}\nfunction parseEIP155Signature(transactionArray) {\n const signature = transactionArray.slice(-3);\n const v = signature[0] === '0x' || hexToBigInt(signature[0]) === 0n ? 27n : 28n;\n return {\n r: padHex(signature[1], { size: 32 }),\n s: padHex(signature[2], { size: 32 }),\n v,\n yParity: v === 27n ? 0 : 1,\n };\n}\n//# sourceMappingURL=parseTransaction.js.map","import { etherUnits } from '../../constants/unit.js';\nimport { parseUnits } from './parseUnits.js';\n/**\n * Converts a string representation of ether to numerical wei.\n *\n * - Docs: https://viem.sh/docs/utilities/parseEther\n *\n * @example\n * import { parseEther } from 'viem'\n *\n * parseEther('420')\n * // 420000000000000000000n\n */\nexport function parseEther(ether, unit = 'wei') {\n return parseUnits(ether, etherUnits[unit]);\n}\n//# sourceMappingURL=parseEther.js.map","import { gweiUnits } from '../../constants/unit.js';\nimport { parseUnits } from './parseUnits.js';\n/**\n * Converts a string representation of gwei to numerical wei.\n *\n * - Docs: https://viem.sh/docs/utilities/parseGwei\n *\n * @example\n * import { parseGwei } from 'viem'\n *\n * parseGwei('420')\n * // 420000000000n\n */\nexport function parseGwei(ether, unit = 'wei') {\n return parseUnits(ether, gweiUnits[unit]);\n}\n//# sourceMappingURL=parseGwei.js.map","/**\n * Removes a transaction from the mempool.\n *\n * - Docs: https://viem.sh/docs/actions/test/dropTransaction\n *\n * @param client - Client to use\n * @param parameters - {@link DropTransactionParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { dropTransaction } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await dropTransaction(client, {\n * hash: '0xe58dceb6b20b03965bb678e27d141e151d7d4efc2334c2d6a49b9fac523f7364'\n * })\n */\nexport async function dropTransaction(client, { hash }) {\n await client.request({\n method: `${client.mode}_dropTransaction`,\n params: [hash],\n });\n}\n//# sourceMappingURL=dropTransaction.js.map","/**\n * Serializes the current state (including contracts code, contract's storage,\n * accounts properties, etc.) into a savable data blob.\n *\n * - Docs: https://viem.sh/docs/actions/test/dumpState\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { dumpState } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await dumpState(client)\n */\nexport async function dumpState(client) {\n return client.request({\n method: `${client.mode}_dumpState`,\n });\n}\n//# sourceMappingURL=dumpState.js.map","/**\n * Returns the automatic mining status of the node.\n *\n * - Docs: https://viem.sh/docs/actions/test/getAutomine\n *\n * @param client - Client to use\n * @returns Whether or not the node is auto mining. {@link GetAutomineReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getAutomine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const isAutomining = await getAutomine(client)\n */\nexport async function getAutomine(client) {\n if (client.mode === 'ganache')\n return await client.request({\n method: 'eth_mining',\n });\n return await client.request({\n method: `${client.mode}_getAutomine`,\n });\n}\n//# sourceMappingURL=getAutomine.js.map","/**\n * Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/getTxpoolContent\n *\n * @param client - Client to use\n * @returns Transaction pool content. {@link GetTxpoolContentReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getTxpoolContent } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const content = await getTxpoolContent(client)\n */\nexport async function getTxpoolContent(client) {\n return await client.request({\n method: 'txpool_content',\n });\n}\n//# sourceMappingURL=getTxpoolContent.js.map","import { hexToNumber } from '../../utils/encoding/fromHex.js';\n/**\n * Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/getTxpoolStatus\n *\n * @param client - Client to use\n * @returns Transaction pool status. {@link GetTxpoolStatusReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getTxpoolStatus } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const status = await getTxpoolStatus(client)\n */\nexport async function getTxpoolStatus(client) {\n const { pending, queued } = await client.request({\n method: 'txpool_status',\n });\n return {\n pending: hexToNumber(pending),\n queued: hexToNumber(queued),\n };\n}\n//# sourceMappingURL=getTxpoolStatus.js.map","/**\n * Impersonate an account or contract address. This lets you send transactions from that account even if you don't have access to its private key.\n *\n * - Docs: https://viem.sh/docs/actions/test/impersonateAccount\n *\n * @param client - Client to use\n * @param parameters - {@link ImpersonateAccountParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { impersonateAccount } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const content = await impersonateAccount(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function impersonateAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_impersonateAccount`,\n params: [address],\n });\n}\n//# sourceMappingURL=impersonateAccount.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Jump forward in time by the given amount of time, in seconds.\n *\n * - Docs: https://viem.sh/docs/actions/test/increaseTime\n *\n * @param client - Client to use\n * @param parameters – {@link IncreaseTimeParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { increaseTime } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await increaseTime(client, {\n * seconds: 420,\n * })\n */\nexport async function increaseTime(client, { seconds }) {\n return await client.request({\n method: 'evm_increaseTime',\n params: [numberToHex(seconds)],\n });\n}\n//# sourceMappingURL=increaseTime.js.map","/**\n * Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/inspectTxpool\n *\n * @param client - Client to use\n * @returns Transaction pool inspection data. {@link InspectTxpoolReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { inspectTxpool } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const data = await inspectTxpool(client)\n */\nexport async function inspectTxpool(client) {\n return await client.request({\n method: 'txpool_inspect',\n });\n}\n//# sourceMappingURL=inspectTxpool.js.map","/**\n * Adds state previously dumped with `dumpState` to the current chain.\n *\n * - Docs: https://viem.sh/docs/actions/test/loadState\n *\n * @param client - Client to use\n * @param parameters - {@link LoadStateParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { loadState } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await loadState(client, { state: '0x...' })\n */\nexport async function loadState(client, { state }) {\n await client.request({\n method: `${client.mode}_loadState`,\n params: [state],\n });\n}\n//# sourceMappingURL=loadState.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Mine a specified number of blocks.\n *\n * - Docs: https://viem.sh/docs/actions/test/mine\n *\n * @param client - Client to use\n * @param parameters – {@link MineParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { mine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await mine(client, { blocks: 1 })\n */\nexport async function mine(client, { blocks, interval }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_mine',\n params: [{ blocks: numberToHex(blocks) }],\n });\n else\n await client.request({\n method: `${client.mode}_mine`,\n params: [numberToHex(blocks), numberToHex(interval || 0)],\n });\n}\n//# sourceMappingURL=mine.js.map","/**\n * Removes [`setBlockTimestampInterval`](https://viem.sh/docs/actions/test/setBlockTimestampInterval) if it exists.\n *\n * - Docs: https://viem.sh/docs/actions/test/removeBlockTimestampInterval\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { removeBlockTimestampInterval } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await removeBlockTimestampInterval(client)\n */\nexport async function removeBlockTimestampInterval(client) {\n await client.request({\n method: `${client.mode}_removeBlockTimestampInterval`,\n });\n}\n//# sourceMappingURL=removeBlockTimestampInterval.js.map","/**\n * Resets fork back to its original state.\n *\n * - Docs: https://viem.sh/docs/actions/test/reset\n *\n * @param client - Client to use\n * @param parameters – {@link ResetParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { reset } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await reset(client, { blockNumber: 69420n })\n */\nexport async function reset(client, { blockNumber, jsonRpcUrl } = {}) {\n await client.request({\n method: `${client.mode}_reset`,\n params: [{ forking: { blockNumber: Number(blockNumber), jsonRpcUrl } }],\n });\n}\n//# sourceMappingURL=reset.js.map","/**\n * Revert the state of the blockchain at the current block.\n *\n * - Docs: https://viem.sh/docs/actions/test/revert\n *\n * @param client - Client to use\n * @param parameters – {@link RevertParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { revert } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await revert(client, { id: '0x…' })\n */\nexport async function revert(client, { id }) {\n await client.request({\n method: 'evm_revert',\n params: [id],\n });\n}\n//# sourceMappingURL=revert.js.map","import { extract } from '../../utils/formatters/extract.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\n/**\n * Executes a transaction regardless of the signature.\n *\n * - Docs: https://viem.sh/docs/actions/test/sendUnsignedTransaction#sendunsignedtransaction\n *\n * @param client - Client to use\n * @param parameters – {@link SendUnsignedTransactionParameters}\n * @returns The transaction hash. {@link SendUnsignedTransactionReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { sendUnsignedTransaction } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const hash = await sendUnsignedTransaction(client, {\n * from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n */\nexport async function sendUnsignedTransaction(client, args) {\n const { accessList, data, from, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const chainFormat = client.chain?.formatters?.transactionRequest?.format;\n const format = chainFormat || formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { format: chainFormat }),\n accessList,\n data,\n from,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const hash = await client.request({\n method: 'eth_sendUnsignedTransaction',\n params: [request],\n });\n return hash;\n}\n//# sourceMappingURL=sendUnsignedTransaction.js.map","/**\n * Enables or disables the automatic mining of new blocks with each new transaction submitted to the network.\n *\n * - Docs: https://viem.sh/docs/actions/test/setAutomine\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setAutomine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setAutomine(client)\n */\nexport async function setAutomine(client, enabled) {\n if (client.mode === 'ganache') {\n if (enabled)\n await client.request({ method: 'miner_start' });\n else\n await client.request({ method: 'miner_stop' });\n }\n else\n await client.request({\n method: 'evm_setAutomine',\n params: [enabled],\n });\n}\n//# sourceMappingURL=setAutomine.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Modifies the balance of an account.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBalance\n *\n * @param client - Client to use\n * @param parameters – {@link SetBalanceParameters}\n *\n * @example\n * import { createTestClient, http, parseEther } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBalance } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBalance(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * value: parseEther('1'),\n * })\n */\nexport async function setBalance(client, { address, value }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_setAccountBalance',\n params: [address, numberToHex(value)],\n });\n else\n await client.request({\n method: `${client.mode}_setBalance`,\n params: [address, numberToHex(value)],\n });\n}\n//# sourceMappingURL=setBalance.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Sets the block's gas limit.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBlockGasLimit\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockGasLimitParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBlockGasLimit } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBlockGasLimit(client, { gasLimit: 420_000n })\n */\nexport async function setBlockGasLimit(client, { gasLimit }) {\n await client.request({\n method: 'evm_setBlockGasLimit',\n params: [numberToHex(gasLimit)],\n });\n}\n//# sourceMappingURL=setBlockGasLimit.js.map","/**\n * Similar to [`increaseTime`](https://viem.sh/docs/actions/test/increaseTime), but sets a block timestamp `interval`. The timestamp of future blocks will be computed as `lastBlock_timestamp` + `interval`.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBlockTimestampInterval\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockTimestampIntervalParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBlockTimestampInterval } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBlockTimestampInterval(client, { interval: 5 })\n */\nexport async function setBlockTimestampInterval(client, { interval }) {\n const interval_ = (() => {\n if (client.mode === 'hardhat')\n return interval * 1000;\n return interval;\n })();\n await client.request({\n method: `${client.mode}_setBlockTimestampInterval`,\n params: [interval_],\n });\n}\n//# sourceMappingURL=setBlockTimestampInterval.js.map","/**\n * Modifies the bytecode stored at an account's address.\n *\n * - Docs: https://viem.sh/docs/actions/test/setCode\n *\n * @param client - Client to use\n * @param parameters – {@link SetCodeParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setCode } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setCode(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * bytecode: '0x60806040526000600355600019600955600c80546001600160a01b031916737a250d5630b4cf539739df…',\n * })\n */\nexport async function setCode(client, { address, bytecode }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_setAccountCode',\n params: [address, bytecode],\n });\n else\n await client.request({\n method: `${client.mode}_setCode`,\n params: [address, bytecode],\n });\n}\n//# sourceMappingURL=setCode.js.map","/**\n * Sets the coinbase address to be used in new blocks.\n *\n * - Docs: https://viem.sh/docs/actions/test/setCoinbase\n *\n * @param client - Client to use\n * @param parameters – {@link SetCoinbaseParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setCoinbase } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setCoinbase(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * })\n */\nexport async function setCoinbase(client, { address }) {\n await client.request({\n method: `${client.mode}_setCoinbase`,\n params: [address],\n });\n}\n//# sourceMappingURL=setCoinbase.js.map","/**\n * Sets the automatic mining interval (in seconds) of blocks. Setting the interval to 0 will disable automatic mining.\n *\n * - Docs: https://viem.sh/docs/actions/test/setIntervalMining\n *\n * @param client - Client to use\n * @param parameters – {@link SetIntervalMiningParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setIntervalMining } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setIntervalMining(client, { interval: 5 })\n */\nexport async function setIntervalMining(client, { interval }) {\n const interval_ = (() => {\n if (client.mode === 'hardhat')\n return interval * 1000;\n return interval;\n })();\n await client.request({\n method: 'evm_setIntervalMining',\n params: [interval_],\n });\n}\n//# sourceMappingURL=setIntervalMining.js.map","/**\n * Enable or disable logging on the test node network.\n *\n * - Docs: https://viem.sh/docs/actions/test/setLoggingEnabled\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setLoggingEnabled } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setLoggingEnabled(client)\n */\nexport async function setLoggingEnabled(client, enabled) {\n await client.request({\n method: `${client.mode}_setLoggingEnabled`,\n params: [enabled],\n });\n}\n//# sourceMappingURL=setLoggingEnabled.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Change the minimum gas price accepted by the network (in wei).\n *\n * - Docs: https://viem.sh/docs/actions/test/setMinGasPrice\n *\n * Note: `setMinGasPrice` can only be used on clients that do not have EIP-1559 enabled.\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockGasLimitParameters}\n *\n * @example\n * import { createTestClient, http, parseGwei } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setMinGasPrice } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setMinGasPrice(client, {\n * gasPrice: parseGwei('20'),\n * })\n */\nexport async function setMinGasPrice(client, { gasPrice }) {\n await client.request({\n method: `${client.mode}_setMinGasPrice`,\n params: [numberToHex(gasPrice)],\n });\n}\n//# sourceMappingURL=setMinGasPrice.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Sets the next block's base fee per gas.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNextBlockBaseFeePerGas\n *\n * @param client - Client to use\n * @param parameters – {@link SetNextBlockBaseFeePerGasParameters}\n *\n * @example\n * import { createTestClient, http, parseGwei } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNextBlockBaseFeePerGas } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNextBlockBaseFeePerGas(client, {\n * baseFeePerGas: parseGwei('20'),\n * })\n */\nexport async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {\n await client.request({\n method: `${client.mode}_setNextBlockBaseFeePerGas`,\n params: [numberToHex(baseFeePerGas)],\n });\n}\n//# sourceMappingURL=setNextBlockBaseFeePerGas.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Sets the next block's timestamp.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNextBlockTimestamp\n *\n * @param client - Client to use\n * @param parameters – {@link SetNextBlockTimestampParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNextBlockTimestamp } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNextBlockTimestamp(client, { timestamp: 1671744314n })\n */\nexport async function setNextBlockTimestamp(client, { timestamp }) {\n await client.request({\n method: 'evm_setNextBlockTimestamp',\n params: [numberToHex(timestamp)],\n });\n}\n//# sourceMappingURL=setNextBlockTimestamp.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Modifies (overrides) the nonce of an account.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNonce\n *\n * @param client - Client to use\n * @param parameters – {@link SetNonceParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNonce } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNonce(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * nonce: 420,\n * })\n */\nexport async function setNonce(client, { address, nonce }) {\n await client.request({\n method: `${client.mode}_setNonce`,\n params: [address, numberToHex(nonce)],\n });\n}\n//# sourceMappingURL=setNonce.js.map","/**\n * Sets the backend RPC URL.\n *\n * - Docs: https://viem.sh/docs/actions/test/setRpcUrl\n *\n * @param client - Client to use\n * @param jsonRpcUrl – RPC URL\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setRpcUrl } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setRpcUrl(client, 'https://eth-mainnet.g.alchemy.com/v2')\n */\nexport async function setRpcUrl(client, jsonRpcUrl) {\n await client.request({\n method: `${client.mode}_setRpcUrl`,\n params: [jsonRpcUrl],\n });\n}\n//# sourceMappingURL=setRpcUrl.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Writes to a slot of an account's storage.\n *\n * - Docs: https://viem.sh/docs/actions/test/setStorageAt\n *\n * @param client - Client to use\n * @param parameters – {@link SetStorageAtParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setStorageAt } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setStorageAt(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * index: 2,\n * value: '0x0000000000000000000000000000000000000000000000000000000000000069',\n * })\n */\nexport async function setStorageAt(client, { address, index, value }) {\n await client.request({\n method: `${client.mode}_setStorageAt`,\n params: [\n address,\n typeof index === 'number' ? numberToHex(index) : index,\n value,\n ],\n });\n}\n//# sourceMappingURL=setStorageAt.js.map","/**\n * Snapshot the state of the blockchain at the current block.\n *\n * - Docs: https://viem.sh/docs/actions/test/snapshot\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { snapshot } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await snapshot(client)\n */\nexport async function snapshot(client) {\n return await client.request({\n method: 'evm_snapshot',\n });\n}\n//# sourceMappingURL=snapshot.js.map","/**\n * Stop impersonating an account after having previously used [`impersonateAccount`](https://viem.sh/docs/actions/test/impersonateAccount).\n *\n * - Docs: https://viem.sh/docs/actions/test/stopImpersonatingAccount\n *\n * @param client - Client to use\n * @param parameters – {@link StopImpersonatingAccountParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { stopImpersonatingAccount } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await stopImpersonatingAccount(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * })\n */\nexport async function stopImpersonatingAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_stopImpersonatingAccount`,\n params: [address],\n });\n}\n//# sourceMappingURL=stopImpersonatingAccount.js.map","import { dropTransaction, } from '../../actions/test/dropTransaction.js';\nimport { dumpState, } from '../../actions/test/dumpState.js';\nimport { getAutomine, } from '../../actions/test/getAutomine.js';\nimport { getTxpoolContent, } from '../../actions/test/getTxpoolContent.js';\nimport { getTxpoolStatus, } from '../../actions/test/getTxpoolStatus.js';\nimport { impersonateAccount, } from '../../actions/test/impersonateAccount.js';\nimport { increaseTime, } from '../../actions/test/increaseTime.js';\nimport { inspectTxpool, } from '../../actions/test/inspectTxpool.js';\nimport { loadState, } from '../../actions/test/loadState.js';\nimport { mine } from '../../actions/test/mine.js';\nimport { removeBlockTimestampInterval } from '../../actions/test/removeBlockTimestampInterval.js';\nimport { reset } from '../../actions/test/reset.js';\nimport { revert } from '../../actions/test/revert.js';\nimport { sendUnsignedTransaction, } from '../../actions/test/sendUnsignedTransaction.js';\nimport { setAutomine } from '../../actions/test/setAutomine.js';\nimport { setBalance, } from '../../actions/test/setBalance.js';\nimport { setBlockGasLimit, } from '../../actions/test/setBlockGasLimit.js';\nimport { setBlockTimestampInterval, } from '../../actions/test/setBlockTimestampInterval.js';\nimport { setCode } from '../../actions/test/setCode.js';\nimport { setCoinbase, } from '../../actions/test/setCoinbase.js';\nimport { setIntervalMining, } from '../../actions/test/setIntervalMining.js';\nimport { setLoggingEnabled } from '../../actions/test/setLoggingEnabled.js';\nimport { setMinGasPrice, } from '../../actions/test/setMinGasPrice.js';\nimport { setNextBlockBaseFeePerGas, } from '../../actions/test/setNextBlockBaseFeePerGas.js';\nimport { setNextBlockTimestamp, } from '../../actions/test/setNextBlockTimestamp.js';\nimport { setNonce, } from '../../actions/test/setNonce.js';\nimport { setRpcUrl } from '../../actions/test/setRpcUrl.js';\nimport { setStorageAt, } from '../../actions/test/setStorageAt.js';\nimport { snapshot } from '../../actions/test/snapshot.js';\nimport { stopImpersonatingAccount, } from '../../actions/test/stopImpersonatingAccount.js';\nexport function testActions({ mode, }) {\n return (client_) => {\n const client = client_.extend(() => ({\n mode,\n }));\n return {\n dropTransaction: (args) => dropTransaction(client, args),\n dumpState: () => dumpState(client),\n getAutomine: () => getAutomine(client),\n getTxpoolContent: () => getTxpoolContent(client),\n getTxpoolStatus: () => getTxpoolStatus(client),\n impersonateAccount: (args) => impersonateAccount(client, args),\n increaseTime: (args) => increaseTime(client, args),\n inspectTxpool: () => inspectTxpool(client),\n loadState: (args) => loadState(client, args),\n mine: (args) => mine(client, args),\n removeBlockTimestampInterval: () => removeBlockTimestampInterval(client),\n reset: (args) => reset(client, args),\n revert: (args) => revert(client, args),\n sendUnsignedTransaction: (args) => sendUnsignedTransaction(client, args),\n setAutomine: (args) => setAutomine(client, args),\n setBalance: (args) => setBalance(client, args),\n setBlockGasLimit: (args) => setBlockGasLimit(client, args),\n setBlockTimestampInterval: (args) => setBlockTimestampInterval(client, args),\n setCode: (args) => setCode(client, args),\n setCoinbase: (args) => setCoinbase(client, args),\n setIntervalMining: (args) => setIntervalMining(client, args),\n setLoggingEnabled: (args) => setLoggingEnabled(client, args),\n setMinGasPrice: (args) => setMinGasPrice(client, args),\n setNextBlockBaseFeePerGas: (args) => setNextBlockBaseFeePerGas(client, args),\n setNextBlockTimestamp: (args) => setNextBlockTimestamp(client, args),\n setNonce: (args) => setNonce(client, args),\n setRpcUrl: (args) => setRpcUrl(client, args),\n setStorageAt: (args) => setStorageAt(client, args),\n snapshot: () => snapshot(client),\n stopImpersonatingAccount: (args) => stopImpersonatingAccount(client, args),\n };\n };\n}\n//# sourceMappingURL=test.js.map","import { createClient, } from './createClient.js';\nimport { testActions } from './decorators/test.js';\nexport function createTestClient(parameters) {\n const { key = 'test', name = 'Test Client', mode } = parameters;\n const client = createClient({\n ...parameters,\n key,\n name,\n type: 'testClient',\n });\n return client.extend((config) => ({\n mode,\n ...testActions({ mode })(config),\n }));\n}\n//# sourceMappingURL=createTestClient.js.map","import { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/addChain\n * - JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085)\n *\n * @param client - Client to use\n * @param parameters - {@link AddChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { optimism } from 'viem/chains'\n * import { addChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * transport: custom(window.ethereum),\n * })\n * await addChain(client, { chain: optimism })\n */\nexport async function addChain(client, { chain }) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n }, { dedupe: true, retryCount: 0 });\n}\n//# sourceMappingURL=addChain.js.map","import { encodeDeployData } from '../../utils/abi/encodeDeployData.js';\nimport { sendTransaction, } from './sendTransaction.js';\n/**\n * Deploys a contract to the network, given bytecode and constructor arguments.\n *\n * - Docs: https://viem.sh/docs/contract/deployContract\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts_deploying-contracts\n *\n * @param client - Client to use\n * @param parameters - {@link DeployContractParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link DeployContractReturnType}\n *\n * @example\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { deployContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await deployContract(client, {\n * abi: [],\n * account: '0x…,\n * bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',\n * })\n */\nexport function deployContract(walletClient, parameters) {\n const { abi, args, bytecode, ...request } = parameters;\n const calldata = encodeDeployData({ abi, args, bytecode });\n return sendTransaction(walletClient, {\n ...request,\n ...(request.authorizationList ? { to: null } : {}),\n data: calldata,\n });\n}\n//# sourceMappingURL=deployContract.js.map","import { checksumAddress, } from '../../utils/address/getAddress.js';\n/**\n * Returns a list of account addresses owned by the wallet or client.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getAddresses\n * - JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts)\n *\n * @param client - Client to use\n * @returns List of account addresses owned by the wallet or client. {@link GetAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await getAddresses(client)\n */\nexport async function getAddresses(client) {\n if (client.account?.type === 'local')\n return [client.account.address];\n const addresses = await client.request({ method: 'eth_accounts' }, { dedupe: true });\n return addresses.map((address) => checksumAddress(address));\n}\n//# sourceMappingURL=getAddresses.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Extract capabilities that a connected wallet supports (e.g. paymasters, session keys, etc).\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getCapabilities\n * - JSON-RPC Methods: [`wallet_getCapabilities`](https://eips.ethereum.org/EIPS/eip-5792)\n *\n * @param client - Client to use\n * @returns The wallet's capabilities. {@link GetCapabilitiesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getCapabilities } from 'viem/actions'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const capabilities = await getCapabilities(client)\n */\nexport async function getCapabilities(client, parameters = {}) {\n const { account = client.account, chainId } = parameters;\n const account_ = account ? parseAccount(account) : undefined;\n const params = chainId\n ? [account_?.address, [numberToHex(chainId)]]\n : [account_?.address];\n const capabilities_raw = await client.request({\n method: 'wallet_getCapabilities',\n params,\n });\n const capabilities = {};\n for (const [chainId, capabilities_] of Object.entries(capabilities_raw)) {\n capabilities[Number(chainId)] = {};\n for (let [key, value] of Object.entries(capabilities_)) {\n if (key === 'addSubAccount')\n key = 'unstable_addSubAccount';\n capabilities[Number(chainId)][key] = value;\n }\n }\n return (typeof chainId === 'number' ? capabilities[chainId] : capabilities);\n}\n//# sourceMappingURL=getCapabilities.js.map","/**\n * Gets the wallets current permissions.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getPermissions\n * - JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @returns The wallet permissions. {@link GetPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await getPermissions(client)\n */\nexport async function getPermissions(client) {\n const permissions = await client.request({ method: 'wallet_getPermissions' }, { dedupe: true });\n return permissions;\n}\n//# sourceMappingURL=getPermissions.js.map","import { getAddress } from '../../utils/address/getAddress.js';\n/**\n * Requests a list of accounts managed by a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestAddresses\n * - JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102)\n *\n * Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).\n *\n * This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.\n *\n * @param client - Client to use\n * @returns List of accounts managed by a wallet {@link RequestAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await requestAddresses(client)\n */\nexport async function requestAddresses(client) {\n const addresses = await client.request({ method: 'eth_requestAccounts' }, { dedupe: true, retryCount: 0 });\n return addresses.map((address) => getAddress(address));\n}\n//# sourceMappingURL=requestAddresses.js.map","/**\n * Requests permissions for a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestPermissions\n * - JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @param parameters - {@link RequestPermissionsParameters}\n * @returns The wallet permissions. {@link RequestPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await requestPermissions(client, {\n * eth_accounts: {}\n * })\n */\nexport async function requestPermissions(client, permissions) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=requestPermissions.js.map","/**\n * Requests for the wallet to show information about a call batch\n * that was sent via `sendCalls`.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/showCallsStatus\n * - JSON-RPC Methods: [`wallet_showCallsStatus`](https://eips.ethereum.org/EIPS/eip-5792)\n *\n * @param client - Client to use\n * @returns Status of the calls. {@link ShowCallsStatusReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { showCallsStatus } from 'viem/actions'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * await showCallsStatus(client, { id: '0xdeadbeef' })\n */\nexport async function showCallsStatus(client, parameters) {\n const { id } = parameters;\n await client.request({\n method: 'wallet_showCallsStatus',\n params: [id],\n });\n return;\n}\n//# sourceMappingURL=showCallsStatus.js.map","import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError, AccountTypeNotSupportedError, } from '../../errors/account.js';\nimport { prepareAuthorization, } from './prepareAuthorization.js';\n/**\n * Signs an [EIP-7702 Authorization](https://eips.ethereum.org/EIPS/eip-7702) object.\n *\n * With the calculated signature, you can:\n * - use [`verifyAuthorization`](https://viem.sh/docs/eip7702/verifyAuthorization) to verify the signed Authorization object,\n * - use [`recoverAuthorizationAddress`](https://viem.sh/docs/eip7702/recoverAuthorizationAddress) to recover the signing address from the signed Authorization object.\n *\n * @param client - Client to use\n * @param parameters - {@link SignAuthorizationParameters}\n * @returns The signed Authorization object. {@link SignAuthorizationReturnType}\n *\n * @example\n * import { createClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signAuthorization } from 'viem/experimental'\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signAuthorization(client, {\n * account: privateKeyToAccount('0x..'),\n * contractAddress: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n *\n * @example\n * // Account Hoisting\n * import { createClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signAuthorization } from 'viem/experimental'\n *\n * const client = createClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signAuthorization(client, {\n * contractAddress: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function signAuthorization(client, parameters) {\n const { account: account_ = client.account } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/eip7702/signAuthorization',\n });\n const account = parseAccount(account_);\n if (!account.signAuthorization)\n throw new AccountTypeNotSupportedError({\n docsPath: '/docs/eip7702/signAuthorization',\n metaMessages: [\n 'The `signAuthorization` Action does not support JSON-RPC Accounts.',\n ],\n type: account.type,\n });\n const authorization = await prepareAuthorization(client, parameters);\n return account.signAuthorization(authorization);\n}\n//# sourceMappingURL=signAuthorization.js.map","import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { assertCurrentChain, } from '../../utils/chain/assertCurrentChain.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\nimport { getChainId } from '../public/getChainId.js';\n/**\n * Signs a transaction.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTransaction\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param args - {@link SignTransactionParameters}\n * @returns The signed serialized transaction. {@link SignTransactionReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTransaction } from 'viem/actions'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTransaction(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTransaction } from 'viem/actions'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTransaction(client, {\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n */\nexport async function signTransaction(client, parameters) {\n const { account: account_ = client.account, chain = client.chain, ...transaction } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTransaction',\n });\n const account = parseAccount(account_);\n assertRequest({\n account,\n ...parameters,\n });\n const chainId = await getAction(client, getChainId, 'getChainId')({});\n if (chain !== null)\n assertCurrentChain({\n currentChainId: chainId,\n chain,\n });\n const formatters = chain?.formatters || client.chain?.formatters;\n const format = formatters?.transactionRequest?.format || formatTransactionRequest;\n if (account.signTransaction)\n return account.signTransaction({\n ...transaction,\n chainId,\n }, { serializer: client.chain?.serializers?.transaction });\n return await client.request({\n method: 'eth_signTransaction',\n params: [\n {\n ...format(transaction),\n chainId: numberToHex(chainId),\n from: account.address,\n },\n ],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=signTransaction.js.map","import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError, } from '../../errors/account.js';\nimport { getTypesForEIP712Domain, serializeTypedData, validateTypedData, } from '../../utils/typedData.js';\n/**\n * Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256(\"\\x19\\x01\" ‖ domainSeparator ‖ hashStruct(message)))`\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTypedData\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data#signtypeddata-v4)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param client - Client to use\n * @param parameters - {@link SignTypedDataParameters}\n * @returns The signed data. {@link SignTypedDataReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTypedData(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signTypedData(client, {\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n */\nexport async function signTypedData(client, parameters) {\n const { account: account_ = client.account, domain, message, primaryType, } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTypedData',\n });\n const account = parseAccount(account_);\n const types = {\n EIP712Domain: getTypesForEIP712Domain({ domain }),\n ...parameters.types,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n validateTypedData({ domain, message, primaryType, types });\n if (account.signTypedData)\n return account.signTypedData({ domain, message, primaryType, types });\n const typedData = serializeTypedData({ domain, message, primaryType, types });\n return client.request({\n method: 'eth_signTypedData_v4',\n params: [account.address, typedData],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=signTypedData.js.map","import { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * Switch the target chain in a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/switchChain\n * - JSON-RPC Methods: [`wallet_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326)\n *\n * @param client - Client to use\n * @param parameters - {@link SwitchChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet, optimism } from 'viem/chains'\n * import { switchChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * await switchChain(client, { id: optimism.id })\n */\nexport async function switchChain(client, { id }) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n },\n ],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=switchChain.js.map","/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/watchAsset\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747)\n *\n * @param client - Client to use\n * @param parameters - {@link WatchAssetParameters}\n * @returns Boolean indicating if the token was successfully added. {@link WatchAssetReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchAsset } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const success = await watchAsset(client, {\n * type: 'ERC20',\n * options: {\n * address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * decimals: 18,\n * symbol: 'WETH',\n * },\n * })\n */\nexport async function watchAsset(client, params) {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params,\n }, { retryCount: 0 });\n return added;\n}\n//# sourceMappingURL=watchAsset.js.map","import { getChainId, } from '../../actions/public/getChainId.js';\nimport { addChain, } from '../../actions/wallet/addChain.js';\nimport { deployContract, } from '../../actions/wallet/deployContract.js';\nimport { getAddresses, } from '../../actions/wallet/getAddresses.js';\nimport { getCallsStatus, } from '../../actions/wallet/getCallsStatus.js';\nimport { getCapabilities, } from '../../actions/wallet/getCapabilities.js';\nimport { getPermissions, } from '../../actions/wallet/getPermissions.js';\nimport { prepareAuthorization, } from '../../actions/wallet/prepareAuthorization.js';\nimport { prepareTransactionRequest, } from '../../actions/wallet/prepareTransactionRequest.js';\nimport { requestAddresses, } from '../../actions/wallet/requestAddresses.js';\nimport { requestPermissions, } from '../../actions/wallet/requestPermissions.js';\nimport { sendCalls, } from '../../actions/wallet/sendCalls.js';\nimport { sendRawTransaction, } from '../../actions/wallet/sendRawTransaction.js';\nimport { sendTransaction, } from '../../actions/wallet/sendTransaction.js';\nimport { showCallsStatus, } from '../../actions/wallet/showCallsStatus.js';\nimport { signAuthorization, } from '../../actions/wallet/signAuthorization.js';\nimport { signMessage, } from '../../actions/wallet/signMessage.js';\nimport { signTransaction, } from '../../actions/wallet/signTransaction.js';\nimport { signTypedData, } from '../../actions/wallet/signTypedData.js';\nimport { switchChain, } from '../../actions/wallet/switchChain.js';\nimport { waitForCallsStatus, } from '../../actions/wallet/waitForCallsStatus.js';\nimport { watchAsset, } from '../../actions/wallet/watchAsset.js';\nimport { writeContract, } from '../../actions/wallet/writeContract.js';\nexport function walletActions(client) {\n return {\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAddresses: () => getAddresses(client),\n getCallsStatus: (args) => getCallsStatus(client, args),\n getCapabilities: (args) => getCapabilities(client, args),\n getChainId: () => getChainId(client),\n getPermissions: () => getPermissions(client),\n prepareAuthorization: (args) => prepareAuthorization(client, args),\n prepareTransactionRequest: (args) => prepareTransactionRequest(client, args),\n requestAddresses: () => requestAddresses(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendCalls: (args) => sendCalls(client, args),\n sendRawTransaction: (args) => sendRawTransaction(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n showCallsStatus: (args) => showCallsStatus(client, args),\n signAuthorization: (args) => signAuthorization(client, args),\n signMessage: (args) => signMessage(client, args),\n signTransaction: (args) => signTransaction(client, args),\n signTypedData: (args) => signTypedData(client, args),\n switchChain: (args) => switchChain(client, args),\n waitForCallsStatus: (args) => waitForCallsStatus(client, args),\n watchAsset: (args) => watchAsset(client, args),\n writeContract: (args) => writeContract(client, args),\n };\n}\n//# sourceMappingURL=wallet.js.map","import { createClient, } from './createClient.js';\nimport { walletActions } from './decorators/wallet.js';\nexport function createWalletClient(parameters) {\n const { key = 'wallet', name = 'Wallet Client', transport } = parameters;\n const client = createClient({\n ...parameters,\n key,\n name,\n transport,\n type: 'walletClient',\n });\n return client.extend(walletActions);\n}\n//# sourceMappingURL=createWalletClient.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import { RpcRequestError } from '../../errors/request.js';\nimport { UrlRequiredError, } from '../../errors/transport.js';\nimport { getSocket } from '../../utils/rpc/compat.js';\nimport { getWebSocketRpcClient, } from '../../utils/rpc/webSocket.js';\nimport { createTransport, } from './createTransport.js';\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nexport function webSocket(\n/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\nurl, config = {}) {\n const { keepAlive, key = 'webSocket', methods, name = 'WebSocket JSON-RPC', reconnect, retryDelay, } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10_000;\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0];\n const wsRpcClientOpts = { keepAlive, reconnect };\n if (!url_)\n throw new UrlRequiredError();\n return createTransport({\n key,\n methods,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const rpcClient = await getWebSocketRpcClient(url_, wsRpcClientOpts);\n const { error, result } = await rpcClient.requestAsync({\n body,\n timeout,\n });\n if (error)\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n }, {\n getSocket() {\n return getSocket(url_);\n },\n getRpcClient() {\n return getWebSocketRpcClient(url_, wsRpcClientOpts);\n },\n async subscribe({ params, onData, onError }) {\n const rpcClient = await getWebSocketRpcClient(url_, wsRpcClientOpts);\n const { result: subscriptionId } = await new Promise((resolve, reject) => rpcClient.request({\n body: {\n method: 'eth_subscribe',\n params,\n },\n onError(error) {\n reject(error);\n onError?.(error);\n return;\n },\n onResponse(response) {\n if (response.error) {\n reject(response.error);\n onError?.(response.error);\n return;\n }\n if (typeof response.id === 'number') {\n resolve(response);\n return;\n }\n if (response.method !== 'eth_subscription')\n return;\n onData(response.params);\n },\n }));\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise((resolve) => rpcClient.request({\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onResponse: resolve,\n }));\n },\n };\n },\n });\n };\n}\n//# sourceMappingURL=webSocket.js.map","export class ProviderRpcError extends Error {\n constructor(code, message) {\n super(message);\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.code = code;\n this.details = message;\n }\n}\n//# sourceMappingURL=eip1193.js.map","import { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, } from '../../errors/abi.js';\nimport { decodeAbiParameters, } from './decodeAbiParameters.js';\nconst docsPath = '/docs/contract/decodeDeployData';\nexport function decodeDeployData(parameters) {\n const { abi, bytecode, data } = parameters;\n if (data === bytecode)\n return { bytecode };\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new AbiConstructorParamsNotFoundError({ docsPath });\n const args = decodeAbiParameters(description.inputs, `0x${data.replace(bytecode, '')}`);\n return { args, bytecode };\n}\n//# sourceMappingURL=decodeDeployData.js.map","import { createCursor } from '../cursor.js';\nimport { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\nexport function fromBlobs(parameters) {\n const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');\n const blobs = (typeof parameters.blobs[0] === 'string'\n ? parameters.blobs.map((x) => hexToBytes(x))\n : parameters.blobs);\n const length = blobs.reduce((length, blob) => length + blob.length, 0);\n const data = createCursor(new Uint8Array(length));\n let active = true;\n for (const blob of blobs) {\n const cursor = createCursor(blob);\n while (active && cursor.position < blob.length) {\n // First byte will be a zero 0x00 byte – we can skip.\n cursor.incrementPosition(1);\n let consume = 31;\n if (blob.length - cursor.position < 31)\n consume = blob.length - cursor.position;\n for (const _ in Array.from({ length: consume })) {\n const byte = cursor.readByte();\n const isTerminator = byte === 0x80 && !cursor.inspectBytes(cursor.remaining).includes(0x80);\n if (isTerminator) {\n active = false;\n break;\n }\n data.pushByte(byte);\n }\n }\n }\n const trimmedData = data.bytes.slice(0, data.position);\n return (to === 'hex' ? bytesToHex(trimmedData) : trimmedData);\n}\n//# sourceMappingURL=fromBlobs.js.map","import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';\n/**\n * Transforms a list of sidecars to their versioned hashes.\n *\n * @example\n * ```ts\n * import { toBlobSidecars, sidecarsToVersionedHashes, stringToHex } from 'viem'\n *\n * const sidecars = toBlobSidecars({ data: stringToHex('hello world') })\n * const versionedHashes = sidecarsToVersionedHashes({ sidecars })\n * ```\n */\nexport function sidecarsToVersionedHashes(parameters) {\n const { sidecars, version } = parameters;\n const to = parameters.to ?? (typeof sidecars[0].blob === 'string' ? 'hex' : 'bytes');\n const hashes = [];\n for (const { commitment } of sidecars) {\n hashes.push(commitmentToVersionedHash({\n commitment,\n to,\n version,\n }));\n }\n return hashes;\n}\n//# sourceMappingURL=sidecarsToVersionedHashes.js.map","import { EnsInvalidChainIdError, } from '../../errors/ens.js';\nconst SLIP44_MSB = 0x80000000;\n/**\n * @description Converts a chainId to a ENSIP-9 compliant coinType\n *\n * @example\n * toCoinType(10)\n * 2147483658n\n */\nexport function toCoinType(chainId) {\n if (chainId === 1)\n return 60n;\n if (chainId >= SLIP44_MSB || chainId < 0)\n throw new EnsInvalidChainIdError({ chainId });\n return BigInt((0x80000000 | chainId) >>> 0);\n}\n//# sourceMappingURL=toCoinType.js.map","/**\n * Defines a KZG interface.\n *\n * @example\n * ```ts\n * import * as cKzg from 'c-kzg'\n * import { defineKzg } from 'viem'\n * import { mainnetTrustedSetupPath } from 'viem/node'\n *\n * cKzg.loadTrustedSetup(mainnetTrustedSetupPath)\n *\n * const kzg = defineKzg(cKzg)\n * ```\n */\nexport function defineKzg({ blobToKzgCommitment, computeBlobKzgProof, }) {\n return {\n blobToKzgCommitment,\n computeBlobKzgProof,\n };\n}\n//# sourceMappingURL=defineKzg.js.map","import { defineKzg, } from './defineKzg.js';\n/**\n * Sets up and returns a KZG interface.\n *\n * @example\n * ```ts\n * import * as cKzg from 'c-kzg'\n * import { setupKzg } from 'viem'\n * import { mainnetTrustedSetupPath } from 'viem/node'\n *\n * const kzg = setupKzg(cKzg, mainnetTrustedSetupPath)\n * ```\n */\nexport function setupKzg(parameters, path) {\n try {\n parameters.loadTrustedSetup(path);\n }\n catch (e) {\n const error = e;\n if (!error.message.includes('trusted setup is already loaded'))\n throw error;\n }\n return defineKzg(parameters);\n}\n//# sourceMappingURL=setupKzg.js.map","import { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\n/**\n * @description Converts an [EIP-2098 compact signature](https://eips.ethereum.org/EIPS/eip-2098) into signature format.\n *\n * @param signature The compact signature to convert.\n * @returns The compact signature in signature format.\n *\n * @example\n * compactSignatureToSignature({\n * r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',\n * yParityAndS: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',\n * })\n * // {\n * // r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',\n * // s: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',\n * // v: 27n\n * // }\n */\nexport function compactSignatureToSignature({ r, yParityAndS, }) {\n const yParityAndS_bytes = hexToBytes(yParityAndS);\n const yParity = yParityAndS_bytes[0] & 0x80 ? 1 : 0;\n const s = yParityAndS_bytes;\n if (yParity === 1)\n s[0] &= 0x7f;\n return { r, s: bytesToHex(s), yParity };\n}\n//# sourceMappingURL=compactSignatureToSignature.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { numberToHex } from '../encoding/toHex.js';\n/**\n * @description Parses a hex formatted compact signature into a structured compact signature.\n *\n * @param signatureHex Signature in hex format.\n * @returns The structured signature.\n *\n * @example\n * parseCompactSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')\n * // { r: '0x...', yParityAndS: '0x...' }\n */\nexport function parseCompactSignature(signatureHex) {\n const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130));\n return {\n r: numberToHex(r, { size: 32 }),\n yParityAndS: numberToHex(s, { size: 32 }),\n };\n}\n//# sourceMappingURL=parseCompactSignature.js.map","import { keccak256 } from '../hash/keccak256.js';\nimport { parseTransaction } from '../transaction/parseTransaction.js';\nimport { serializeTransaction, } from '../transaction/serializeTransaction.js';\nimport { recoverAddress, } from './recoverAddress.js';\nexport async function recoverTransactionAddress(parameters) {\n const { serializedTransaction, signature: signature_ } = parameters;\n const transaction = parseTransaction(serializedTransaction);\n const signature = signature_ ?? {\n r: transaction.r,\n s: transaction.s,\n v: transaction.v,\n yParity: transaction.yParity,\n };\n const serialized = serializeTransaction({\n ...transaction,\n r: undefined,\n s: undefined,\n v: undefined,\n yParity: undefined,\n sidecars: undefined,\n });\n return await recoverAddress({\n hash: keccak256(serialized),\n signature,\n });\n}\n//# sourceMappingURL=recoverTransactionAddress.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { hexToBigInt } from '../encoding/fromHex.js';\n/**\n * @description Converts an [EIP-2098 compact signature](https://eips.ethereum.org/EIPS/eip-2098) into hex format.\n *\n * @param signature The compact signature to convert.\n * @returns The compact signature in hex format.\n *\n * @example\n * serializeCompactSignature({\n * r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',\n * yParityAndS: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',\n * })\n * // \"0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c\"\n */\nexport function serializeCompactSignature({ r, yParityAndS, }) {\n return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(yParityAndS)).toCompactHex()}`;\n}\n//# sourceMappingURL=serializeCompactSignature.js.map","import { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\n/**\n * @description Converts a signature into an [EIP-2098 compact signature](https://eips.ethereum.org/EIPS/eip-2098).\n *\n * @param signature The signature to convert.\n * @returns The signature in compact format.\n *\n * @example\n * signatureToCompactSignature({\n * r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',\n * s: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',\n * yParity: 0\n * })\n * // {\n * // r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',\n * // yParityAndS: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'\n * // }\n */\nexport function signatureToCompactSignature(signature) {\n const { r, s, v, yParity } = signature;\n const yParity_ = Number(yParity ?? v - 27n);\n let yParityAndS = s;\n if (yParity_ === 1) {\n const bytes = hexToBytes(s);\n bytes[0] |= 0x80;\n yParityAndS = bytesToHex(bytes);\n }\n return { r, yParityAndS };\n}\n//# sourceMappingURL=signatureToCompactSignature.js.map"],"names":["parseAbiParameter_","length","client","noble_ripemd160","getSocket","id","key","error","SignatureErc8010.validate","SignatureErc8010.unwrap","SignatureErc8010.wrap","chainId","transport","transports_","sample"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]}
|