@dcl/account-site 6.8.0 → 6.9.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/assets/Address-BHGD07NO.js +1 -0
- package/assets/Authorization-DmoiysGx.js +1 -0
- package/assets/CoinbaseSDKConnection-C9-JnGls.js +1 -0
- package/assets/{ConstantsUtil-Dl5WOfjM.js → ConstantsUtil-g0AjdkOa.js} +1 -1
- package/assets/{ExchangeController-JD5-aj9j.js → ExchangeController-C-OE-irq.js} +1 -1
- package/assets/{HelpersUtil-BYRqEOLc.js → HelpersUtil-C073QcrZ.js} +1 -1
- package/assets/InAppWalletConnectUI-Bdxz0Bmy.js +1 -0
- package/assets/{NetworkUtil-CORVq-U7.js → NetworkUtil-BooKnyFI.js} +1 -1
- package/assets/{QRCodeRenderer-CAUMCMrQ.js → QRCodeRenderer-C2O8aJw5.js} +1 -1
- package/assets/Solidity-D6b-SCK0.js +1 -0
- package/assets/{SwapController-CENGi_f8.js → SwapController-DITN3ZmR.js} +1 -1
- package/assets/ThirdwebWalletManager-BUJ2S4b0.js +298 -0
- package/assets/TypedData-ByTQ7nLR.js +2 -0
- package/assets/addresses-DVWfx5EX.js +1 -0
- package/assets/arweave-CldmCeKB.js +1 -0
- package/assets/{biconomy-DURQhrK6.js → biconomy-C7JeDEA3.js} +1 -1
- package/assets/biconomy-C9hDxeVn.js +1 -0
- package/assets/{ccip-CzLewx-i.js → ccip-BtKXNXL8.js} +1 -1
- package/assets/{ccip-DGvrteB6.js → ccip-ByfH6Pp1.js} +1 -1
- package/assets/ccip-sd4F7RdI.js +1 -0
- package/assets/{chains-ClhAINLn.js → chains-ClhzAPRM.js} +1 -1
- package/assets/{common-BaZ48mbG.js → common-5Sx2Oaqw.js} +1 -1
- package/assets/common-DAlzQshe.js +1 -0
- package/assets/concat-hex-D_Hd0Y8j.js +1 -0
- package/assets/{controller-CgHGY4fa.js → controller-BKewv9ws.js} +2 -2
- package/assets/controller-CMiTdXrl.js +2 -0
- package/assets/{data-capture-C3H4h0ye.js → data-capture-SGXWH8uV.js} +1 -1
- package/assets/decimals-BkxTCZnw.js +1 -0
- package/assets/{decimals-wNlF21S5.js → decimals-DYCSb7r6.js} +1 -1
- package/assets/decimals-Den2KPun.js +1 -0
- package/assets/{detectExtension-ywrU3B9f.js → detectExtension-BqT-gQP6.js} +1 -1
- package/assets/detectExtension-DRxhZaJ-.js +1 -0
- package/assets/{email-EtC4Qw7k.js → email-D9PJu66O.js} +1 -1
- package/assets/{embedded-wallet-BLxx2nq0.js → embedded-wallet-BNJE9JJY.js} +1 -1
- package/assets/{engine-CbOuNdui.js → engine-BpIYDc2z.js} +1 -1
- package/assets/engine-CmO-qFS1.js +1 -0
- package/assets/estimate-l1-fee-DnqX0KQm.js +2 -0
- package/assets/{estimate-l1-fee-COxQ74Xh.js → estimate-l1-fee-n2GS47w0.js} +1 -1
- package/assets/eth_estimateGas-DVJqp0a0.js +1 -0
- package/assets/eth_estimateGas-ZIidgCSn.js +1 -0
- package/assets/{eth_getStorageAt-CLxjZO4t.js → eth_getStorageAt-DMscVfg3.js} +1 -1
- package/assets/eth_getTransactionCount-CMQovf3i.js +1 -0
- package/assets/{eth_getTransactionCount-BKcuSAaU.js → eth_getTransactionCount-h82D3bxu.js} +1 -1
- package/assets/{ethereum-D98w8ceQ.js → ethereum-Db4wQ8cQ.js} +1 -1
- package/assets/{extractIPFS-Bwmi3T5d.js → extractIPFS-446jiCiR.js} +1 -1
- package/assets/extractIPFS-tOg-rRc-.js +1 -0
- package/assets/{features-BqZGfYIj.js → features-Bya_uQnq.js} +1 -1
- package/assets/{fetchTokenMetadata-BrBgEOsH.js → fetchTokenMetadata-B1jhcJrg.js} +2 -2
- package/assets/fetchTokenMetadata-DXhdZ9jJ.js +2 -0
- package/assets/{fortmatic-Rdz9ucwd.js → fortmatic-DWc9CMNy.js} +1 -1
- package/assets/get-bytecode-FPC_G1PK.js +1 -0
- package/assets/get-ecosystem-wallet-info-BH812YkU.js +1 -0
- package/assets/{get-ecosystem-wallet-info-DfHMq1Kz.js → get-ecosystem-wallet-info-CsVSXoZ9.js} +1 -1
- package/assets/{getBalance-ZH0H3K3Z.js → getBalance-BJu93LMj.js} +2 -2
- package/assets/getBalance-BjubRO2E.js +1 -0
- package/assets/getCurrencyMetadata-B6uMlDub.js +2 -0
- package/assets/{getInstalledModules-DRhOlDcR.js → getInstalledModules-C_LJpz_7.js} +1 -1
- package/assets/getInstalledModules-cmepPgT8.js +1 -0
- package/assets/getNFT-BLT_Nrf_.js +2 -0
- package/assets/{getNFT-GNDwObaN.js → getNFT-Cf6D_49D.js} +1 -1
- package/assets/{getNFT-D6wHZRiB.js → getNFT-ClRsQ9zy.js} +2 -2
- package/assets/getNFT-uyJP8nm4.js +1 -0
- package/assets/{hashTypedData-41394cRH.js → hashTypedData-CLob9Zsk.js} +1 -1
- package/assets/{if-defined-DwiGupeI.js → if-defined-BfXFCfhz.js} +1 -1
- package/assets/in-app-wallet-calls-C0n9HjId.js +1 -0
- package/assets/{in-app-wallet-calls-CPU2uJ6f.js → in-app-wallet-calls-DUqkYMt1.js} +1 -1
- package/assets/index-1chDcRmP.js +2 -0
- package/assets/{index-CawWU9rF.js → index-4aItPLLW.js} +1 -1
- package/assets/{index-BEFVLZMS.js → index-9x3mVUYQ.js} +1 -1
- package/assets/{index-BR8a5etK.js → index-ACY2zvow.js} +1 -1
- package/assets/index-B1VBbtk9.js +1 -0
- package/assets/index-B4kmUY0d.js +2 -0
- package/assets/{index-Fv-acDXO.js → index-B6-Xobl2.js} +79 -78
- package/assets/{index-DIBbErfW.js → index-BGg37GBj.js} +1 -1
- package/assets/{index-C5zfi_7H.js → index-BQsaEzy7.js} +1 -1
- package/assets/{index-BOh2weBI.js → index-BRxU5H7H.js} +1 -1
- package/assets/{index-8zzhpxyI.js → index-BSP467IN.js} +1 -1
- package/assets/{index-DYQDZBEQ.js → index-BXifexJq.js} +1 -1
- package/assets/{index-phZWvHfL.js → index-Bi3OUhfd.js} +1 -1
- package/assets/{index-LZKkcZAZ.js → index-BkdqENWn.js} +1 -1
- package/assets/{index-BUjD0aLT.js → index-Bqkhbf-j.js} +1 -1
- package/assets/{index-CAfWDhIh.js → index-BrNT2tPP.js} +1 -1
- package/assets/index-BuLBr4CJ.js +3 -0
- package/assets/index-CBfD9fG_.js +3 -0
- package/assets/{index-Cm5owbs6.js → index-CCxvZC9z.js} +1 -1
- package/assets/{index-dE7qT1rS.js → index-CCzw3eWF.js} +1 -1
- package/assets/{index-BYXYehKA.js → index-CFnBXD-E.js} +2 -2
- package/assets/{index-Bi4I_eXH.js → index-CFy1Eegq.js} +1 -1
- package/assets/{index-vbDUNbAe.js → index-CGT2TfpK.js} +1 -1
- package/assets/{index-DjP1lSeJ.js → index-CLLWxWw1.js} +1 -1
- package/assets/{index-BjsRGW04.js → index-CMAF5KQo.js} +1 -1
- package/assets/{index-DDz_fX9F.js → index-CRXo5c7W.js} +1 -1
- package/assets/{index-C8LVWiNY.js → index-CXPEr8lr.js} +1 -1
- package/assets/{index-C79cRihP.js → index-C_CWRNXS.js} +1 -1
- package/assets/{index-B2fn3xIB.js → index-Ci26p999.js} +1 -1
- package/assets/{index-BkDiaE7t.js → index-Cja4UOCF.js} +1 -1
- package/assets/{index-C8qQNWbc.js → index-CpXrWP2a.js} +1 -1
- package/assets/{index-CgxIIYSr.js → index-Cv59_Dqg.js} +1 -1
- package/assets/{index-BbTsvCPk.js → index-CwOCLTiY.js} +1 -1
- package/assets/{index-C52TTugH.js → index-CxlJ-ZjW.js} +1 -1
- package/assets/{index-CJe1v77g.js → index-D-By2c9G.js} +1 -1
- package/assets/{index-CSiyIFnr.js → index-D0Jyo-s4.js} +1 -1
- package/assets/{index-mD5QWGsm.css → index-D2E7Umr3.css} +3 -3
- package/assets/{index-DLargbIn.js → index-DAGLKstf.js} +2 -2
- package/assets/{index-CSOxc5sc.js → index-DMZH80fA.js} +4 -4
- package/assets/index-DO01SzHY.js +4 -0
- package/assets/{index-DaWq4Nzj.js → index-DPWaLJzM.js} +1 -1
- package/assets/{index-DL0Eu5uz.js → index-DQt5rtxO.js} +1 -1
- package/assets/{index-jGki-zKe.js → index-DSqN93eC.js} +1 -1
- package/assets/{index-DjWVQGcv.js → index-DcZ1OZua.js} +1 -1
- package/assets/{index-BWZPtavh.js → index-DdD6BFNW.js} +1 -1
- package/assets/{index-8Zxz62OX.js → index-DftmpJ8E.js} +2 -2
- package/assets/{index-ZEPn8qKc.js → index-DuB7aae8.js} +1 -1
- package/assets/{index-rAbloVh4.js → index-TpT45Yhr.js} +4 -4
- package/assets/{index-B8gDkzKR.js → index-yvAPBrdI.js} +1 -1
- package/assets/index.es-BdGfQ9jz.js +29 -0
- package/assets/{index.es-BdRu1h__.js → index.es-CN4hhQIr.js} +1 -1
- package/assets/index.es-Cjo6uLeK.js +1 -0
- package/assets/{index.es-pnQCY6-7.js → index.es-LxVxXtUw.js} +1 -1
- package/assets/is-smart-wallet-kSShE3hl.js +1 -0
- package/assets/{native-CjSUDNml.js → native-CXizm-TO.js} +1 -1
- package/assets/{networks-B6IlNWMm.js → networks-DyswiDcL.js} +1 -1
- package/assets/oauth-CbK0gPlt.js +1 -0
- package/assets/{onramp-BTk7sVPr.js → onramp-phO3GqLV.js} +1 -1
- package/assets/{openzeppelin-BKxO6pj6.js → openzeppelin-CASw4uSB.js} +1 -1
- package/assets/openzeppelin-Dkk77Xr9.js +1 -0
- package/assets/ownerOf-Dn5Rvewb.js +1 -0
- package/assets/{ownerOf-CYvZRT99.js → ownerOf-HLFmP4SY.js} +1 -1
- package/assets/parse-typed-data-BSOEUDy_.js +1 -0
- package/assets/{parseNft-DhQFzpJp.js → parseNft-CwiONVVV.js} +2 -2
- package/assets/{parseSignature-DoNNAGxu.js → parseSignature-BsYIWxqL.js} +13 -13
- package/assets/{parseSignature-BduqmbK2.js → parseSignature-DXMGd6Bf.js} +3 -3
- package/assets/passkeys-tlSlZIRR.js +1 -0
- package/assets/{pay-with-exchange-CgOu6Uya.js → pay-with-exchange-BsYgDiHf.js} +1 -1
- package/assets/{qr-overlay-Bm0XTjkI.js → qr-overlay-B21EcFCK.js} +1 -1
- package/assets/{qr-overlay-DyMiJXUk.js → qr-overlay-CDVJkAma.js} +1 -1
- package/assets/read-contract-D8CQ_i-D.js +1 -0
- package/assets/{receive-r5RgRUWl.js → receive-CVGDvas8.js} +1 -1
- package/assets/{ref-Ki-jDMmv.js → ref-DeR4tBmt.js} +1 -1
- package/assets/resolveImplementation-2abc0dxK.js +1 -0
- package/assets/{resolveImplementation-B8tKI-wG.js → resolveImplementation-Cr9HN7sF.js} +1 -1
- package/assets/{rpc-nyXL61KJ.js → rpc-BuDu_uQE.js} +1 -1
- package/assets/{rpc-rFcFDQyb.js → rpc-DjXtIps7.js} +2 -2
- package/assets/secp256k1-BlHNYIaG.js +1 -0
- package/assets/{secp256k1-CPRDF0BA.js → secp256k1-CJ52XpcF.js} +1 -1
- package/assets/{send-DeIfSZo1.js → send-DP5QRJYD.js} +1 -1
- package/assets/send-batch-transaction-De71luzT.js +1 -0
- package/assets/{send-batch-transaction-CIuDJ271.js → send-batch-transaction-Dx0kM3Nk.js} +1 -1
- package/assets/{send-eip712-transaction-CknhU72d.js → send-eip712-transaction-Dm4F9s4t.js} +2 -2
- package/assets/send-eip712-transaction-q3anVEgs.js +2 -0
- package/assets/send-gasless-transaction-CQa_Dj1Y.js +2 -0
- package/assets/{send-gasless-transaction-yIAhbb7k.js → send-gasless-transaction-mWAyMAXy.js} +2 -2
- package/assets/send-transaction-B0F9brDJ.js +2 -0
- package/assets/{session-proposal-qDW11rpc.js → session-proposal-FRNsvDTi.js} +1 -1
- package/assets/session-proposal-ef7aaaHV.js +1 -0
- package/assets/session-request-Bz2BIU-j.js +2 -0
- package/assets/{session-request-By9y-Ayi.js → session-request-Cwmcu41B.js} +2 -2
- package/assets/sha256-BPZogG9w.js +1 -0
- package/assets/{sha256-_sKanFR7.js → sha256-DViOA4V5.js} +1 -1
- package/assets/{signing-Db0bjZpz.js → signing-D7Nlzpwh.js} +5 -5
- package/assets/signing-DhfHxzxy.js +2 -0
- package/assets/sleep-B_ShGKZF.js +1 -0
- package/assets/{socials-BcoSkWK5.js → socials-BZcwTEhb.js} +1 -1
- package/assets/{swaps-Bj8TNJkd.js → swaps-Cam24Ey2.js} +1 -1
- package/assets/switch-chain-YGyDlbyD.js +1 -0
- package/assets/thirdweb-B7gLwLri.js +27 -0
- package/assets/to-serializable-transaction-DAYFWHyO.js +23 -0
- package/assets/{totalSupply-CcNS_GzH.js → totalSupply-BZIagNGM.js} +1 -1
- package/assets/totalSupply-CWYDbbpl.js +1 -0
- package/assets/{transactionReceipt-CdsZdsdr.js → transactionReceipt-B-BG4ub0.js} +1 -1
- package/assets/{transactions-DuCMsSn_.js → transactions-CSAp5P5s.js} +1 -1
- package/assets/types-DFEAKZ3L.js +4 -0
- package/assets/utils-BtpzmIxp.js +2 -0
- package/assets/{utils-mHMkg6Kp.js → utils-Onbz2awt.js} +1 -1
- package/assets/{verifyHash-CboNxe2B.js → verifyHash-Bx9bP5KA.js} +3 -3
- package/assets/{w3m-modal-Cv35RGiT.js → w3m-modal-C63bxWaq.js} +1 -1
- package/assets/wait-for-tx-receipt-CuLnfaKm.js +1 -0
- package/assets/{wait-for-tx-receipt-Drv8Lr1P.js → wait-for-tx-receipt-DhBzWdPW.js} +1 -1
- package/assets/{wallets-GwhGT1dM.js → wallets-SiIK_4eu.js} +6 -6
- package/assets/{web-connector-bxGgXqpW.js → web-connector-BnZ6I9U8.js} +3 -3
- package/assets/web-connector-DJrJBk0_.js +2 -0
- package/assets/{zora-sepolia-Cm6nfoBw.js → zora-sepolia-5TL5obss.js} +1 -1
- package/index.html +2 -2
- package/package.json +3 -3
- package/assets/CoinbaseSDKConnection-BKJdrNl1.js +0 -1
- package/assets/InAppWalletConnectUI-BCpqJr7x.js +0 -1
- package/assets/ThirdwebWalletManager-C0WgXnZx.js +0 -326
- package/assets/biconomy-dnUC9FHi.js +0 -1
- package/assets/ccip-gHbZ_fY7.js +0 -1
- package/assets/common-DXGQjmn7.js +0 -1
- package/assets/concat-hex-BkDmxQZp.js +0 -1
- package/assets/controller-XOXJb_Xj.js +0 -2
- package/assets/decimals-Bk-qoHwa.js +0 -1
- package/assets/detectExtension-BeXqHbY8.js +0 -1
- package/assets/engine-BZxfKBvb.js +0 -1
- package/assets/estimate-l1-fee-CpxowJdJ.js +0 -2
- package/assets/eth_estimateGas-BI87Z6lb.js +0 -1
- package/assets/eth_estimateGas-D6jt3ABx.js +0 -1
- package/assets/eth_getTransactionCount-DX2PE6Uh.js +0 -1
- package/assets/extractIPFS-LV30uJp-.js +0 -1
- package/assets/fetchTokenMetadata-D7KlTBZU.js +0 -2
- package/assets/get-ecosystem-wallet-info-BpGtHQgI.js +0 -1
- package/assets/getBalance-B2S2mDBX.js +0 -1
- package/assets/getCurrencyMetadata-DO1CX_p4.js +0 -2
- package/assets/getInstalledModules-DQWxNwhQ.js +0 -1
- package/assets/getNFT-BS49C2kr.js +0 -1
- package/assets/getNFT-CW_k-N6S.js +0 -2
- package/assets/in-app-wallet-calls-C-2B-t-w.js +0 -1
- package/assets/index-BDODUKme.js +0 -1
- package/assets/index-BKKV2746.js +0 -3
- package/assets/index-C1yUcBr3.js +0 -2
- package/assets/index-DJX4jI7z.js +0 -2
- package/assets/index-DKiQCady.js +0 -3
- package/assets/index.es-DkH7OFeN.js +0 -29
- package/assets/index.es-anFcjT3-.js +0 -1
- package/assets/openzeppelin-C8E5DMGT.js +0 -1
- package/assets/ownerOf-CLN-nhw1.js +0 -1
- package/assets/resolveImplementation-YurP5AVa.js +0 -1
- package/assets/secp256k1-CLk510R-.js +0 -1
- package/assets/send-batch-transaction-BRauQRcY.js +0 -1
- package/assets/send-eip712-transaction-CJ8IBHyz.js +0 -2
- package/assets/send-gasless-transaction-Ds_GyVDO.js +0 -2
- package/assets/session-proposal-BOjuBppp.js +0 -1
- package/assets/session-request-BltijLOZ.js +0 -2
- package/assets/sha256-uQaZGirP.js +0 -1
- package/assets/signing-GXncBciP.js +0 -2
- package/assets/switch-chain-DXxIqQkk.js +0 -1
- package/assets/thirdweb-COhbCMEp.js +0 -27
- package/assets/totalSupply-ur_EDW6t.js +0 -1
- package/assets/web-connector-B0B4AGqG.js +0 -2
package/assets/index-C1yUcBr3.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ThirdwebWalletManager-C0WgXnZx.js","assets/index-Fv-acDXO.js","assets/index-mD5QWGsm.css","assets/store-CraP4F4Y.js","assets/webauthn.min-CGpVStYZ.js","assets/index.es-DkH7OFeN.js","assets/signing-GXncBciP.js","assets/concat-hex-BkDmxQZp.js","assets/send-eip712-transaction-CJ8IBHyz.js","assets/eth_sendRawTransaction-DPdnXbFR.js","assets/sha256-uQaZGirP.js","assets/in-app-wallet-calls-C-2B-t-w.js","assets/send-batch-transaction-BRauQRcY.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as T}from"./index-Fv-acDXO.js";import{bs as ut,W as q,l as z,r as x,bv as b,bw as K,bx as mt,ax as pt,by as j,$ as Z,b0 as Y,ap as E,aD as C,aS as D,bz as J,bA as lt,bB as S,bC as yt,h as Q,H as _,bD as k,E as H,F as O,aB as ft,bE as wt,bF as At,bG as ht,bH as Gt,bI as gt,X as L,_ as Tt,w as vt,aE as Pt,bJ as Lt,bK as I,bL as X,bM as tt,bN as xt,bO as Ot,at as Ct,i as et,p as Dt,b as F,bP as St,bQ as _t,t as V,aF as bt,bR as Et,bS as Ft,bT as It,bU as Vt}from"./ThirdwebWalletManager-C0WgXnZx.js";import{t as Ut,p as Rt,s as Nt}from"./send-eip712-transaction-CJ8IBHyz.js";async function $t(e){const{factoryContract:a,predictAddressOverride:t,adminAddress:i,accountSalt:r,accountAddress:s}=e;if(t)return t(a,i);if(s)return s;if(!i)throw new Error("Account address is required to predict the smart wallet address.");return ut(async()=>{const c=r&&q(r)?r:z(r??"");let n,o=0;const d=3;for(;o<=d;)try{n=await x({contract:a,method:"function getAddress(address, bytes) returns (address)",params:[i,c]});break}catch(l){if(o===d)throw l;const y=2**(o+1)*200;await new Promise(u=>setTimeout(u,y)),o++}if(!n)throw new Error(`No smart account address found for admin address ${i} and salt ${r}`);return n},{cacheKey:`${e.factoryContract.chain.id}-${e.factoryContract.address}-${e.adminAddress}-${e.accountSalt}`,cacheTime:1e3*60*60*24})}function at(e){const{adminAddress:a,factoryContract:t,createAccountOverride:i,accountSalt:r}=e;if(i)return i(t,a);const s=r&&q(r)?r:z(r??"");return b({contract:t,method:"function createAccount(address, bytes) returns (address)",params:[a,s]})}function nt(e){const{accountContract:a,transaction:t,executeOverride:i}=e;if(i)return i(a,t);let r=t.value||0n;return(t.chainId===295||t.chainId===296)&&(r=BigInt(r)/BigInt(10**10)),b({contract:a,gas:t.gas?t.gas+21000n:void 0,method:"function execute(address, uint256, bytes)",params:[t.to||"",r,t.data||"0x"]})}function kt(e){var c;const{accountContract:a,transactions:t,executeBatchOverride:i}=e;if(i)return i(a,t);let r=t.map(n=>n.value||0n);const s=(c=t[0])==null?void 0:c.chainId;return(s===295||s===296)&&(r=r.map(n=>BigInt(n)/BigInt(10**10))),b({contract:a,method:"function executeBatch(address[], uint256[], bytes[])",params:[t.map(n=>n.to||""),r,t.map(n=>n.data||"0x")]})}const Ht="0xdd62ed3e",Bt=[{name:"owner",type:"address"},{name:"spender",type:"address"}],Mt=[{type:"uint256"}];async function Wt(e){return x({contract:e.contract,method:[Ht,Bt,Mt],params:[e.owner,e.spender]})}const qt="0x095ea7b3",zt=[{name:"spender",type:"address"},{name:"value",type:"uint256"}],Kt=[{type:"bool"}];function jt(e){const a=K(async()=>"asyncParams"in e?await e.asyncParams():e);return b({accessList:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.authorizationList},contract:e.contract,erc20Value:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[qt,zt,Kt],nonce:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await a();return[t.spender,t.value]},value:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.value}})}function Zt(e){return jt({asyncParams:async()=>{let a;if("amount"in e){const{decimals:t}=await T(async()=>{const{decimals:r}=await import("./ThirdwebWalletManager-C0WgXnZx.js").then(s=>s.ew);return{decimals:r}},__vite__mapDeps([0,1,2,3,4,5])),i=await t(e).catch(()=>18);a=mt(e.amount.toString(),i)}else a=e.amountWei;return{overrides:{erc20Value:{amountWei:a,tokenAddress:e.contract.address},...e.overrides},spender:e.spender,value:a}},contract:e.contract})}const Yt="0xf15d424e",Jt=[{name:"signer",type:"address"}],Qt=[{components:[{name:"signer",type:"address"},{name:"approvedTargets",type:"address[]"},{name:"nativeTokenLimitPerTransaction",type:"uint256"},{name:"startTimestamp",type:"uint128"},{name:"endTimestamp",type:"uint128"}],name:"permissions",type:"tuple"}];async function Xt(e){return x({contract:e.contract,method:[Yt,Jt,Qt],params:[e.signer]})}const te="0x5892e236",ee=[{components:[{name:"signer",type:"address"},{name:"isAdmin",type:"uint8"},{name:"approvedTargets",type:"address[]"},{name:"nativeTokenLimitPerTransaction",type:"uint256"},{name:"permissionStartTimestamp",type:"uint128"},{name:"permissionEndTimestamp",type:"uint128"},{name:"reqValidityStartTimestamp",type:"uint128"},{name:"reqValidityEndTimestamp",type:"uint128"},{name:"uid",type:"bytes32"}],name:"req",type:"tuple"},{name:"signature",type:"bytes"}],ae=[];function ne(e){const a=K(async()=>"asyncParams"in e?await e.asyncParams():e);return b({accessList:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.authorizationList},contract:e.contract,erc20Value:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[te,ee,ae],nonce:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await a();return[t.req,t.signature]},value:async()=>{var t;return(t=(await a()).overrides)==null?void 0:t.value}})}function W(){return new Date(Date.now()+1e3*60*60*24*365*10)}function R(e){return Ut(Math.floor(e.getTime()/1e3))}const se=[{name:"signer",type:"address"},{name:"isAdmin",type:"uint8"},{name:"approvedTargets",type:"address[]"},{name:"nativeTokenLimitPerTransaction",type:"uint256"},{name:"permissionStartTimestamp",type:"uint128"},{name:"permissionEndTimestamp",type:"uint128"},{name:"reqValidityStartTimestamp",type:"uint128"},{name:"reqValidityEndTimestamp",type:"uint128"},{name:"uid",type:"bytes32"}];async function re(e){const{account:a,contract:t,req:i}=e,r=await a.signTypedData({domain:{chainId:t.chain.id,name:"Account",verifyingContract:t.address,version:"1"},message:i,primaryType:"SignerPermissionRequest",types:{SignerPermissionRequest:se}});return{req:i,signature:r}}async function ie(e){var i;const{target:a,permissions:t}=e;return{approvedTargets:t.approvedTargets==="*"?[Z]:t.approvedTargets,isAdmin:0,nativeTokenLimitPerTransaction:j(((i=t.nativeTokenLimitPerTransaction)==null?void 0:i.toString())||"0"),permissionEndTimestamp:R(t.permissionEndTimestamp||W()),permissionStartTimestamp:R(t.permissionStartTimestamp||new Date(0)),reqValidityEndTimestamp:R(W()),reqValidityStartTimestamp:0n,signer:a,uid:await pt()}}function ce(e){const{contract:a,sessionKeyAddress:t,account:i,permissions:r}=e;return ne({async asyncParams(){const{req:s,signature:c}=await re({account:i,contract:a,req:await ie({permissions:r,target:t})});return{req:s,signature:c}},contract:a})}async function oe(e){var c;const{accountContract:a,sessionKeyAddress:t,newPermissions:i}=e;if(!await Y(a))return!0;const s=await Xt({contract:a,signer:t});return!!(s.endTimestamp&&s.endTimestamp<Math.floor(Date.now()/1e3)||!de(s.approvedTargets,i.approvedTargets)||j(((c=i.nativeTokenLimitPerTransaction)==null?void 0:c.toString())??"0")>s.nativeTokenLimitPerTransaction)}function de(e,a){return a==="*"&&e.length===1&&e[0]===Z?!0:a!=="*"?a.map(t=>t.toLowerCase()).every(t=>e.map(i=>i.toLowerCase()).includes(t)):!1}const ue=2n**96n-1n,me="0x35567e1a",pe=[{name:"sender",type:"address"},{name:"key",type:"uint192"}],le=[{name:"nonce",type:"uint256"}];async function ye(e){return x({contract:e.contract,method:[me,pe,le],params:[e.sender,e.key]})}const fe="0xa6193531",we=[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],Ae=[{type:"bytes32"}];async function he(e){return x({contract:e.contract,method:[fe,we,Ae],params:[e.userOp]})}const Ge="0x22cdde4c",ge=[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"accountGasLimits",type:"bytes32"},{name:"preVerificationGas",type:"uint256"},{name:"gasFees",type:"bytes32"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],Te=[{type:"bytes32"}];async function ve(e){return x({contract:e.contract,method:[Ge,ge,Te],params:[e.userOp]})}function Pe(e){return e.factory?E([e.factory,e.factoryData||"0x"]):"0x"}function Le(e){return E([C(D(BigInt(e.verificationGasLimit)),{size:16}),C(D(BigInt(e.callGasLimit)),{size:16})])}function xe(e){return E([C(D(BigInt(e.maxPriorityFeePerGas)),{size:16}),C(D(BigInt(e.maxFeePerGas)),{size:16})])}function Oe(e){return e.paymaster?E([e.paymaster,C(D(BigInt(e.paymasterVerificationGasLimit||0)),{size:16}),C(D(BigInt(e.paymasterPostOpGasLimit||0)),{size:16}),e.paymasterData||"0x"]):"0x"}const Ce=e=>({accountGasLimits:Le(e),callData:e.callData,gasFees:xe(e),initCode:Pe(e),nonce:BigInt(e.nonce),paymasterAndData:Oe(e),preVerificationGas:BigInt(e.preVerificationGas),sender:e.sender,signature:e.signature});async function U(e){var A;const{userOp:a,paymasterOverride:t,client:i,chain:r,entrypointAddress:s}=e;if(t)return t(a);const c={"Content-Type":"application/json"},n=s??S,o=J(r),d={id:1,jsonrpc:"2.0",method:"pm_sponsorUserOperation",params:[lt(a),n]},y=await yt(i)(o,{body:Q(d),headers:c,method:"POST"});if(!y.ok){const h=await y.text()||y.statusText;throw new Error(`Paymaster error: ${y.status} - ${h}`)}const u=await y.json();if(u.result)return typeof u.result=="string"?{paymasterAndData:u.result}:(u.result.reason&&console.warn(`Paymaster policy rejected this transaction with reason: ${u.result.reason} ${u.result.policyId?`(policyId: ${u.result.policyId})`:""}`),{callGasLimit:u.result.callGasLimit?_(u.result.callGasLimit):void 0,paymaster:u.result.paymaster,paymasterAndData:u.result.paymasterAndData,paymasterData:u.result.paymasterData,paymasterPostOpGasLimit:u.result.paymasterPostOpGasLimit?_(u.result.paymasterPostOpGasLimit):void 0,paymasterVerificationGasLimit:u.result.paymasterVerificationGasLimit?_(u.result.paymasterVerificationGasLimit):void 0,preVerificationGas:u.result.preVerificationGas?_(u.result.preVerificationGas):void 0,verificationGasLimit:u.result.verificationGasLimit?_(u.result.verificationGasLimit):void 0});const w=((A=u.error)==null?void 0:A.message)||u.error||y.statusText||"unknown error";throw new Error(`Paymaster error from ${o}: ${w}`)}const B=new Set,M=e=>`${e.chain.id}:${e.address}`,st=e=>{B.add(M(e))},rt=e=>{B.delete(M(e))},it=e=>B.has(M(e));async function De(e){const a=e.timeoutMs||12e4,t=e.intervalMs||1e3,i=Date.now()+a;for(;Date.now()<i;){const r=await wt(e);if(r)return r;await new Promise(s=>setTimeout(s,t))}throw new Error(`Timeout waiting for userOp to be mined on chain ${e.chain.id} with UserOp hash: ${e.userOpHash}`)}async function Se(e){var v;const{transaction:a,accountContract:t,factoryContract:i,adminAddress:r,overrides:s,sponsorGas:c,waitForDeployment:n=!0,isDeployedOverride:o}=e,d=a.chain,l=a.client,y={bundlerUrl:s==null?void 0:s.bundlerUrl,chain:d,client:l,entrypointAddress:s==null?void 0:s.entrypointAddress},u=k(((v=e.overrides)==null?void 0:v.entrypointAddress)||S),[w,A,h,G,f]=await Promise.all([typeof o=="boolean"?o:Y(t).then(g=>g||it(t)),H(a),O(a.gas),_e({bundlerOptions:y,chain:d,client:l,executeTx:a}),Ue({accountContract:t,chain:d,client:l,entrypointAddress:s==null?void 0:s.entrypointAddress,getNonceOverride:s==null?void 0:s.getAccountNonce})]),{maxFeePerGas:m,maxPriorityFeePerGas:p}=G;return u==="v0.7"?be({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:h,factoryContract:i,isDeployed:w,maxFeePerGas:m,maxPriorityFeePerGas:p,nonce:f,overrides:s,sponsorGas:c,waitForDeployment:n}):Ee({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:h,factoryContract:i,isDeployed:w,maxFeePerGas:m,maxPriorityFeePerGas:p,nonce:f,overrides:s,sponsorGas:c,waitForDeployment:n})}async function _e(e){const{executeTx:a,bundlerOptions:t,chain:i,client:r}=e;let{maxFeePerGas:s,maxPriorityFeePerGas:c}=a;const n=(t==null?void 0:t.bundlerUrl)??J(i);if(At(n)){const o=await ht({options:t});s=o.maxFeePerGas,c=o.maxPriorityFeePerGas}else{const[o,d]=await Promise.all([O(s),O(c)]);if(o&&d)s=o,c=d;else{const l=await Gt(r,i);c=d??l.maxPriorityFeePerGas??0n,s=o??l.maxFeePerGas??0n}}return{maxFeePerGas:s,maxPriorityFeePerGas:c}}async function be(e){const{bundlerOptions:a,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:s,sponsorGas:c,overrides:n,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:u,waitForDeployment:w}=e,{chain:A,client:h}=a;let G,f;t?(f="0x",w&&await ct(r)):(G=i.address,f=await H(at({accountSalt:n==null?void 0:n.accountSalt,adminAddress:s,createAccountOverride:n==null?void 0:n.createAccount,factoryContract:i})),w&&st(r));const m={callData:d,callGasLimit:l??0n,factory:G,factoryData:f,maxFeePerGas:y,maxPriorityFeePerGas:u,nonce:o,paymaster:void 0,paymasterData:"0x",paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n,preVerificationGas:0n,sender:r.address,signature:X,verificationGasLimit:0n};if(c){const p=await U({chain:A,client:h,entrypointAddress:n==null?void 0:n.entrypointAddress,paymasterOverride:n==null?void 0:n.paymaster,userOp:m});if(p.paymaster&&p.paymasterData&&(m.paymaster=p.paymaster,m.paymasterData=p.paymasterData),p.callGasLimit&&p.verificationGasLimit&&p.preVerificationGas&&p.paymasterPostOpGasLimit&&p.paymasterVerificationGasLimit)m.callGasLimit=p.callGasLimit,m.verificationGasLimit=p.verificationGasLimit,m.preVerificationGas=p.preVerificationGas,m.paymasterPostOpGasLimit=p.paymasterPostOpGasLimit,m.paymasterVerificationGasLimit=p.paymasterVerificationGasLimit;else{const v=n!=null&&n.tokenPaymaster?{[n.tokenPaymaster.tokenAddress]:{stateDiff:{[Tt(vt([{type:"address"},{type:"uint256"}],[r.address,n.tokenPaymaster.balanceStorageSlot]))]:Pt(Lt,{size:32})}}}:void 0,g=await I({options:a,userOp:m},v);m.callGasLimit=g.callGasLimit,m.verificationGasLimit=g.verificationGasLimit,m.preVerificationGas=g.preVerificationGas,m.paymasterPostOpGasLimit=n!=null&&n.tokenPaymaster?500000n:g.paymasterPostOpGasLimit||0n,m.paymasterVerificationGasLimit=g.paymasterVerificationGasLimit||0n;const P=await U({chain:A,client:h,entrypointAddress:n==null?void 0:n.entrypointAddress,paymasterOverride:n==null?void 0:n.paymaster,userOp:m});P.paymaster&&P.paymasterData&&(m.paymaster=P.paymaster,m.paymasterData=P.paymasterData)}}else{const p=await I({options:a,userOp:m});m.callGasLimit=p.callGasLimit,m.verificationGasLimit=p.verificationGasLimit,m.preVerificationGas=p.preVerificationGas,m.paymasterPostOpGasLimit=p.paymasterPostOpGasLimit||0n,m.paymasterVerificationGasLimit=p.paymasterVerificationGasLimit||0n}return{...m,signature:"0x"}}async function Ee(e){const{bundlerOptions:a,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:s,sponsorGas:c,overrides:n,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:u,waitForDeployment:w}=e,{chain:A,client:h}=a;let G;t?(G="0x",w&&await ct(r)):(G=await Ve({accountSalt:n==null?void 0:n.accountSalt,adminAddress:s,createAccountOverride:n==null?void 0:n.createAccount,factoryContract:i}),w&&st(r));const f={callData:d,callGasLimit:l??0n,initCode:G,maxFeePerGas:y,maxPriorityFeePerGas:u,nonce:o,paymasterAndData:"0x",preVerificationGas:0n,sender:r.address,signature:X,verificationGasLimit:0n};if(c){const m=await U({chain:A,client:h,entrypointAddress:n==null?void 0:n.entrypointAddress,paymasterOverride:n==null?void 0:n.paymaster,userOp:f}),p="paymasterAndData"in m?m.paymasterAndData:"0x";if(p&&p!=="0x"&&(f.paymasterAndData=p),m.callGasLimit&&m.verificationGasLimit&&m.preVerificationGas)f.callGasLimit=m.callGasLimit,f.verificationGasLimit=m.verificationGasLimit,f.preVerificationGas=m.preVerificationGas;else{const v=await I({options:a,userOp:f});if(f.callGasLimit=v.callGasLimit,f.verificationGasLimit=v.verificationGasLimit,f.preVerificationGas=v.preVerificationGas,p&&p!=="0x"){const g=await U({chain:A,client:h,entrypointAddress:n==null?void 0:n.entrypointAddress,paymasterOverride:n==null?void 0:n.paymaster,userOp:f}),P="paymasterAndData"in g?g.paymasterAndData:"0x";P&&P!=="0x"&&(f.paymasterAndData=P)}}}else{const m=await I({options:a,userOp:f});f.callGasLimit=m.callGasLimit,f.verificationGasLimit=m.verificationGasLimit,f.preVerificationGas=m.preVerificationGas}return{...f,signature:"0x"}}async function Fe(e){const{userOp:a,chain:t,entrypointAddress:i,adminAccount:r}=e,s=await Ie({chain:t,client:e.client,entrypointAddress:i,userOp:a});if(r.signMessage){const c=await r.signMessage({chainId:t.id,message:{raw:ft(s)},originalMessage:Q(a)});return{...a,signature:c}}throw new Error("signMessage not implemented in signingAccount")}async function Ie(e){const{userOp:a,chain:t,entrypointAddress:i}=e,r=k(i||S);let s;if(r==="v0.7"){const c=Ce(a);s=await ve({contract:L({address:i||tt,chain:t,client:e.client}),userOp:c})}else s=await he({contract:L({address:i||S,chain:t,client:e.client}),userOp:a});return s}async function Ve(e){const{factoryContract:a,adminAddress:t,accountSalt:i,createAccountOverride:r}=e,s=at({accountSalt:i,adminAddress:t,createAccountOverride:r,factoryContract:a});return E([a.address,await H(s)])}async function Ue(e){const{accountContract:a,chain:t,client:i,entrypointAddress:r,getNonceOverride:s}=e;return s?s(a):await ye({contract:L({address:r||S,chain:t,client:i}),key:gt(),sender:a.address})}async function ct(e){const a=Date.now();for(;it(e);){if(Date.now()-a>6e4)throw rt(e),new Error("Account deployment is taking too long (over 1 minute). Please try again.");await new Promise(t=>setTimeout(t,500))}}const ot=new WeakMap,N=new WeakMap;async function Re(e,a){var u,w,A,h,G,f,m;const{personalAccount:t,client:i}=e;if(!t)throw new Error("No personal account provided for smart account connection");const r=a,s=a.chain,c="gasless"in r?r.gasless:r.sponsorGas;if(await xt(s))return[He({chain:s,connectionOptions:e,creationOptions:a,sponsorGas:c}),s];if(r.factoryAddress&&!((u=r.overrides)!=null&&u.entrypointAddress)){const p=await dt(r.factoryAddress,i,s);p&&(r.overrides={...r.overrides,entrypointAddress:p})}(w=r.overrides)!=null&&w.tokenPaymaster&&!((A=r.overrides)!=null&&A.entrypointAddress)&&(r.overrides={...r.overrides,entrypointAddress:tt});const n=r.factoryAddress??Ot((h=r.overrides)==null?void 0:h.entrypointAddress),o=L({address:n,chain:s,client:i}),d=await $t({accountAddress:(G=r.overrides)==null?void 0:G.accountAddress,accountSalt:(f=r.overrides)==null?void 0:f.accountSalt,adminAddress:t.address,factoryContract:o,predictAddressOverride:(m=r.overrides)==null?void 0:m.predictAddress}).then(p=>p).catch(p=>{throw new Error(`Failed to get account address with factory contract ${o.address} on chain ID ${s.id}: ${(p==null?void 0:p.message)||"unknown error"}`,{cause:p})}),l=L({address:d,chain:s,client:i}),y=await $e({...r,accountContract:l,chain:s,client:i,factoryContract:o,personalAccount:t,sponsorGas:c});if(ot.set(t,y),N.set(y,t),r.sessionKey&&await oe({accountContract:l,newPermissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address})){const p=ce({account:t,contract:l,permissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address});await Ct({account:y,transaction:p})}return[y,s]}async function Ne(e){const a=N.get(e);a&&(ot.delete(a),N.delete(e))}async function $e(e){var s,c;const a=(s=e.overrides)==null?void 0:s.tokenPaymaster;if(a&&k(((c=e.overrides)==null?void 0:c.entrypointAddress)||S)!=="v0.7")throw new Error("Token paymaster is only supported for entrypoint version v0.7");const t=e.sponsorGas;let i=e.accountContract;const r={address:et(i.address),async onTransactionRequested(n){var o,d;return(d=(o=e.personalAccount).onTransactionRequested)==null?void 0:d.call(o,n)},async sendBatchTransaction(n){var u,w;const o=kt({accountContract:i,executeBatchOverride:(u=e.overrides)==null?void 0:u.executeBatch,transactions:n});if(n.length===0)throw new Error("No transactions to send");const d=n[0];if(!d)throw new Error("No transactions to send");const l=F(d.chainId),y=await $({executeTx:o,options:{...e,accountContract:i,chain:l}});return V({chainId:l.id,client:e.client,contractAddress:((w=n[0])==null?void 0:w.to)??void 0,transactionHash:y.transactionHash,walletAddress:e.accountContract.address,walletType:"smart"}),y},async sendTransaction(n){var u,w,A;let o;if(a){await ke({accountContract:i,erc20Paymaster:a,options:e});const h=async()=>({paymaster:a.paymasterAddress,paymasterData:"0x"});o=((u=e.overrides)==null?void 0:u.paymaster)||h}else o=(w=e.overrides)==null?void 0:w.paymaster;n.chainId!==i.chain.id&&(i=L({address:r.address,chain:F(n.chainId),client:e.client}));const d=nt({accountContract:i,executeOverride:(A=e.overrides)==null?void 0:A.execute,transaction:n}),l=F(n.chainId),y=await $({executeTx:d,options:{...e,accountContract:i,chain:l,overrides:{...e.overrides,paymaster:o}}});return V({chainId:l.id,client:e.client,contractAddress:n.to??void 0,transactionHash:y.transactionHash,walletAddress:e.accountContract.address,walletType:"smart"}),y},async signMessage({message:n}){var d;if((d=e.overrides)!=null&&d.signMessage)return e.overrides.signMessage({accountContract:i,adminAccount:e.personalAccount,factoryContract:e.factoryContract,message:n});const{smartAccountSignMessage:o}=await T(async()=>{const{smartAccountSignMessage:l}=await import("./signing-GXncBciP.js");return{smartAccountSignMessage:l}},__vite__mapDeps([6,0,1,2,3,4,5,7,8,9,10]));return o({accountContract:i,factoryContract:e.factoryContract,message:n,options:e})},async signTypedData(n){var d;if((d=e.overrides)!=null&&d.signTypedData)return e.overrides.signTypedData({accountContract:i,adminAccount:e.personalAccount,factoryContract:e.factoryContract,typedData:n});const{smartAccountSignTypedData:o}=await T(async()=>{const{smartAccountSignTypedData:l}=await import("./signing-GXncBciP.js");return{smartAccountSignTypedData:l}},__vite__mapDeps([6,0,1,2,3,4,5,7,8,9,10]));return o({accountContract:i,factoryContract:e.factoryContract,options:e,typedData:n})},sendCalls:async n=>{const{inAppWalletSendCalls:o}=await T(async()=>{const{inAppWalletSendCalls:w}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([11,0,1,2,3,4,5,12])),d=n.calls[0];if(!d)throw new Error("No calls to send");const l=d.client,y=d.chain||n.chain,u=await o({account:r,calls:n.calls,chain:y});return{chain:y,client:l,id:u}},getCallsStatus:async n=>{const{inAppWalletGetCallsStatus:o}=await T(async()=>{const{inAppWalletGetCallsStatus:d}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletGetCallsStatus:d}},__vite__mapDeps([11,0,1,2,3,4,5,12]));return o(n)},getCallsStatusRaw:async n=>{const{inAppWalletGetCallsStatusRaw:o}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:d}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletGetCallsStatusRaw:d}},__vite__mapDeps([11,0,1,2,3,4,5,12]));return o(n)},getCapabilities:async n=>({[n.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:t??!1}}})};return r}async function ke(e){var l;const{accountContract:a,erc20Paymaster:t,options:i}=e,r=t.tokenAddress,s=L({address:r,chain:a.chain,client:a.client});if(await Wt({contract:s,owner:a.address,spender:t.paymasterAddress})>0n)return;const n=Zt({amountWei:ue-1n,contract:s,spender:t.paymasterAddress}),o=await bt({from:a.address,transaction:n}),d=nt({accountContract:a,executeOverride:(l=i.overrides)==null?void 0:l.execute,transaction:o});await $({executeTx:d,options:{...i,overrides:{...i.overrides,tokenPaymaster:void 0}}})}function He(e){const{creationOptions:a,connectionOptions:t,chain:i}=e,r={address:et(t.personalAccount.address),async onTransactionRequested(s){var c,n;return(n=(c=t.personalAccount).onTransactionRequested)==null?void 0:n.call(c,s)},async sendTransaction(s){var l,y,u,w;const c={chain:F(s.chainId),client:t.client,data:s.data,eip712:s.eip712,to:s.to??void 0,value:s.value??0n};let n=await Rt({account:r,transaction:c});if(e.sponsorGas&&!n.paymaster){const A=await St({options:{bundlerUrl:(l=a.overrides)==null?void 0:l.bundlerUrl,chain:i,client:t.client,entrypointAddress:(y=a.overrides)==null?void 0:y.entrypointAddress},transaction:n});n={...n,...A}}const o=await Nt({account:r,chainId:i.id,eip712Transaction:n}),d=await _t({options:{bundlerUrl:(u=a.overrides)==null?void 0:u.bundlerUrl,chain:i,client:t.client,entrypointAddress:(w=a.overrides)==null?void 0:w.entrypointAddress},signedTransaction:o,transaction:n});return V({chainId:i.id,client:t.client,contractAddress:s.to??void 0,transactionHash:d.transactionHash,walletAddress:r.address,walletType:"smart"}),{chain:i,client:t.client,transactionHash:d.transactionHash}},async signMessage({message:s}){return t.personalAccount.signMessage({message:s})},async signTypedData(s){const c=Dt(s);return t.personalAccount.signTypedData(c)},sendCalls:async s=>{const{inAppWalletSendCalls:c}=await T(async()=>{const{inAppWalletSendCalls:y}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletSendCalls:y}},__vite__mapDeps([11,0,1,2,3,4,5,12])),n=s.calls[0];if(!n)throw new Error("No calls to send");const o=n.client,d=n.chain||s.chain,l=await c({account:r,calls:s.calls,chain:d});return{chain:d,client:o,id:l}},getCallsStatus:async s=>{const{inAppWalletGetCallsStatus:c}=await T(async()=>{const{inAppWalletGetCallsStatus:n}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletGetCallsStatus:n}},__vite__mapDeps([11,0,1,2,3,4,5,12]));return c(s)},getCallsStatusRaw:async s=>{const{inAppWalletGetCallsStatusRaw:c}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:n}=await import("./in-app-wallet-calls-C-2B-t-w.js");return{inAppWalletGetCallsStatusRaw:n}},__vite__mapDeps([11,0,1,2,3,4,5,12]));return c(s)},getCapabilities:async s=>({[s.chainId??1]:{atomic:{status:"unsupported"},paymasterService:{supported:e.sponsorGas??!1}}})};return r}async function $(e){var i,r,s;const{executeTx:a,options:t}=e;try{const c=await Se({accountContract:t.accountContract,adminAddress:t.personalAccount.address,factoryContract:t.factoryContract,overrides:t.overrides,sponsorGas:t.sponsorGas,transaction:a}),n=await Fe({adminAccount:t.personalAccount,chain:t.chain,client:t.client,entrypointAddress:(i=t.overrides)==null?void 0:i.entrypointAddress,userOp:c}),o={bundlerUrl:(r=t.overrides)==null?void 0:r.bundlerUrl,chain:t.chain,client:t.client,entrypointAddress:(s=t.overrides)==null?void 0:s.entrypointAddress},d=await Et({options:o,userOp:n}),l=await De({...o,userOpHash:d});return V({chainId:t.chain.id,client:t.client,contractAddress:await O(a.to??void 0),transactionHash:l.transactionHash,walletAddress:t.accountContract.address,walletType:"smart"}),{chain:t.chain,client:t.client,transactionHash:l.transactionHash}}catch(c){throw Ft(c)&&It({chainId:t.chain.id,client:t.client,contractAddress:await O(a.to??void 0),error:c,transactionValue:await O(a.value),walletAddress:t.accountContract.address}),c}finally{rt(t.accountContract)}}async function dt(e,a,t){const i=L({address:e,chain:t,client:a});try{return await x({contract:i,method:"function entrypoint() public view returns (address)"})}catch{return}}const qe=Object.freeze(Object.defineProperty({__proto__:null,connectSmartAccount:Re,disconnectSmartAccount:Ne,getEntrypointFromFactory:dt,isSmartWallet:Vt},Symbol.toStringTag,{value:"Module"}));export{qe as i,at as p};
|
package/assets/index-DJX4jI7z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-CjSUDNml.js","assets/index-Fv-acDXO.js","assets/index-mD5QWGsm.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{p as gt,m as bt,b as Yt,i as Zt,I as Qt,s as ut,A as D,e as Xt,g as k,d as N,f as te,r as ee,h as ae,j as ne,k as re,w as se,n as oe,o as ie,q as ce,t as ue,v as de,u as le,x as Q,y as me,z as fe,B as he,C as $,D as pe,E as ye,F as ge,G as be,H as we,J as xe,K as Ee,L as Ie,M as Te,N as St,O as At,P as Ce,Q as Pt,R as _t,S as Rt,T as ve,U as dt,V as qt,W as Se,X as Ae,Y as Ft,Z as Pe,_ as kt,$ as J,a0 as _e,a1 as Bt,a2 as Re,a3 as qe,a4 as lt,a5 as Fe,a6 as ke,a7 as Be,a8 as Ue,a9 as Ne,aa as Ut,ab as Le}from"./parseSignature-DoNNAGxu.js";import{bf as Er,b1 as Ir,aM as Tr,aN as Cr,aT as vr,aO as Sr,aP as Ar,aQ as Pr,ac as _r,aR as Rr,aU as qr,aV as Fr,aW as kr,aX as Br,b2 as Ur,aZ as Nr,a_ as Lr,a$ as Mr,b0 as Dr,b4 as zr,b5 as Gr,bh as $r,b6 as Hr,b7 as Or,b8 as jr,ad as Wr,ae as Vr,af as Jr,aS as Kr,ag as Yr,ah as Zr,ai as Qr,aj as Xr,bi as ts,ak as es,bj as as,al as ns,b3 as rs,b9 as ss,ba as os,bb as is,aY as cs,ap as us,bg as ds,bc as ls,bk as ms,bl as fs,bm as hs,bd as ps,be as ys,aq as gs,ar as bs,as as ws,bn as xs,bu as Es,bv as Is,bw as Ts,bA as Cs,au as vs,bo as Ss,bp as As,aH as Ps,aI as _s,bq as Rs,br as qs,bs as Fs,aA as ks,ax as Bs,ay as Us,aB as Ns,aC as Ls,aJ as Ms,az as Ds,aE as zs,bL as Gs,bM as $s,bN as Hs,by as Os,bJ as js,bE as Ws,aw as Vs,aD as Js,bz as Ks,bB as Ys,am as Zs,an as Qs,ao as Xs,bE as to,bt as eo,aK as ao,av as no,bF as ro,at as so,bK as oo,bG as io,bH as co,bH as uo,bx as lo,bI as mo,aC as fo,aJ as ho,aL as po,bC as yo,bD as go,aF as bo,aG as wo}from"./parseSignature-DoNNAGxu.js";import{aC as U,cb as B,aD as Me,cc as Y,cd as De,ap as ze,ce as Ge,aG as H,aH as ct,aI as G,al as mt,aq as E,cf as $e,aQ as He,cg as j,aP as wt,aS as Nt,ch as Oe,ci as Lt,x as Mt,cj as R,ck as je,ao as ft,cl as F,cm as A,cn as We,co as Ve,cp as Je,cq as xt,cr as ht,cs as Ke,ct as Ye,cu as Ze,j as Qe,v as Xe,k as ta,cv as ea,cw as Et}from"./ThirdwebWalletManager-C0WgXnZx.js";import{cx as Eo,cy as Io,cz as To,cA as Co,cB as vo,cC as So,cD as Ao,cE as Po,cF as _o,cG as Ro,cH as qo,cI as Fo,cJ as ko,cK as Bo,cL as Uo,cM as No,cN as Lo,cO as Mo,c$ as Do,cX as zo,cP as Go,cQ as $o,cR as Ho,cY as Oo,cS as jo,d0 as Wo,cZ as Vo,d1 as Jo,d2 as Ko,cV as Yo,c_ as Zo,cW as Qo,cT as Xo,dk as ti,dn as ei,dc as ai,dd as ni,de as ri,df as si,d8 as oi,d9 as ii,an as ci,d3 as ui,dq as di,d7 as li,dt as mi,dw as fi,dy as hi,dF as pi,Z as yi,d4 as gi,dr as bi,ds as wi,du as xi,dx as Ei,dg as Ii,dh as Ti,d5 as Ci,dB as vi,dC as Si,y as Ai,dC as Pi,dD as _i,dE as Ri,di as qi,dj as Fi,dp as ki,dl as Bi,da as Ui,d6 as Ni,dz as Li,cU as Mi,db as Di,dm as zi,am as Gi,dA as $i,dB as Hi,dC as Oi,dA as ji,y as Wi,dC as Vi,dv as Ji}from"./ThirdwebWalletManager-C0WgXnZx.js";import{T as aa,a as Z,W as It,b as na,U as ra,R as sa}from"./rpc-rFcFDQyb.js";import{c as Yi,A as Zi,B as Qi,C as Xi,D as tc,H as ec,I as ac,d as nc,e as rc,f as sc,J as oc,L as ic,M as cc,h as uc,P as dc,i as lc,j as mc,k as fc,l as hc,m as pc,S as yc,n as gc,o as bc,p as wc,q as xc,r as Ec,s as Ic}from"./rpc-rFcFDQyb.js";import{_ as oa}from"./index-Fv-acDXO.js";import{t as ia,H as ca}from"./sha256-uQaZGirP.js";import{aJ as Cc,aK as vc,n as Sc,o as Ac,p as Pc,q as _c,r as Rc,u as qc,v as Fc,b as kc,w as Bc,x as Uc,y as Nc,z as Lc,A as Mc,B as Dc,C as zc,D as Gc,E as $c,F as Hc,c as Oc,G as jc,I as Wc,J as Vc,d as Jc,e as Kc,f as Yc,g as Zc,h as Qc,i as Xc,a as tu,j as eu,k as au,l as nu,V as ru,W as su,X as ou,Y as iu,Z as cu,_ as uu,$ as du,m as lu,a0 as mu,a1 as fu,a2 as hu,a3 as pu,a4 as yu,a5 as gu,a6 as bu,a7 as wu,a8 as xu,a9 as Eu,L as Iu,aa as Tu,ab as Cu,ac as vu,M as Su,N as Au,O as Pu,P as _u,Q as Ru,R as qu,K as Fu,S as ku,T as Bu,U as Uu,ap as Nu,aq as Lu,ar as Mu,as as Du,at as zu,au as Gu,av as $u,ae as Hu,aw as Ou,ax as ju,ay as Wu,az as Vu,aA as Ju,aB as Ku,aC as Yu,aD as Zu,aE as Qu,aF as Xu,af as td,aG as ed,aH as ad,aI as nd,ag as rd,ah as sd,ai as od,aj as id,ak as cd,al as ud,ad as dd,am as ld,an as md,ao as fd,s as hd}from"./sha256-uQaZGirP.js";import{ccipRequest as yd,ccipRequest as gd,offchainLookup as bd,offchainLookupAbiItem as wd,offchainLookupSignature as xd}from"./ccip-gHbZ_fY7.js";import"./store-CraP4F4Y.js";import"./webauthn.min-CGpVStYZ.js";import"./index.es-DkH7OFeN.js";function On(t){let e;if(typeof t=="string")e=gt(t,{modifiers:bt});else{const a=Yt(t),n=t.length;for(let r=0;r<n;r++){const s=t[r];if(!Zt(s)){e=gt(s,{modifiers:bt,structs:a});break}}}if(!e)throw new Qt({param:t});return e}async function M(t,e){return M.internal(t,ut,"sendTransaction",e)}(function(t){async function e(a,n,r,s){const{abi:u,account:d=a.account,address:c,args:i,dataSuffix:f,functionName:m,...h}=s;if(typeof d>"u")throw new D({docsPath:"/docs/contract/writeContract"});const o=d?N(d):null,p=Xt({abi:u,args:i,functionName:m});try{return await k(a,n,r)({data:`${p}${f?f.replace("0x",""):""}`,to:c,account:o,...h})}catch(l){throw te(l,{abi:u,address:c,args:i,docsPath:"/docs/contract/writeContract",functionName:m,sender:o==null?void 0:o.address})}}t.internal=e})(M||(M={}));function jn({abi:t,address:e,client:a}){const n=a,[r,s]=n?"public"in n&&"wallet"in n?[n.public,n.wallet]:"public"in n?[n.public,void 0]:"wallet"in n?[void 0,n.wallet]:[n,n]:[void 0,void 0],u=r!=null,d=s!=null,c={};let i=!1,f=!1,m=!1;for(const h of t)if(h.type==="function"?h.stateMutability==="view"||h.stateMutability==="pure"?i=!0:f=!0:h.type==="event"&&(m=!0),i&&f&&m)break;return u&&(i&&(c.read=new Proxy({},{get(h,o){return(...p)=>{const{args:l,options:y}=W(p);return k(r,ee,"readContract")({abi:t,address:e,functionName:o,args:l,...y})}}})),f&&(c.simulate=new Proxy({},{get(h,o){return(...p)=>{const{args:l,options:y}=W(p);return k(r,ae,"simulateContract")({abi:t,address:e,functionName:o,args:l,...y})}}})),m&&(c.createEventFilter=new Proxy({},{get(h,o){return(...p)=>{const l=t.find(g=>g.type==="event"&&g.name===o),{args:y,options:w}=rt(p,l);return k(r,ne,"createContractEventFilter")({abi:t,address:e,eventName:o,args:y,...w})}}}),c.getEvents=new Proxy({},{get(h,o){return(...p)=>{const l=t.find(g=>g.type==="event"&&g.name===o),{args:y,options:w}=rt(p,l);return k(r,re,"getContractEvents")({abi:t,address:e,eventName:o,args:y,...w})}}}),c.watchEvent=new Proxy({},{get(h,o){return(...p)=>{const l=t.find(g=>g.type==="event"&&g.name===o),{args:y,options:w}=rt(p,l);return k(r,se,"watchContractEvent")({abi:t,address:e,eventName:o,args:y,...w})}}}))),d&&f&&(c.write=new Proxy({},{get(h,o){return(...p)=>{const{args:l,options:y}=W(p);return k(s,M,"writeContract")({abi:t,address:e,functionName:o,args:l,...y})}}})),(u||d)&&f&&(c.estimateGas=new Proxy({},{get(h,o){return(...p)=>{const{args:l,options:y}=W(p);return k(r??s,oe,"estimateContractGas")({abi:t,address:e,functionName:o,args:l,...y,account:y.account??s.account})}}})),c.address=e,c.abi=t,c}function W(t){const e=t.length&&Array.isArray(t[0]),a=e?t[0]:[],n=(e?t[1]:t[0])??{};return{args:a,options:n}}function rt(t,e){let a=!1;Array.isArray(t[0])?a=!0:t.length===1?a=e.inputs.some(s=>s.indexed):t.length===2&&(a=!0);const n=a?t[0]:void 0,r=(a?t[1]:t[0])??{};return{args:n,options:r}}function Tt(t){return!t||typeof t!="object"||!("BYTES_PER_ELEMENT"in t)?!1:t.BYTES_PER_ELEMENT===1&&t.constructor.name==="Uint8Array"}function Wn(t){return t.opcode==="CREATE2"?da(t):ua(t)}function ua(t){const e=U(B(t.from));let a=U(t.nonce);return a[0]===0&&(a=new Uint8Array([])),B(`0x${Y(ia([e,a],"bytes")).slice(26)}`)}function da(t){const e=U(B(t.from)),a=Me(Tt(t.salt)?t.salt:U(t.salt),{size:32}),n="bytecodeHash"in t?Tt(t.bytecodeHash)?t.bytecodeHash:U(t.bytecodeHash):Y(t.bytecode,"bytes");return B(De(Y(ze([U("0xff"),e,a,n])),12))}function Vn({chains:t,id:e}){return t.find(a=>a.id===e)}function Dt(t,e="hex"){const a=(()=>{if(typeof t=="string"){if(t.length>3&&t.length%2!==0)throw new Ge(t);return H(t)}return t})(),n=ct(a,{recursiveReadLimit:Number.POSITIVE_INFINITY});return zt(n,e)}function zt(t,e="hex"){if(t.bytes.length===0)return e==="hex"?G(t.bytes):t.bytes;const a=t.readByte();if(a<128&&t.decrementPosition(1),a<192){const r=Ct(t,a,128),s=t.readBytes(r);return e==="hex"?G(s):s}const n=Ct(t,a,192);return la(t,n,e)}function Ct(t,e,a){if(a===128&&e<128)return 1;if(e<=a+55)return e-a;if(e===a+55+1)return t.readUint8();if(e===a+55+2)return t.readUint16();if(e===a+55+3)return t.readUint24();if(e===a+55+4)return t.readUint32();throw new mt("Invalid RLP prefix")}function la(t,e,a){const n=t.position,r=[];for(;t.position-n<e;)r.push(zt(t,a));return r}function ma(t){return E(t)&&$e(t)===32}const fa=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Gt=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),ha=Gt.map(t=>(9*t+5)%16),$t=(()=>{const a=[[Gt],[ha]];for(let n=0;n<4;n++)for(let r of a)r.push(r[n].map(s=>fa[s]));return a})(),Ht=$t[0],Ot=$t[1],jt=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>Uint8Array.from(t)),pa=Ht.map((t,e)=>t.map(a=>jt[e][a])),ya=Ot.map((t,e)=>t.map(a=>jt[e][a])),ga=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),ba=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function vt(t,e,a,n){return t===0?e^a^n:t===1?e&a|~e&n:t===2?(e|~a)^n:t===3?e&n|a&~n:e^(a|~n)}const V=new Uint32Array(16);class wa extends ca{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:a,h2:n,h3:r,h4:s}=this;return[e,a,n,r,s]}set(e,a,n,r,s){this.h0=e|0,this.h1=a|0,this.h2=n|0,this.h3=r|0,this.h4=s|0}process(e,a){for(let o=0;o<16;o++,a+=4)V[o]=e.getUint32(a,!0);let n=this.h0|0,r=n,s=this.h1|0,u=s,d=this.h2|0,c=d,i=this.h3|0,f=i,m=this.h4|0,h=m;for(let o=0;o<5;o++){const p=4-o,l=ga[o],y=ba[o],w=Ht[o],g=Ot[o],C=pa[o],b=ya[o];for(let x=0;x<16;x++){const I=j(n+vt(o,s,d,i)+V[w[x]]+l,C[x])+m|0;n=m,m=i,i=j(d,10)|0,d=s,s=I}for(let x=0;x<16;x++){const I=j(r+vt(p,u,c,f)+V[g[x]]+y,b[x])+h|0;r=h,h=f,f=j(c,10)|0,c=u,u=I}}this.set(this.h1+d+f|0,this.h2+i+h|0,this.h3+m+r|0,this.h4+n+u|0,this.h0+s+c|0)}roundClean(){wt(V)}destroy(){this.destroyed=!0,wt(this.buffer),this.set(0,0,0,0,0)}}const xa=He(()=>new wa),Ea=xa;function Jn(t,e){const a=e||"hex",n=Ea(E(t,{strict:!1})?U(t):t);return a==="bytes"?n:Nt(n)}const st=new Map;async function Ia(t){const{getSocket:e,keepAlive:a=!0,key:n="socket",reconnect:r=!0,url:s}=t,{interval:u=3e4}=typeof a=="object"?a:{},{attempts:d=5,delay:c=2e3}=typeof r=="object"?r:{},i=JSON.stringify({keepAlive:a,key:n,url:s,reconnect:r});let f=st.get(i);if(f)return f;let m=0;const{schedule:h}=ie({id:i,fn:async()=>{const l=new Map,y=new Map;let w,g,C,b=!1;function x(){if(r&&m<d){if(b)return;b=!0,m++,g==null||g.close(),setTimeout(async()=>{await I().catch(console.error),b=!1},c)}else l.clear(),y.clear()}async function I(){const T=await e({onClose(){var v,P;for(const S of l.values())(v=S.onError)==null||v.call(S,new Z({url:s}));for(const S of y.values())(P=S.onError)==null||P.call(S,new Z({url:s}));x()},onError(v){var P,S;w=v;for(const _ of l.values())(P=_.onError)==null||P.call(_,w);for(const _ of y.values())(S=_.onError)==null||S.call(_,w);x()},onOpen(){w=void 0,m=0},onResponse(v){const P=v.method==="eth_subscription",S=P?v.params.subscription:v.id,_=P?y:l,q=_.get(S);q&&q.onResponse(v),P||_.delete(S)}});if(g=T,a&&(C&&clearInterval(C),C=setInterval(()=>{var v;return(v=g.ping)==null?void 0:v.call(g)},u)),r&&y.size>0){const v=y.entries();for(const[P,{onResponse:S,body:_,onError:q}]of v)_&&(y.delete(P),f==null||f.request({body:_,onResponse:S,onError:q}))}return T}return await I(),w=void 0,f={close(){C&&clearInterval(C),g.close(),st.delete(i)},get socket(){return g},request({body:T,onError:v,onResponse:P}){w&&v&&v(w);const S=T.id??ce.take(),_=q=>{var z;typeof q.id=="number"&&S!==q.id||(T.method==="eth_subscribe"&&typeof q.result=="string"&&y.set(q.result,{onResponse:_,onError:v,body:T}),T.method==="eth_unsubscribe"&&y.delete((z=T.params)==null?void 0:z[0]),P(q))};l.set(S,{onResponse:_,onError:v});try{g.request({body:{jsonrpc:"2.0",id:S,...T}})}catch(q){v==null||v(q)}},requestAsync({body:T,timeout:v=1e4}){return Oe(()=>new Promise((P,S)=>this.request({body:T,onError:S,onResponse:P})),{errorInstance:new aa({body:T,url:s}),timeout:v})},requests:l,subscriptions:y,url:s},st.set(i,f),[f]}}),[o,[p]]=await h();return p}async function K(t,e={}){const{keepAlive:a,reconnect:n}=e;return Ia({async getSocket({onClose:r,onError:s,onOpen:u,onResponse:d}){const c=await oa(()=>import("./native-CjSUDNml.js"),__vite__mapDeps([0,1,2])).then(o=>o.WebSocket),i=new c(t);function f(){i.removeEventListener("close",f),i.removeEventListener("message",m),i.removeEventListener("error",s),i.removeEventListener("open",u),r()}function m({data:o}){if(!(typeof o=="string"&&o.trim().length===0))try{const p=JSON.parse(o);d(p)}catch(p){s(p)}}i.addEventListener("close",f),i.addEventListener("message",m),i.addEventListener("error",s),i.addEventListener("open",u),i.readyState===c.CONNECTING&&await new Promise((o,p)=>{i&&(i.onopen=o,i.onerror=p)});const{close:h}=i;return Object.assign(i,{close(){h.bind(i)(),f()},ping(){try{if(i.readyState===i.CLOSED||i.readyState===i.CLOSING)throw new It({url:i.url,cause:new Z({url:i.url})});const o={jsonrpc:"2.0",id:null,method:"net_version",params:[]};i.send(JSON.stringify(o))}catch(o){s(o)}},request({body:o}){if(i.readyState===i.CLOSED||i.readyState===i.CLOSING)throw new It({body:o,url:i.url,cause:new Z({url:i.url})});return i.send(JSON.stringify(o))}})},keepAlive:a,reconnect:n,url:t})}async function Ta(t){const e=await K(t);return Object.assign(e.socket,{requests:e.requests,subscriptions:e.subscriptions})}function Ca(t){return Lt(t,-32)===ue}function va(t){return de(t)}function Kn(t){if(!Ca(t))return{signature:t};const[e,a,n]=Mt([{type:"address"},{type:"bytes"},{type:"bytes"}],t);return{address:e,data:a,signature:n}}function Yn(t){if(!va(t))return{signature:t};const{authorization:e,to:a,...n}=le(t);return{authorization:{address:e.address,chainId:e.chainId,nonce:Number(e.nonce),r:R(e.r,{size:32}),s:R(e.s,{size:32}),yParity:e.yParity},...a?{address:a}:{},...n}}async function Sa({message:t,signature:e}){return Q({hash:me(t),signature:e})}async function Aa(t){const{domain:e,message:a,primaryType:n,signature:r,types:s}=t;return Q({hash:je({domain:e,message:a,primaryType:n,types:s}),signature:r})}function Zn(t){const{address:e,data:a,signature:n,to:r="hex"}=t,s=fe({authorization:{address:t.authorization.address,chainId:t.authorization.chainId,nonce:BigInt(t.authorization.nonce),r:BigInt(t.authorization.r),s:BigInt(t.authorization.s),yParity:t.authorization.yParity},data:a,signature:n,to:e});return r==="hex"?s:H(s)}async function Qn({address:t,hash:e,signature:a}){return ft(B(t),await Q({hash:e,signature:a}))}async function Xn({address:t,message:e,signature:a}){return ft(B(t),await Sa({message:e,signature:a}))}async function tr(t){const{address:e,domain:a,message:n,primaryType:r,signature:s,types:u}=t;return ft(B(e),await Aa({domain:a,message:n,primaryType:r,signature:s,types:u}))}function Pa(t){const e=Lt(t,0,1);if(e==="0x04")return"eip7702";if(e==="0x03")return"eip4844";if(e==="0x02")return"eip1559";if(e==="0x01")return"eip2930";if(e!=="0x"&&F(e)>=192)return"legacy";throw new he({serializedType:e})}function _a(t){const e=Pa(t);return e==="eip1559"?Fa(t):e==="eip2930"?ka(t):e==="eip4844"?qa(t):e==="eip7702"?Ra(t):Ba(t)}function Ra(t){const e=X(t),[a,n,r,s,u,d,c,i,f,m,h,o,p]=e;if(e.length!==10&&e.length!==13)throw new $({attributes:{chainId:a,nonce:n,maxPriorityFeePerGas:r,maxFeePerGas:s,gas:u,to:d,value:c,data:i,accessList:f,authorizationList:m,...e.length>9?{v:h,r:o,s:p}:{}},serializedTransaction:t,type:"eip7702"});const l={chainId:F(a),type:"eip7702"};return E(d)&&d!=="0x"&&(l.to=d),E(u)&&u!=="0x"&&(l.gas=A(u)),E(i)&&i!=="0x"&&(l.data=i),E(n)&&(l.nonce=n==="0x"?0:F(n)),E(c)&&c!=="0x"&&(l.value=A(c)),E(s)&&s!=="0x"&&(l.maxFeePerGas=A(s)),E(r)&&r!=="0x"&&(l.maxPriorityFeePerGas=A(r)),f.length!==0&&f!=="0x"&&(l.accessList=tt(f)),m.length!==0&&m!=="0x"&&(l.authorizationList=Ua(m)),we(l),{...e.length===13?O(e):void 0,...l}}function qa(t){const e=X(t),a=e.length===4,n=a?e[0]:e,r=a?e.slice(1):[],[s,u,d,c,i,f,m,h,o,p,l,y,w,g]=n,[C,b,x]=r;if(!(n.length===11||n.length===14))throw new $({attributes:{chainId:s,nonce:u,maxPriorityFeePerGas:d,maxFeePerGas:c,gas:i,to:f,value:m,data:h,accessList:o,...n.length>9?{v:y,r:w,s:g}:{}},serializedTransaction:t,type:"eip4844"});const I={blobVersionedHashes:l,chainId:F(s),to:f,type:"eip4844"};return E(i)&&i!=="0x"&&(I.gas=A(i)),E(h)&&h!=="0x"&&(I.data=h),E(u)&&(I.nonce=u==="0x"?0:F(u)),E(m)&&m!=="0x"&&(I.value=A(m)),E(p)&&p!=="0x"&&(I.maxFeePerBlobGas=A(p)),E(c)&&c!=="0x"&&(I.maxFeePerGas=A(c)),E(d)&&d!=="0x"&&(I.maxPriorityFeePerGas=A(d)),o.length!==0&&o!=="0x"&&(I.accessList=tt(o)),C&&b&&x&&(I.sidecars=ge({blobs:C,commitments:b,proofs:x})),be(I),{...n.length===14?O(n):void 0,...I}}function Fa(t){const e=X(t),[a,n,r,s,u,d,c,i,f,m,h,o]=e;if(!(e.length===9||e.length===12))throw new $({attributes:{chainId:a,nonce:n,maxPriorityFeePerGas:r,maxFeePerGas:s,gas:u,to:d,value:c,data:i,accessList:f,...e.length>9?{v:m,r:h,s:o}:{}},serializedTransaction:t,type:"eip1559"});const p={chainId:F(a),type:"eip1559"};return E(d)&&d!=="0x"&&(p.to=d),E(u)&&u!=="0x"&&(p.gas=A(u)),E(i)&&i!=="0x"&&(p.data=i),E(n)&&(p.nonce=n==="0x"?0:F(n)),E(c)&&c!=="0x"&&(p.value=A(c)),E(s)&&s!=="0x"&&(p.maxFeePerGas=A(s)),E(r)&&r!=="0x"&&(p.maxPriorityFeePerGas=A(r)),f.length!==0&&f!=="0x"&&(p.accessList=tt(f)),pe(p),{...e.length===12?O(e):void 0,...p}}function ka(t){const e=X(t),[a,n,r,s,u,d,c,i,f,m,h]=e;if(!(e.length===8||e.length===11))throw new $({attributes:{chainId:a,nonce:n,gasPrice:r,gas:s,to:u,value:d,data:c,accessList:i,...e.length>8?{v:f,r:m,s:h}:{}},serializedTransaction:t,type:"eip2930"});const o={chainId:F(a),type:"eip2930"};return E(u)&&u!=="0x"&&(o.to=u),E(s)&&s!=="0x"&&(o.gas=A(s)),E(c)&&c!=="0x"&&(o.data=c),E(n)&&(o.nonce=n==="0x"?0:F(n)),E(d)&&d!=="0x"&&(o.value=A(d)),E(r)&&r!=="0x"&&(o.gasPrice=A(r)),i.length!==0&&i!=="0x"&&(o.accessList=tt(i)),ye(o),{...e.length===11?O(e):void 0,...o}}function Ba(t){const e=Dt(t,"hex"),[a,n,r,s,u,d,c,i,f]=e;if(!(e.length===6||e.length===9))throw new $({attributes:{nonce:a,gasPrice:n,gas:r,to:s,value:u,data:d,...e.length>6?{v:c,r:i,s:f}:{}},serializedTransaction:t,type:"legacy"});const m={type:"legacy"};if(E(s)&&s!=="0x"&&(m.to=s),E(r)&&r!=="0x"&&(m.gas=A(r)),E(d)&&d!=="0x"&&(m.data=d),E(a)&&(m.nonce=a==="0x"?0:F(a)),E(u)&&u!=="0x"&&(m.value=A(u)),E(n)&&n!=="0x"&&(m.gasPrice=A(n)),xe(m),e.length===6)return m;const h=E(c)&&c!=="0x"?A(c):0n;if(f==="0x"&&i==="0x")return h>0&&(m.chainId=Number(h)),m;const o=h,p=Number((o-35n)/2n);if(p>0)m.chainId=p;else if(o!==27n&&o!==28n)throw new Ee({v:o});return m.v=o,m.s=f,m.r=i,m.yParity=o%2n===0n?1:0,m}function X(t){return Dt(`0x${t.slice(4)}`,"hex")}function tt(t){const e=[];for(let a=0;a<t.length;a++){const[n,r]=t[a];if(!We(n,{strict:!1}))throw new Ve({address:n});e.push({address:n,storageKeys:r.map(s=>ma(s)?s:Je(s))})}return e}function Ua(t){const e=[];for(let a=0;a<t.length;a++){const[n,r,s,u,d,c]=t[a];e.push({address:r,chainId:n==="0x"?0:F(n),nonce:s==="0x"?0:F(s),...O([u,d,c])})}return e}function O(t){const e=t.slice(-3),a=e[0]==="0x"||A(e[0])===0n?27n:28n;return{r:xt(e[1],{size:32}),s:xt(e[2],{size:32}),v:a,yParity:a===27n?0:1}}class Na extends mt{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function Wt(t,e){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(t))throw new Na({value:t});let[a,n="0"]=t.split(".");const r=a.startsWith("-");if(r&&(a=a.slice(1)),n=n.replace(/(0+)$/,""),e===0)Math.round(+`.${n}`)===1&&(a=`${BigInt(a)+1n}`),n="";else if(n.length>e){const[s,u,d]=[n.slice(0,e-1),n.slice(e-1,e),n.slice(e)],c=Math.round(+`${u}.${d}`);c>9?n=`${BigInt(s)+BigInt(1)}0`.padStart(s.length+1,"0"):n=`${s}${c}`,n.length>e&&(n=n.slice(1),a=`${BigInt(a)+1n}`),n=n.slice(0,e)}else n=n.padEnd(e,"0");return BigInt(`${r?"-":""}${a}${n}`)}function er(t,e="wei"){return Wt(t,Ie[e])}function ar(t,e="wei"){return Wt(t,Te[e])}async function La(t,{hash:e}){await t.request({method:`${t.mode}_dropTransaction`,params:[e]})}async function Ma(t){return t.request({method:`${t.mode}_dumpState`})}async function Da(t){return t.mode==="ganache"?await t.request({method:"eth_mining"}):await t.request({method:`${t.mode}_getAutomine`})}async function za(t){return await t.request({method:"txpool_content"})}async function Ga(t){const{pending:e,queued:a}=await t.request({method:"txpool_status"});return{pending:F(e),queued:F(a)}}async function $a(t,{address:e}){await t.request({method:`${t.mode}_impersonateAccount`,params:[e]})}async function Ha(t,{seconds:e}){return await t.request({method:"evm_increaseTime",params:[R(e)]})}async function Oa(t){return await t.request({method:"txpool_inspect"})}async function ja(t,{state:e}){await t.request({method:`${t.mode}_loadState`,params:[e]})}async function Wa(t,{blocks:e,interval:a}){t.mode==="ganache"?await t.request({method:"evm_mine",params:[{blocks:R(e)}]}):await t.request({method:`${t.mode}_mine`,params:[R(e),R(a||0)]})}async function Va(t){await t.request({method:`${t.mode}_removeBlockTimestampInterval`})}async function Ja(t,{blockNumber:e,jsonRpcUrl:a}={}){await t.request({method:`${t.mode}_reset`,params:[{forking:{blockNumber:Number(e),jsonRpcUrl:a}}]})}async function Ka(t,{id:e}){await t.request({method:"evm_revert",params:[e]})}async function Ya(t,e){var w,g,C;const{accessList:a,data:n,from:r,gas:s,gasPrice:u,maxFeePerGas:d,maxPriorityFeePerGas:c,nonce:i,to:f,value:m,...h}=e,o=(C=(g=(w=t.chain)==null?void 0:w.formatters)==null?void 0:g.transactionRequest)==null?void 0:C.format,l=(o||ht)({...St(h,{format:o}),accessList:a,data:n,from:r,gas:s,gasPrice:u,maxFeePerGas:d,maxPriorityFeePerGas:c,nonce:i,to:f,value:m},"sendUnsignedTransaction");return await t.request({method:"eth_sendUnsignedTransaction",params:[l]})}async function Za(t,e){t.mode==="ganache"?e?await t.request({method:"miner_start"}):await t.request({method:"miner_stop"}):await t.request({method:"evm_setAutomine",params:[e]})}async function Qa(t,{address:e,value:a}){t.mode==="ganache"?await t.request({method:"evm_setAccountBalance",params:[e,R(a)]}):await t.request({method:`${t.mode}_setBalance`,params:[e,R(a)]})}async function Xa(t,{gasLimit:e}){await t.request({method:"evm_setBlockGasLimit",params:[R(e)]})}async function tn(t,{interval:e}){const a=t.mode==="hardhat"?e*1e3:e;await t.request({method:`${t.mode}_setBlockTimestampInterval`,params:[a]})}async function en(t,{address:e,bytecode:a}){t.mode==="ganache"?await t.request({method:"evm_setAccountCode",params:[e,a]}):await t.request({method:`${t.mode}_setCode`,params:[e,a]})}async function an(t,{address:e}){await t.request({method:`${t.mode}_setCoinbase`,params:[e]})}async function nn(t,{interval:e}){const a=t.mode==="hardhat"?e*1e3:e;await t.request({method:"evm_setIntervalMining",params:[a]})}async function rn(t,e){await t.request({method:`${t.mode}_setLoggingEnabled`,params:[e]})}async function sn(t,{gasPrice:e}){await t.request({method:`${t.mode}_setMinGasPrice`,params:[R(e)]})}async function on(t,{baseFeePerGas:e}){await t.request({method:`${t.mode}_setNextBlockBaseFeePerGas`,params:[R(e)]})}async function cn(t,{timestamp:e}){await t.request({method:"evm_setNextBlockTimestamp",params:[R(e)]})}async function un(t,{address:e,nonce:a}){await t.request({method:`${t.mode}_setNonce`,params:[e,R(a)]})}async function dn(t,e){await t.request({method:`${t.mode}_setRpcUrl`,params:[e]})}async function ln(t,{address:e,index:a,value:n}){await t.request({method:`${t.mode}_setStorageAt`,params:[e,typeof a=="number"?R(a):a,n]})}async function mn(t){return await t.request({method:"evm_snapshot"})}async function fn(t,{address:e}){await t.request({method:`${t.mode}_stopImpersonatingAccount`,params:[e]})}function hn({mode:t}){return e=>{const a=e.extend(()=>({mode:t}));return{dropTransaction:n=>La(a,n),dumpState:()=>Ma(a),getAutomine:()=>Da(a),getTxpoolContent:()=>za(a),getTxpoolStatus:()=>Ga(a),impersonateAccount:n=>$a(a,n),increaseTime:n=>Ha(a,n),inspectTxpool:()=>Oa(a),loadState:n=>ja(a,n),mine:n=>Wa(a,n),removeBlockTimestampInterval:()=>Va(a),reset:n=>Ja(a,n),revert:n=>Ka(a,n),sendUnsignedTransaction:n=>Ya(a,n),setAutomine:n=>Za(a,n),setBalance:n=>Qa(a,n),setBlockGasLimit:n=>Xa(a,n),setBlockTimestampInterval:n=>tn(a,n),setCode:n=>en(a,n),setCoinbase:n=>an(a,n),setIntervalMining:n=>nn(a,n),setLoggingEnabled:n=>rn(a,n),setMinGasPrice:n=>sn(a,n),setNextBlockBaseFeePerGas:n=>on(a,n),setNextBlockTimestamp:n=>cn(a,n),setNonce:n=>un(a,n),setRpcUrl:n=>dn(a,n),setStorageAt:n=>ln(a,n),snapshot:()=>mn(a),stopImpersonatingAccount:n=>fn(a,n)}}}function nr(t){const{key:e="test",name:a="Test Client",mode:n}=t;return At({...t,key:e,name:a,type:"testClient"}).extend(s=>({mode:n,...hn({mode:n})(s)}))}async function pn(t,{chain:e}){const{id:a,name:n,nativeCurrency:r,rpcUrls:s,blockExplorers:u}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:R(a),chainName:n,nativeCurrency:r,rpcUrls:s.default.http,blockExplorerUrls:u?Object.values(u).map(({url:d})=>d):void 0}]},{dedupe:!0,retryCount:0})}function yn(t,e){const{abi:a,args:n,bytecode:r,...s}=e,u=Ce({abi:a,args:n,bytecode:r});return ut(t,{...s,...s.authorizationList?{to:null}:{},data:u})}async function gn(t){var a;return((a=t.account)==null?void 0:a.type)==="local"?[t.account.address]:(await t.request({method:"eth_accounts"},{dedupe:!0})).map(n=>Ke(n))}async function bn(t,e={}){const{account:a=t.account,chainId:n}=e,r=a?N(a):void 0,s=n?[r==null?void 0:r.address,[R(n)]]:[r==null?void 0:r.address],u=await t.request({method:"wallet_getCapabilities",params:s}),d={};for(const[c,i]of Object.entries(u)){d[Number(c)]={};for(let[f,m]of Object.entries(i))f==="addSubAccount"&&(f="unstable_addSubAccount"),d[Number(c)][f]=m}return typeof n=="number"?d[n]:d}async function wn(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}async function xn(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(a=>B(a))}async function En(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function In(t,e){const{chain:a=t.chain}=e,n=e.timeout??Math.max(((a==null?void 0:a.blockTime)??0)*3,5e3),r=await Pt(t,e);return await _t(t,{...e,id:r.id,timeout:n})}const ot=new Ye(128);async function Vt(t,e){var x,I,T,v;const{account:a=t.account,chain:n=t.chain,accessList:r,authorizationList:s,blobs:u,data:d,gas:c,gasPrice:i,maxFeePerBlobGas:f,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:o,pollingInterval:p,throwOnReceiptRevert:l,type:y,value:w,...g}=e,C=e.timeout??Math.max(((n==null?void 0:n.blockTime)??0)*3,5e3);if(typeof a>"u")throw new D({docsPath:"/docs/actions/wallet/sendTransactionSync"});const b=a?N(a):null;try{Rt(e);const P=await(async()=>{if(e.to)return e.to;if(e.to!==null&&s&&s.length>0)return await ve({authorization:s[0]}).catch(()=>{throw new mt("`to` is required. Could not infer from `authorizationList`.")})})();if((b==null?void 0:b.type)==="json-rpc"||b===null){let S;n!==null&&(S=await k(t,dt,"getChainId")({}),qt({currentChainId:S,chain:n}));const _=(T=(I=(x=t.chain)==null?void 0:x.formatters)==null?void 0:I.transactionRequest)==null?void 0:T.format,z=(_||ht)({...St(g,{format:_}),accessList:r,account:b,authorizationList:s,blobs:u,chainId:S,data:d,gas:c,gasPrice:i,maxFeePerBlobGas:f,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:o,to:P,type:y,value:w},"sendTransaction"),pt=ot.get(t.uid),Jt=pt?"wallet_sendTransaction":"eth_sendTransaction",Kt=await(async()=>{try{return await t.request({method:Jt,params:[z]},{retryCount:0})}catch(yt){if(pt===!1)throw yt;const L=yt;if(L.name==="InvalidInputRpcError"||L.name==="InvalidParamsRpcError"||L.name==="MethodNotFoundRpcError"||L.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[z]},{retryCount:0}).then(at=>(ot.set(t.uid,!0),at)).catch(at=>{const nt=at;throw nt.name==="MethodNotFoundRpcError"||nt.name==="MethodNotSupportedRpcError"?(ot.set(t.uid,!1),L):nt});throw L}})(),et=await k(t,Se,"waitForTransactionReceipt")({checkReplacement:!1,hash:Kt,pollingInterval:p,timeout:C});if(l&&et.status==="reverted")throw new Ae({receipt:et});return et}if((b==null?void 0:b.type)==="local"){const S=await k(t,Ft,"prepareTransactionRequest")({account:b,accessList:r,authorizationList:s,blobs:u,chain:n,data:d,gas:c,gasPrice:i,maxFeePerBlobGas:f,maxFeePerGas:m,maxPriorityFeePerGas:h,nonce:o,nonceManager:b.nonceManager,parameters:[...Pe,"sidecars"],type:y,value:w,...g,to:P}),_=(v=n==null?void 0:n.serializers)==null?void 0:v.transaction,q=await b.signTransaction(S,{serializer:_});return await k(t,kt,"sendRawTransactionSync")({serializedTransaction:q,throwOnReceiptRevert:l})}throw(b==null?void 0:b.type)==="smart"?new J({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new J({docsPath:"/docs/actions/wallet/sendTransactionSync",type:b==null?void 0:b.type})}catch(P){throw P instanceof J?P:_e(P,{...e,account:b,chain:e.chain||void 0})}}async function Tn(t,e){const{id:a}=e;await t.request({method:"wallet_showCallsStatus",params:[a]})}async function Cn(t,e){const{account:a=t.account}=e;if(!a)throw new D({docsPath:"/docs/eip7702/signAuthorization"});const n=N(a);if(!n.signAuthorization)throw new J({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const r=await Bt(t,e);return n.signAuthorization(r)}async function vn(t,{account:e=t.account,message:a}){if(!e)throw new D({docsPath:"/docs/actions/wallet/signMessage"});const n=N(e);if(n.signMessage)return n.signMessage({message:a});const r=typeof a=="string"?Ze(a):a.raw instanceof Uint8Array?Nt(a.raw):a.raw;return t.request({method:"personal_sign",params:[r,n.address]},{retryCount:0})}async function Sn(t,e){var i,f,m,h;const{account:a=t.account,chain:n=t.chain,...r}=e;if(!a)throw new D({docsPath:"/docs/actions/wallet/signTransaction"});const s=N(a);Rt({account:s,...e});const u=await k(t,dt,"getChainId")({});n!==null&&qt({currentChainId:u,chain:n});const d=(n==null?void 0:n.formatters)||((i=t.chain)==null?void 0:i.formatters),c=((f=d==null?void 0:d.transactionRequest)==null?void 0:f.format)||ht;return s.signTransaction?s.signTransaction({...r,chainId:u},{serializer:(h=(m=t.chain)==null?void 0:m.serializers)==null?void 0:h.transaction}):await t.request({method:"eth_signTransaction",params:[{...c({...r,account:s},"signTransaction"),chainId:R(u),from:s.address}]},{retryCount:0})}async function An(t,e){const{account:a=t.account,domain:n,message:r,primaryType:s}=e;if(!a)throw new D({docsPath:"/docs/actions/wallet/signTypedData"});const u=N(a),d={EIP712Domain:Qe({domain:n}),...e.types};if(Xe({domain:n,message:r,primaryType:s,types:d}),u.signTypedData)return u.signTypedData({domain:n,message:r,primaryType:s,types:d});const c=ta({domain:n,message:r,primaryType:s,types:d});return t.request({method:"eth_signTypedData_v4",params:[u.address,c]},{retryCount:0})}async function Pn(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:R(e)}]},{retryCount:0})}async function _n(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}async function Rn(t,e){return M.internal(t,Vt,"sendTransactionSync",e)}function qn(t){return{addChain:e=>pn(t,e),deployContract:e=>yn(t,e),getAddresses:()=>gn(t),getCallsStatus:e=>qe(t,e),getCapabilities:e=>bn(t,e),getChainId:()=>dt(t),getPermissions:()=>wn(t),prepareAuthorization:e=>Bt(t,e),prepareTransactionRequest:e=>Ft(t,e),requestAddresses:()=>xn(t),requestPermissions:e=>En(t,e),sendCalls:e=>Pt(t,e),sendCallsSync:e=>In(t,e),sendRawTransaction:e=>Re(t,e),sendRawTransactionSync:e=>kt(t,e),sendTransaction:e=>ut(t,e),sendTransactionSync:e=>Vt(t,e),showCallsStatus:e=>Tn(t,e),signAuthorization:e=>Cn(t,e),signMessage:e=>vn(t,e),signTransaction:e=>Sn(t,e),signTypedData:e=>An(t,e),switchChain:e=>Pn(t,e),waitForCallsStatus:e=>_t(t,e),watchAsset:e=>_n(t,e),writeContract:e=>M(t,e),writeContractSync:e=>Rn(t,e)}}function rr(t){const{key:e="wallet",name:a="Wallet Client",transport:n}=t;return At({...t,key:e,name:a,transport:n,type:"walletClient"}).extend(qn)}function sr(t,e={}){const{key:a="custom",methods:n,name:r="Custom Provider",retryDelay:s}=e;return({retryCount:u})=>lt({key:a,methods:n,name:r,request:t.request.bind(t),retryCount:e.retryCount??u,retryDelay:s,type:"custom"})}function or(t,e={}){const{key:a="fallback",name:n="Fallback",rank:r=!1,shouldThrow:s=Fn,retryCount:u,retryDelay:d}=e;return({chain:c,pollingInterval:i=4e3,timeout:f,...m})=>{let h=t,o=()=>{};const p=lt({key:a,name:n,async request({method:l,params:y}){let w;const g=async(C=0)=>{const b=h[C]({...m,chain:c,retryCount:0,timeout:f});try{const x=await b.request({method:l,params:y});return o({method:l,params:y,response:x,transport:b,status:"success"}),x}catch(x){if(o({error:x,method:l,params:y,transport:b,status:"error"}),s(x)||C===h.length-1||(w??(w=h.slice(C+1).some(I=>{const{include:T,exclude:v}=I({chain:c}).config.methods||{};return T?T.includes(l):v?!v.includes(l):!0})),!w))throw x;return g(C+1)}};return g()},retryCount:u,retryDelay:d,type:"fallback"},{onResponse:l=>o=l,transports:h.map(l=>l({chain:c,retryCount:0}))});if(r){const l=typeof r=="object"?r:{};kn({chain:c,interval:l.interval??i,onTransports:y=>h=y,ping:l.ping,sampleCount:l.sampleCount,timeout:l.timeout,transports:h,weights:l.weights})}return p}}function Fn(t){return!!("code"in t&&typeof t.code=="number"&&(t.code===na.code||t.code===ra.code||Fe.nodeMessage.test(t.message)||t.code===5e3))}function kn({chain:t,interval:e=4e3,onTransports:a,ping:n,sampleCount:r=10,timeout:s=1e3,transports:u,weights:d={}}){const{stability:c=.7,latency:i=.3}=d,f=[],m=async()=>{const h=await Promise.all(u.map(async l=>{const y=l({chain:t,retryCount:0,timeout:s}),w=Date.now();let g,C;try{await(n?n({transport:y}):y.request({method:"net_listening"})),C=1}catch{C=0}finally{g=Date.now()}return{latency:g-w,success:C}}));f.push(h),f.length>r&&f.shift();const o=Math.max(...f.map(l=>Math.max(...l.map(({latency:y})=>y)))),p=u.map((l,y)=>{const w=f.map(I=>I[y].latency),C=1-w.reduce((I,T)=>I+T,0)/w.length/o,b=f.map(I=>I[y].success),x=b.reduce((I,T)=>I+T,0)/b.length;return x===0?[0,y]:[i*C+c*x,y]}).sort((l,y)=>y[0]-l[0]);a(p.map(([,l])=>u[l])),await ke(e),m()};m()}function ir(t,e={}){const{keepAlive:a,key:n="webSocket",methods:r,name:s="WebSocket JSON-RPC",reconnect:u,retryDelay:d}=e;return({chain:c,retryCount:i,timeout:f})=>{var l;const m=e.retryCount??i,h=f??e.timeout??1e4,o=t||((l=c==null?void 0:c.rpcUrls.default.webSocket)==null?void 0:l[0]),p={keepAlive:a,reconnect:u};if(!o)throw new Be;return lt({key:n,methods:r,name:s,async request({method:y,params:w}){const g={method:y,params:w},C=await K(o,p),{error:b,result:x}=await C.requestAsync({body:g,timeout:h});if(b)throw new sa({body:g,error:b,url:o});return x},retryCount:m,retryDelay:d,timeout:h,type:"webSocket"},{getSocket(){return Ta(o)},getRpcClient(){return K(o,p)},async subscribe({params:y,onData:w,onError:g}){const C=await K(o,p),{result:b}=await new Promise((x,I)=>C.request({body:{method:"eth_subscribe",params:y},onError(T){I(T),g==null||g(T)},onResponse(T){if(T.error){I(T.error),g==null||g(T.error);return}if(typeof T.id=="number"){x(T);return}T.method==="eth_subscription"&&w(T.params)}}));return{subscriptionId:b,async unsubscribe(){return new Promise(x=>C.request({body:{method:"eth_unsubscribe",params:[b]},onResponse:x}))}}}})}}class cr extends Error{constructor(e,a){super(a),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=a}}const it="/docs/contract/decodeDeployData";function ur(t){const{abi:e,bytecode:a,data:n}=t;if(n===a)return{bytecode:a};const r=e.find(u=>"type"in u&&u.type==="constructor");if(!r)throw new ea({docsPath:it});if(!("inputs"in r))throw new Et({docsPath:it});if(!r.inputs||r.inputs.length===0)throw new Et({docsPath:it});return{args:Mt(r.inputs,`0x${n.replace(a,"")}`),bytecode:a}}function dr(t){const e=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),a=typeof t.blobs[0]=="string"?t.blobs.map(d=>H(d)):t.blobs,n=a.reduce((d,c)=>d+c.length,0),r=ct(new Uint8Array(n));let s=!0;for(const d of a){const c=ct(d);for(;s&&c.position<d.length;){c.incrementPosition(1);let i=31;d.length-c.position<31&&(i=d.length-c.position);for(const f in Array.from({length:i})){const m=c.readByte();if(m===128&&!c.inspectBytes(c.remaining).includes(128)){s=!1;break}r.pushByte(m)}}}const u=r.bytes.slice(0,r.position);return e==="hex"?G(u):u}function lr(t){const{sidecars:e,version:a}=t,n=t.to??(typeof e[0].blob=="string"?"hex":"bytes"),r=[];for(const{commitment:s}of e)r.push(Ue({commitment:s,to:n,version:a}));return r}const Bn=2147483648;function mr(t){if(t===1)return 60n;if(t>=Bn||t<0)throw new Ne({chainId:t});return BigInt((2147483648|t)>>>0)}function Un({blobToKzgCommitment:t,computeBlobKzgProof:e}){return{blobToKzgCommitment:t,computeBlobKzgProof:e}}function fr(t,e){try{t.loadTrustedSetup(e)}catch(a){const n=a;if(!n.message.includes("trusted setup is already loaded"))throw n}return Un(t)}function hr({r:t,yParityAndS:e}){const a=H(e),n=a[0]&128?1:0,r=a;return n===1&&(r[0]&=127),{r:t,s:G(r),yParity:n}}function pr(t){const{r:e,s:a}=Ut.Signature.fromCompact(t.slice(2,130));return{r:R(e,{size:32}),yParityAndS:R(a,{size:32})}}async function yr(t){const{serializedTransaction:e,signature:a}=t,n=_a(e),r=a??{r:n.r,s:n.s,v:n.v,yParity:n.yParity},s=Le({...n,r:void 0,s:void 0,v:void 0,yParity:void 0,sidecars:void 0});return await Q({hash:Y(s),signature:r})}function gr({r:t,yParityAndS:e}){return`0x${new Ut.Signature(A(t),A(e)).toCompactHex()}`}function br(t){const{r:e,s:a,v:n,yParity:r}=t,s=Number(r??n-27n);let u=a;if(s===1){const d=H(a);d[0]|=128,u=G(d)}return{r:e,yParityAndS:u}}export{ea as AbiConstructorNotFoundError,Et as AbiConstructorParamsNotFoundError,Eo as AbiDecodingDataSizeInvalidError,Io as AbiDecodingDataSizeTooSmallError,To as AbiDecodingZeroDataError,Co as AbiEncodingArrayLengthMismatchError,vo as AbiEncodingBytesSizeMismatchError,So as AbiEncodingLengthMismatchError,Ao as AbiErrorInputsNotFoundError,Po as AbiErrorNotFoundError,_o as AbiErrorSignatureNotFoundError,Ro as AbiEventNotFoundError,qo as AbiEventSignatureEmptyTopicsError,Fo as AbiEventSignatureNotFoundError,ko as AbiFunctionNotFoundError,Bo as AbiFunctionOutputsNotFoundError,Uo as AbiFunctionSignatureNotFoundError,Er as AccountStateConflictError,Yi as AtomicReadyWalletRejectedUpgradeError,Zi as AtomicityNotSupportedError,mt as BaseError,Ir as BaseFeeScalarError,Tr as BlockNotFoundError,Cr as BundleFailedError,Qi as BundleTooLargeError,No as BytesSizeMismatchError,vr as CallExecutionError,Xi as ChainDisconnectedError,Sr as ChainDoesNotSupportContract,Ar as ChainMismatchError,Pr as ChainNotFoundError,_r as CircularReferenceError,Rr as ClientChainNotConfiguredError,qr as ContractFunctionExecutionError,Fr as ContractFunctionRevertedError,kr as ContractFunctionZeroDataError,Br as CounterfactualDeploymentFailedError,Lo as DecodeLogDataMismatch,Mo as DecodeLogTopicsMismatch,tc as DuplicateIdError,cr as EIP1193ProviderRpcError,Ur as Eip1559FeesNotSupportedError,Nr as EnsAvatarInvalidNftUriError,Lr as EnsAvatarUnsupportedNamespaceError,Mr as EnsAvatarUriResolutionError,Ne as EnsInvalidChainIdError,Dr as EstimateGasExecutionError,Fe as ExecutionRevertedError,zr as FeeCapTooHighError,Gr as FeeCapTooLowError,$r as FeeConflictError,Do as FilterTypeNotSupportedError,ec as HttpRequestError,Hr as InsufficientFundsError,zo as IntegerOutOfRangeError,ac as InternalRpcError,Or as IntrinsicGasTooHighError,jr as IntrinsicGasTooLowError,Go as InvalidAbiDecodingTypeError,$o as InvalidAbiEncodingTypeError,Wr as InvalidAbiItemError,Qt as InvalidAbiParameterError,Vr as InvalidAbiParametersError,Jr as InvalidAbiTypeParameterError,Ve as InvalidAddressError,Ho as InvalidArrayError,Oo as InvalidBytesBooleanError,Kr as InvalidChainIdError,Na as InvalidDecimalNumberError,jo as InvalidDefinitionTypeError,Wo as InvalidDomainError,Yr as InvalidFunctionModifierError,Vo as InvalidHexBooleanError,Ge as InvalidHexValueError,nc as InvalidInputRpcError,Ee as InvalidLegacyVError,Zr as InvalidModifierError,Qr as InvalidParameterError,rc as InvalidParamsRpcError,Xr as InvalidParenthesisError,Jo as InvalidPrimaryTypeError,sc as InvalidRequestRpcError,ts as InvalidSerializableTransactionError,$ as InvalidSerializedTransactionError,he as InvalidSerializedTransactionTypeError,es as InvalidSignatureError,as as InvalidStorageKeySizeError,ns as InvalidStructSignatureError,Ko as InvalidStructTypeError,oc as JsonRpcVersionUnsupportedError,ic as LimitExceededRpcError,rs as MaxFeePerGasTooLowError,cc as MethodNotFoundRpcError,uc as MethodNotSupportedRpcError,ss as NonceMaxValueError,os as NonceTooHighError,is as NonceTooLowError,dc as ParseRpcError,lc as ProviderDisconnectedError,mc as ProviderRpcError,cs as RawContractError,fc as ResourceNotFoundRpcError,hc as ResourceUnavailableRpcError,pc as RpcError,sa as RpcRequestError,Yo as SizeExceedsPaddingSizeError,Zo as SizeOverflowError,Qo as SliceOffsetOutOfBoundsError,Z as SocketClosedError,us as SolidityProtectedKeywordError,ds as StateAssignmentConflictError,yc as SwitchChainError,aa as TimeoutError,ls as TipAboveFeeCapError,ms as TransactionExecutionError,fs as TransactionNotFoundError,hs as TransactionReceiptNotFoundError,na as TransactionRejectedRpcError,ps as TransactionTypeNotSupportedError,gc as UnauthorizedProviderError,bc as UnknownBundleIdError,ys as UnknownNodeError,wc as UnknownRpcError,gs as UnknownSignatureError,bs as UnknownTypeError,xc as UnsupportedChainIdError,Ec as UnsupportedNonOptionalCapabilityError,Xo as UnsupportedPackedAbiType,Ic as UnsupportedProviderMethodError,Be as UrlRequiredError,ra as UserRejectedRequestError,ws as WaitForCallsStatusTimeoutError,xs as WaitForTransactionReceiptTimeoutError,It as WebSocketRequestError,qt as assertCurrentChain,Rt as assertRequest,pe as assertTransactionEIP1559,ye as assertTransactionEIP2930,xe as assertTransactionLegacy,Es as blobsToCommitments,Is as blobsToProofs,ti as boolToBytes,ei as boolToHex,ai as bytesToBigInt,ni as bytesToBool,G as bytesToHex,ri as bytesToNumber,Cc as bytesToRlp,si as bytesToString,yd as ccipFetch,gd as ccipRequest,Ke as checksumAddress,Ue as commitmentToVersionedHash,Ts as commitmentsToVersionedHashes,gr as compactSignatureToHex,hr as compactSignatureToSignature,ze as concat,oi as concatBytes,ii as concatHex,At as createClient,Cs as createNonceManager,vs as createPublicClient,nr as createTestClient,lt as createTransport,rr as createWalletClient,sr as custom,Mt as decodeAbiParameters,ur as decodeDeployData,ci as decodeErrorResult,ui as decodeEventLog,Ss as decodeFunctionData,As as decodeFunctionResult,di as defineBlock,li as defineChain,Un as defineKzg,mi as defineTransaction,fi as defineTransactionReceipt,hi as defineTransactionRequest,Ps as deploylessCallViaBytecodeBytecode,_s as deploylessCallViaFactoryBytecode,pi as domainSeparator,yi as encodeAbiParameters,Ce as encodeDeployData,Rs as encodeErrorResult,gi as encodeEventTopics,Xt as encodeFunctionData,qs as encodeFunctionResult,Fs as encodePacked,ks as erc1155Abi,Bs as erc20Abi,Us as erc20Abi_bytes32,Ns as erc4626Abi,Ls as erc6492SignatureValidatorAbi,Ms as erc6492SignatureValidatorByteCode,Ds as erc721Abi,zs as ethAddress,Ie as etherUnits,Vn as extractChain,or as fallback,bi as formatBlock,Gs as formatEther,$s as formatGwei,wi as formatLog,xi as formatTransaction,Ei as formatTransactionReceipt,ht as formatTransactionRequest,Hs as formatUnits,dr as fromBlobs,Ii as fromBytes,Ti as fromHex,Dt as fromRlp,Ci as getAbiItem,B as getAddress,Os as getChainContractAddress,jn as getContract,Wn as getContractAddress,te as getContractError,da as getCreate2Address,ua as getCreateAddress,vi as getEventSelector,Si as getEventSignature,Ai as getFunctionSelector,Pi as getFunctionSignature,Pa as getSerializedTransactionType,js as getTransactionType,Qe as getTypesForEIP712Domain,Te as gweiUnits,_i as hashDomain,me as hashMessage,Ri as hashStruct,je as hashTypedData,A as hexToBigInt,qi as hexToBool,H as hexToBytes,pr as hexToCompactSignature,F as hexToNumber,vc as hexToRlp,Ws as hexToSignature,Fi as hexToString,Vs as http,We as isAddress,ft as isAddressEqual,Tt as isBytes,Ca as isErc6492Signature,va as isErc8010Signature,ma as isHash,E as isHex,Y as keccak256,ki as labelhash,Sc as maxInt104,Ac as maxInt112,Pc as maxInt120,_c as maxInt128,Rc as maxInt136,qc as maxInt144,Fc as maxInt152,kc as maxInt16,Bc as maxInt160,Uc as maxInt168,Nc as maxInt176,Lc as maxInt184,Mc as maxInt192,Dc as maxInt200,zc as maxInt208,Gc as maxInt216,$c as maxInt224,Hc as maxInt232,Oc as maxInt24,jc as maxInt240,Wc as maxInt248,Vc as maxInt256,Jc as maxInt32,Kc as maxInt40,Yc as maxInt48,Zc as maxInt56,Qc as maxInt64,Xc as maxInt72,tu as maxInt8,eu as maxInt80,au as maxInt88,nu as maxInt96,ru as maxUint104,su as maxUint112,ou as maxUint120,iu as maxUint128,cu as maxUint136,uu as maxUint144,du as maxUint152,lu as maxUint16,mu as maxUint160,fu as maxUint168,hu as maxUint176,pu as maxUint184,yu as maxUint192,gu as maxUint200,bu as maxUint208,wu as maxUint216,xu as maxUint224,Eu as maxUint232,Iu as maxUint24,Tu as maxUint240,Cu as maxUint248,vu as maxUint256,Su as maxUint32,Au as maxUint40,Pu as maxUint48,_u as maxUint56,Ru as maxUint64,qu as maxUint72,Fu as maxUint8,ku as maxUint80,Bu as maxUint88,Uu as maxUint96,Nu as minInt104,Lu as minInt112,Mu as minInt120,Du as minInt128,zu as minInt136,Gu as minInt144,$u as minInt152,Hu as minInt16,Ou as minInt160,ju as minInt168,Wu as minInt176,Vu as minInt184,Ju as minInt192,Ku as minInt200,Yu as minInt208,Zu as minInt216,Qu as minInt224,Xu as minInt232,td as minInt24,ed as minInt240,ad as minInt248,nd as minInt256,rd as minInt32,sd as minInt40,od as minInt48,id as minInt56,cd as minInt64,ud as minInt72,dd as minInt8,ld as minInt80,md as minInt88,fd as minInt96,Js as multicall3Abi,Ks as namehash,Ys as nonceManager,Bi as numberToBytes,R as numberToHex,bd as offchainLookup,wd as offchainLookupAbiItem,xd as offchainLookupSignature,Me as pad,Ui as padBytes,xt as padHex,Zs as parseAbi,Qs as parseAbiItem,On as parseAbiParameter,Xs as parseAbiParameters,pr as parseCompactSignature,Kn as parseErc6492Signature,Yn as parseErc8010Signature,er as parseEther,Ni as parseEventLogs,ar as parseGwei,to as parseSignature,_a as parseTransaction,Wt as parseUnits,eo as prepareEncodeFunctionData,ao as presignMessagePrefix,no as publicActions,Q as recoverAddress,Sa as recoverMessageAddress,ro as recoverPublicKey,yr as recoverTransactionAddress,Aa as recoverTypedDataAddress,Jn as ripemd160,so as rpcSchema,Li as rpcTransactionType,oo as serializeAccessList,gr as serializeCompactSignature,io as serializeErc6492Signature,Zn as serializeErc8010Signature,co as serializeSignature,Le as serializeTransaction,ta as serializeTypedData,Mi as setErrorConfig,fr as setupKzg,hd as sha256,Fn as shouldThrow,lr as sidecarsToVersionedHashes,br as signatureToCompactSignature,uo as signatureToHex,$e as size,De as slice,Di as sliceBytes,Lt as sliceHex,zi as stringToBytes,Ze as stringToHex,Gi as stringify,hn as testActions,ge as toBlobSidecars,lo as toBlobs,U as toBytes,mr as toCoinType,$i as toEventHash,Hi as toEventSelector,Oi as toEventSignature,ji as toFunctionHash,Wi as toFunctionSelector,Vi as toFunctionSignature,Nt as toHex,mo as toPrefixedMessage,ia as toRlp,Ji as transactionType,Je as trim,fo as universalSignatureValidatorAbi,ho as universalSignatureValidatorByteCode,Xe as validateTypedData,Qn as verifyHash,Xn as verifyMessage,tr as verifyTypedData,qn as walletActions,ir as webSocket,po as weiUnits,yo as withCache,go as withRetry,Oe as withTimeout,bo as zeroAddress,wo as zeroHash};
|
package/assets/index-DKiQCady.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{B as H,i as rt,g as at,l as O}from"./index-Fv-acDXO.js";import{ap as ot,aq as ct,ar as dt}from"./signing-Db0bjZpz.js";import{B as J,_ as h,h as ce,y as lt}from"./hooks.module-MHgUT2ti.js";import{E as ht}from"./index-B2fn3xIB.js";import"./utils-mHMkg6Kp.js";const ut=(t,e)=>{let s;switch(t){case"standard":return s=e,`data:image/svg+xml,%3Csvg width='${e}' height='${s}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case"circle":return s=e,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${e}' height='${s}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case"text":return s=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${s}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogo":return s=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${s}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case"textLight":return s=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${s}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogoLight":return s=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${s}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;default:return s=e,`data:image/svg+xml,%3Csvg width='${e}' height='${s}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `}};class v{constructor(e,s){this.scope=e,this.module=s}storeObject(e,s){this.setItem(e,JSON.stringify(s))}loadObject(e){const s=this.getItem(e);return s?JSON.parse(s):void 0}setItem(e,s){localStorage.setItem(this.scopedKey(e),s)}getItem(e){return localStorage.getItem(this.scopedKey(e))}removeItem(e){localStorage.removeItem(this.scopedKey(e))}clear(){const e=this.scopedKey(""),s=[];for(let n=0;n<localStorage.length;n++){const i=localStorage.key(n);typeof i=="string"&&i.startsWith(e)&&s.push(i)}s.forEach(n=>localStorage.removeItem(n))}scopedKey(e){return`-${this.scope}${this.module?`:${this.module}`:""}:${e}`}static clearAll(){new v("CBWSDK").clear(),new v("walletlink").clear()}}const f={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901,unsupportedChain:4902}},Q={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}},Me="Unspecified error message.",pt="Unspecified server error.";function se(t,e=Me){if(t&&Number.isInteger(t)){const s=t.toString();if(X(Q,s))return Q[s].message;if(_e(t))return pt}return e}function ft(t){if(!Number.isInteger(t))return!1;const e=t.toString();return!!(Q[e]||_e(t))}function gt(t,{shouldIncludeStack:e=!1}={}){const s={};if(t&&typeof t=="object"&&!Array.isArray(t)&&X(t,"code")&&ft(t.code)){const n=t;s.code=n.code,n.message&&typeof n.message=="string"?(s.message=n.message,X(n,"data")&&(s.data=n.data)):(s.message=se(s.code),s.data={originalError:de(t)})}else s.code=f.rpc.internal,s.message=le(t,"message")?t.message:Me,s.data={originalError:de(t)};return e&&(s.stack=le(t,"stack")?t.stack:void 0),s}function _e(t){return t>=-32099&&t<=-32e3}function de(t){return t&&typeof t=="object"&&!Array.isArray(t)?Object.assign({},t):t}function X(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function le(t,e){return typeof t=="object"&&t!==null&&e in t&&typeof t[e]=="string"}const l={rpc:{parse:t=>b(f.rpc.parse,t),invalidRequest:t=>b(f.rpc.invalidRequest,t),invalidParams:t=>b(f.rpc.invalidParams,t),methodNotFound:t=>b(f.rpc.methodNotFound,t),internal:t=>b(f.rpc.internal,t),server:t=>{if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Ethereum RPC Server errors must provide single object argument.");const{code:e}=t;if(!Number.isInteger(e)||e>-32005||e<-32099)throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');return b(e,t)},invalidInput:t=>b(f.rpc.invalidInput,t),resourceNotFound:t=>b(f.rpc.resourceNotFound,t),resourceUnavailable:t=>b(f.rpc.resourceUnavailable,t),transactionRejected:t=>b(f.rpc.transactionRejected,t),methodNotSupported:t=>b(f.rpc.methodNotSupported,t),limitExceeded:t=>b(f.rpc.limitExceeded,t)},provider:{userRejectedRequest:t=>P(f.provider.userRejectedRequest,t),unauthorized:t=>P(f.provider.unauthorized,t),unsupportedMethod:t=>P(f.provider.unsupportedMethod,t),disconnected:t=>P(f.provider.disconnected,t),chainDisconnected:t=>P(f.provider.chainDisconnected,t),unsupportedChain:t=>P(f.provider.unsupportedChain,t),custom:t=>{if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Ethereum Provider custom errors must provide single object argument.");const{code:e,message:s,data:n}=t;if(!s||typeof s!="string")throw new Error('"message" must be a nonempty string');return new Le(e,s,n)}}};function b(t,e){const[s,n]=xe(e);return new Ae(t,s||se(t),n)}function P(t,e){const[s,n]=xe(e);return new Le(t,s||se(t),n)}function xe(t){if(t){if(typeof t=="string")return[t];if(typeof t=="object"&&!Array.isArray(t)){const{message:e,data:s}=t;if(e&&typeof e!="string")throw new Error("Must specify string message.");return[e||void 0,s]}}return[]}class Ae extends Error{constructor(e,s,n){if(!Number.isInteger(e))throw new Error('"code" must be an integer.');if(!s||typeof s!="string")throw new Error('"message" must be a nonempty string.');super(s),this.code=e,n!==void 0&&(this.data=n)}}class Le extends Ae{constructor(e,s,n){if(!mt(e))throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');super(e,s,n)}}function mt(t){return Number.isInteger(t)&&t>=1e3&&t<=4999}function ne(){return t=>t}const B=ne(),wt=ne(),bt=ne();function I(t){return Math.floor(t)}const Pe=/^[0-9]*$/,Re=/^[a-f0-9]*$/;function A(t){return ie(crypto.getRandomValues(new Uint8Array(t)))}function ie(t){return[...t].map(e=>e.toString(16).padStart(2,"0")).join("")}function K(t){return new Uint8Array(t.match(/.{1,2}/g).map(e=>Number.parseInt(e,16)))}function j(t,e=!1){const s=t.toString("hex");return B(e?`0x${s}`:s)}function Z(t){return j(ee(t),!0)}function k(t){return bt(t.toString(10))}function x(t){return B(`0x${BigInt(t).toString(16)}`)}function Ne(t){return t.startsWith("0x")||t.startsWith("0X")}function re(t){return Ne(t)?t.slice(2):t}function Te(t){return Ne(t)?`0x${t.slice(2)}`:`0x${t}`}function V(t){if(typeof t!="string")return!1;const e=re(t).toLowerCase();return Re.test(e)}function yt(t,e=!1){if(typeof t=="string"){const s=re(t).toLowerCase();if(Re.test(s))return B(e?`0x${s}`:s)}throw l.rpc.invalidParams(`"${String(t)}" is not a hexadecimal string`)}function ae(t,e=!1){let s=yt(t,!1);return s.length%2===1&&(s=B(`0${s}`)),e?B(`0x${s}`):s}function _(t){if(typeof t=="string"){const e=re(t).toLowerCase();if(V(e)&&e.length===40)return wt(Te(e))}throw l.rpc.invalidParams(`Invalid Ethereum address: ${String(t)}`)}function ee(t){if(H.isBuffer(t))return t;if(typeof t=="string"){if(V(t)){const e=ae(t,!1);return H.from(e,"hex")}return H.from(t,"utf8")}throw l.rpc.invalidParams(`Not binary data: ${String(t)}`)}function U(t){if(typeof t=="number"&&Number.isInteger(t))return I(t);if(typeof t=="string"){if(Pe.test(t))return I(Number(t));if(V(t))return I(Number(BigInt(ae(t,!0))))}throw l.rpc.invalidParams(`Not an integer: ${String(t)}`)}function D(t){if(t!==null&&(typeof t=="bigint"||kt(t)))return BigInt(t.toString(10));if(typeof t=="number")return BigInt(U(t));if(typeof t=="string"){if(Pe.test(t))return BigInt(t);if(V(t))return BigInt(ae(t,!0))}throw l.rpc.invalidParams(`Not an integer: ${String(t)}`)}function vt(t){if(typeof t=="string")return JSON.parse(t);if(typeof t=="object")return t;throw l.rpc.invalidParams(`Not a JSON string or an object: ${String(t)}`)}function kt(t){if(t==null||typeof t.constructor!="function")return!1;const{constructor:e}=t;return typeof e.config=="function"&&typeof e.EUCLID=="number"}function Et(){const t=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:e,host:s}=document.location,n=t?t.getAttribute("href"):null;return!n||n.startsWith("javascript:")||n.startsWith("vbscript:")?`${e}//${s}/favicon.ico`:n.startsWith("http://")||n.startsWith("https://")||n.startsWith("data:")?n:n.startsWith("//")?e+n:`${e}//${s}${n}`}async function Ct(){return crypto.subtle.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveKey"])}async function It(t,e){return crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function St(t,e){const s=crypto.getRandomValues(new Uint8Array(12)),n=await crypto.subtle.encrypt({name:"AES-GCM",iv:s},t,new TextEncoder().encode(e));return{iv:s,cipherText:n}}async function Mt(t,{iv:e,cipherText:s}){const n=await crypto.subtle.decrypt({name:"AES-GCM",iv:e},t,s);return new TextDecoder().decode(n)}function De(t){switch(t){case"public":return"spki";case"private":return"pkcs8"}}async function Oe(t,e){const s=De(t),n=await crypto.subtle.exportKey(s,e);return ie(new Uint8Array(n))}async function je(t,e){const s=De(t),n=K(e).buffer;return await crypto.subtle.importKey(s,new Uint8Array(n),{name:"ECDH",namedCurve:"P-256"},!0,t==="private"?["deriveKey"]:[])}async function _t(t,e){const s=JSON.stringify(t,(n,i)=>{if(!(i instanceof Error))return i;const r=i;return Object.assign(Object.assign({},r.code?{code:r.code}:{}),{message:r.message})});return St(e,s)}async function xt(t,e){return JSON.parse(await Mt(e,t))}const F={storageKey:"ownPrivateKey",keyType:"private"},$={storageKey:"ownPublicKey",keyType:"public"},G={storageKey:"peerPublicKey",keyType:"public"};class At{constructor(){this.storage=new v("CBWSDK","SCWKeyManager"),this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(e){this.sharedSecret=null,this.peerPublicKey=e,await this.storeKey(G,e),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,this.storage.removeItem($.storageKey),this.storage.removeItem(F.storageKey),this.storage.removeItem(G.storageKey)}async generateKeyPair(){const e=await Ct();this.ownPrivateKey=e.privateKey,this.ownPublicKey=e.publicKey,await this.storeKey(F,e.privateKey),await this.storeKey($,e.publicKey)}async loadKeysIfNeeded(){if(this.ownPrivateKey===null&&(this.ownPrivateKey=await this.loadKey(F)),this.ownPublicKey===null&&(this.ownPublicKey=await this.loadKey($)),(this.ownPrivateKey===null||this.ownPublicKey===null)&&await this.generateKeyPair(),this.peerPublicKey===null&&(this.peerPublicKey=await this.loadKey(G)),this.sharedSecret===null){if(this.ownPrivateKey===null||this.peerPublicKey===null)return;this.sharedSecret=await It(this.ownPrivateKey,this.peerPublicKey)}}async loadKey(e){const s=this.storage.getItem(e.storageKey);return s?je(e.keyType,s):null}async storeKey(e,s){const n=await Oe(e.keyType,s);this.storage.setItem(e.storageKey,n)}}const T="4.3.0",Ue="@coinbase/wallet-sdk";async function oe(t,e){const s=Object.assign(Object.assign({},t),{jsonrpc:"2.0",id:crypto.randomUUID()}),n=await window.fetch(e,{method:"POST",body:JSON.stringify(s),mode:"cors",headers:{"Content-Type":"application/json","X-Cbw-Sdk-Version":T,"X-Cbw-Sdk-Platform":Ue}}),{result:i,error:r}=await n.json();if(r)throw r;return i}function Lt(){return globalThis.coinbaseWalletExtension}function Pt(){var t,e;try{const s=globalThis;return(t=s.ethereum)!==null&&t!==void 0?t:(e=s.top)===null||e===void 0?void 0:e.ethereum}catch{return}}function We({metadata:t,preference:e}){var s,n;const{appName:i,appLogoUrl:r,appChainIds:a}=t;if(e.options!=="smartWalletOnly"){const c=Lt();if(c)return(s=c.setAppInfo)===null||s===void 0||s.call(c,i,r,a,e),c}const o=Pt();if(o!=null&&o.isCoinbaseBrowser)return(n=o.setAppInfo)===null||n===void 0||n.call(o,i,r,a,e),o}function Rt(t){if(!t||typeof t!="object"||Array.isArray(t))throw l.rpc.invalidParams({message:"Expected a single, non-array, object argument.",data:t});const{method:e,params:s}=t;if(typeof e!="string"||e.length===0)throw l.rpc.invalidParams({message:"'args.method' must be a non-empty string.",data:t});if(s!==void 0&&!Array.isArray(s)&&(typeof s!="object"||s===null))throw l.rpc.invalidParams({message:"'args.params' must be an object or array if provided.",data:t});switch(e){case"eth_sign":case"eth_signTypedData_v2":case"eth_subscribe":case"eth_unsubscribe":throw l.provider.unsupportedMethod()}}const he="accounts",ue="activeChain",pe="availableChains",fe="walletCapabilities";class Nt{constructor(e){var s,n,i;this.metadata=e.metadata,this.communicator=e.communicator,this.callback=e.callback,this.keyManager=new At,this.storage=new v("CBWSDK","SCWStateManager"),this.accounts=(s=this.storage.loadObject(he))!==null&&s!==void 0?s:[],this.chain=this.storage.loadObject(ue)||{id:(i=(n=e.metadata.appChainIds)===null||n===void 0?void 0:n[0])!==null&&i!==void 0?i:1},this.handshake=this.handshake.bind(this),this.request=this.request.bind(this),this.createRequestMessage=this.createRequestMessage.bind(this),this.decryptResponseMessage=this.decryptResponseMessage.bind(this)}async handshake(e){var s,n,i,r;await((n=(s=this.communicator).waitForPopupLoaded)===null||n===void 0?void 0:n.call(s));const a=await this.createRequestMessage({handshake:{method:e.method,params:Object.assign({},this.metadata,(i=e.params)!==null&&i!==void 0?i:{})}}),o=await this.communicator.postRequestAndWaitForResponse(a);if("failure"in o.content)throw o.content.failure;const c=await je("public",o.sender);await this.keyManager.setPeerPublicKey(c);const p=(await this.decryptResponseMessage(o)).result;if("error"in p)throw p.error;switch(e.method){case"eth_requestAccounts":{const u=p.value;this.accounts=u,this.storage.storeObject(he,u),(r=this.callback)===null||r===void 0||r.call(this,"accountsChanged",u);break}}}async request(e){var s;if(this.accounts.length===0)switch(e.method){case"wallet_sendCalls":return this.sendRequestToPopup(e);default:throw l.provider.unauthorized()}switch(e.method){case"eth_requestAccounts":return(s=this.callback)===null||s===void 0||s.call(this,"connect",{chainId:x(this.chain.id)}),this.accounts;case"eth_accounts":return this.accounts;case"eth_coinbase":return this.accounts[0];case"net_version":return this.chain.id;case"eth_chainId":return x(this.chain.id);case"wallet_getCapabilities":return this.storage.loadObject(fe);case"wallet_switchEthereumChain":return this.handleSwitchChainRequest(e);case"eth_ecRecover":case"personal_sign":case"wallet_sign":case"personal_ecRecover":case"eth_signTransaction":case"eth_sendTransaction":case"eth_signTypedData_v1":case"eth_signTypedData_v3":case"eth_signTypedData_v4":case"eth_signTypedData":case"wallet_addEthereumChain":case"wallet_watchAsset":case"wallet_sendCalls":case"wallet_showCallsStatus":case"wallet_grantPermissions":return this.sendRequestToPopup(e);default:if(!this.chain.rpcUrl)throw l.rpc.internal("No RPC URL set for chain");return oe(e,this.chain.rpcUrl)}}async sendRequestToPopup(e){var s,n;await((n=(s=this.communicator).waitForPopupLoaded)===null||n===void 0?void 0:n.call(s));const i=await this.sendEncryptedRequest(e),a=(await this.decryptResponseMessage(i)).result;if("error"in a)throw a.error;return a.value}async cleanup(){var e,s;this.storage.clear(),await this.keyManager.clear(),this.accounts=[],this.chain={id:(s=(e=this.metadata.appChainIds)===null||e===void 0?void 0:e[0])!==null&&s!==void 0?s:1}}async handleSwitchChainRequest(e){var s;const n=e.params;if(!n||!(!((s=n[0])===null||s===void 0)&&s.chainId))throw l.rpc.invalidParams();const i=U(n[0].chainId);if(this.updateChain(i))return null;const a=await this.sendRequestToPopup(e);return a===null&&this.updateChain(i),a}async sendEncryptedRequest(e){const s=await this.keyManager.getSharedSecret();if(!s)throw l.provider.unauthorized("No valid session found, try requestAccounts before other methods");const n=await _t({action:e,chainId:this.chain.id},s),i=await this.createRequestMessage({encrypted:n});return this.communicator.postRequestAndWaitForResponse(i)}async createRequestMessage(e){const s=await Oe("public",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),sender:s,content:e,timestamp:new Date}}async decryptResponseMessage(e){var s,n;const i=e.content;if("failure"in i)throw i.failure;const r=await this.keyManager.getSharedSecret();if(!r)throw l.provider.unauthorized("Invalid session");const a=await xt(i.encrypted,r),o=(s=a.data)===null||s===void 0?void 0:s.chains;if(o){const d=Object.entries(o).map(([p,u])=>({id:Number(p),rpcUrl:u}));this.storage.storeObject(pe,d),this.updateChain(this.chain.id,d)}const c=(n=a.data)===null||n===void 0?void 0:n.capabilities;return c&&this.storage.storeObject(fe,c),a}updateChain(e,s){var n;const i=s??this.storage.loadObject(pe),r=i==null?void 0:i.find(a=>a.id===e);return r?(r!==this.chain&&(this.chain=r,this.storage.storeObject(ue,r),(n=this.callback)===null||n===void 0||n.call(this,"chainChanged",x(r.id))),!0):!1}}const Tt=rt(ot),{keccak_256:Dt}=Tt;function Be(t){return Buffer.allocUnsafe(t).fill(0)}function Ot(t){return t.toString(2).length}function qe(t,e){let s=t.toString(16);s.length%2!==0&&(s="0"+s);const n=s.match(/.{1,2}/g).map(i=>parseInt(i,16));for(;n.length<e;)n.unshift(0);return Buffer.from(n)}function jt(t,e){const s=t<0n;let n;if(s){const i=(1n<<BigInt(e))-1n;n=(~t&i)+1n}else n=t;return n&=(1n<<BigInt(e))-1n,n}function He(t,e,s){const n=Be(e);return t=z(t),s?t.length<e?(t.copy(n),n):t.slice(0,e):t.length<e?(t.copy(n,e-t.length),n):t.slice(-e)}function Ut(t,e){return He(t,e,!0)}function z(t){if(!Buffer.isBuffer(t))if(Array.isArray(t))t=Buffer.from(t);else if(typeof t=="string")Ke(t)?t=Buffer.from(qt(Ve(t)),"hex"):t=Buffer.from(t);else if(typeof t=="number")t=intToBuffer(t);else if(t==null)t=Buffer.allocUnsafe(0);else if(typeof t=="bigint")t=qe(t);else if(t.toArray)t=Buffer.from(t.toArray());else throw new Error("invalid type");return t}function Wt(t){return t=z(t),"0x"+t.toString("hex")}function Bt(t,e){if(t=z(t),e||(e=256),e!==256)throw new Error("unsupported");return Buffer.from(Dt(new Uint8Array(t)))}function qt(t){return t.length%2?"0"+t:t}function Ke(t){return typeof t=="string"&&t.match(/^0x[0-9A-Fa-f]*$/)}function Ve(t){return typeof t=="string"&&t.startsWith("0x")?t.slice(2):t}var ze={zeros:Be,setLength:He,setLengthRight:Ut,isHexString:Ke,stripHexPrefix:Ve,toBuffer:z,bufferToHex:Wt,keccak:Bt,bitLengthFromBigInt:Ot,bufferBEFromBigInt:qe,twosFromBigInt:jt};const w=ze;function Ze(t){return t.startsWith("int[")?"int256"+t.slice(3):t==="int"?"int256":t.startsWith("uint[")?"uint256"+t.slice(4):t==="uint"?"uint256":t.startsWith("fixed[")?"fixed128x128"+t.slice(5):t==="fixed"?"fixed128x128":t.startsWith("ufixed[")?"ufixed128x128"+t.slice(6):t==="ufixed"?"ufixed128x128":t}function R(t){return Number.parseInt(/^\D+(\d+)$/.exec(t)[1],10)}function ge(t){var e=/^\D+(\d+)x(\d+)$/.exec(t);return[Number.parseInt(e[1],10),Number.parseInt(e[2],10)]}function Fe(t){var e=t.match(/(.*)\[(.*?)\]$/);return e?e[2]===""?"dynamic":Number.parseInt(e[2],10):null}function L(t){var e=typeof t;if(e==="string"||e==="number")return BigInt(t);if(e==="bigint")return t;throw new Error("Argument is not a number")}function E(t,e){var s,n,i,r;if(t==="address")return E("uint160",L(e));if(t==="bool")return E("uint8",e?1:0);if(t==="string")return E("bytes",new Buffer(e,"utf8"));if(Kt(t)){if(typeof e.length>"u")throw new Error("Not an array?");if(s=Fe(t),s!=="dynamic"&&s!==0&&e.length>s)throw new Error("Elements exceed array size: "+s);i=[],t=t.slice(0,t.lastIndexOf("[")),typeof e=="string"&&(e=JSON.parse(e));for(r in e)i.push(E(t,e[r]));if(s==="dynamic"){var a=E("uint256",e.length);i.unshift(a)}return Buffer.concat(i)}else{if(t==="bytes")return e=new Buffer(e),i=Buffer.concat([E("uint256",e.length),e]),e.length%32!==0&&(i=Buffer.concat([i,w.zeros(32-e.length%32)])),i;if(t.startsWith("bytes")){if(s=R(t),s<1||s>32)throw new Error("Invalid bytes<N> width: "+s);return w.setLengthRight(e,32)}else if(t.startsWith("uint")){if(s=R(t),s%8||s<8||s>256)throw new Error("Invalid uint<N> width: "+s);n=L(e);const o=w.bitLengthFromBigInt(n);if(o>s)throw new Error("Supplied uint exceeds width: "+s+" vs "+o);if(n<0)throw new Error("Supplied uint is negative");return w.bufferBEFromBigInt(n,32)}else if(t.startsWith("int")){if(s=R(t),s%8||s<8||s>256)throw new Error("Invalid int<N> width: "+s);n=L(e);const o=w.bitLengthFromBigInt(n);if(o>s)throw new Error("Supplied int exceeds width: "+s+" vs "+o);const c=w.twosFromBigInt(n,256);return w.bufferBEFromBigInt(c,32)}else if(t.startsWith("ufixed")){if(s=ge(t),n=L(e),n<0)throw new Error("Supplied ufixed is negative");return E("uint256",n*BigInt(2)**BigInt(s[1]))}else if(t.startsWith("fixed"))return s=ge(t),E("int256",L(e)*BigInt(2)**BigInt(s[1]))}throw new Error("Unsupported or invalid type: "+t)}function Ht(t){return t==="string"||t==="bytes"||Fe(t)==="dynamic"}function Kt(t){return t.lastIndexOf("]")===t.length-1}function Vt(t,e){var s=[],n=[],i=32*t.length;for(var r in t){var a=Ze(t[r]),o=e[r],c=E(a,o);Ht(a)?(s.push(E("uint256",i)),n.push(c),i+=c.length):s.push(c)}return Buffer.concat(s.concat(n))}function $e(t,e){if(t.length!==e.length)throw new Error("Number of types are not matching the values");for(var s,n,i=[],r=0;r<t.length;r++){var a=Ze(t[r]),o=e[r];if(a==="bytes")i.push(o);else if(a==="string")i.push(new Buffer(o,"utf8"));else if(a==="bool")i.push(new Buffer(o?"01":"00","hex"));else if(a==="address")i.push(w.setLength(o,20));else if(a.startsWith("bytes")){if(s=R(a),s<1||s>32)throw new Error("Invalid bytes<N> width: "+s);i.push(w.setLengthRight(o,s))}else if(a.startsWith("uint")){if(s=R(a),s%8||s<8||s>256)throw new Error("Invalid uint<N> width: "+s);n=L(o);const c=w.bitLengthFromBigInt(n);if(c>s)throw new Error("Supplied uint exceeds width: "+s+" vs "+c);i.push(w.bufferBEFromBigInt(n,s/8))}else if(a.startsWith("int")){if(s=R(a),s%8||s<8||s>256)throw new Error("Invalid int<N> width: "+s);n=L(o);const c=w.bitLengthFromBigInt(n);if(c>s)throw new Error("Supplied int exceeds width: "+s+" vs "+c);const d=w.twosFromBigInt(n,s);i.push(w.bufferBEFromBigInt(d,s/8))}else throw new Error("Unsupported or invalid type: "+a)}return Buffer.concat(i)}function zt(t,e){return w.keccak($e(t,e))}var Zt={rawEncode:Vt,solidityPack:$e,soliditySHA3:zt};const y=ze,W=Zt,Ge={type:"object",properties:{types:{type:"object",additionalProperties:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{type:"string"}},required:["name","type"]}}},primaryType:{type:"string"},domain:{type:"object"},message:{type:"object"}},required:["types","primaryType","domain","message"]},Y={encodeData(t,e,s,n=!0){const i=["bytes32"],r=[this.hashType(t,s)];if(n){const a=(o,c,d)=>{if(s[c]!==void 0)return["bytes32",d==null?"0x0000000000000000000000000000000000000000000000000000000000000000":y.keccak(this.encodeData(c,d,s,n))];if(d===void 0)throw new Error(`missing value for field ${o} of type ${c}`);if(c==="bytes")return["bytes32",y.keccak(d)];if(c==="string")return typeof d=="string"&&(d=Buffer.from(d,"utf8")),["bytes32",y.keccak(d)];if(c.lastIndexOf("]")===c.length-1){const p=c.slice(0,c.lastIndexOf("[")),u=d.map(g=>a(o,p,g));return["bytes32",y.keccak(W.rawEncode(u.map(([g])=>g),u.map(([,g])=>g)))]}return[c,d]};for(const o of s[t]){const[c,d]=a(o.name,o.type,e[o.name]);i.push(c),r.push(d)}}else for(const a of s[t]){let o=e[a.name];if(o!==void 0)if(a.type==="bytes")i.push("bytes32"),o=y.keccak(o),r.push(o);else if(a.type==="string")i.push("bytes32"),typeof o=="string"&&(o=Buffer.from(o,"utf8")),o=y.keccak(o),r.push(o);else if(s[a.type]!==void 0)i.push("bytes32"),o=y.keccak(this.encodeData(a.type,o,s,n)),r.push(o);else{if(a.type.lastIndexOf("]")===a.type.length-1)throw new Error("Arrays currently unimplemented in encodeData");i.push(a.type),r.push(o)}}return W.rawEncode(i,r)},encodeType(t,e){let s="",n=this.findTypeDependencies(t,e).filter(i=>i!==t);n=[t].concat(n.sort());for(const i of n){if(!e[i])throw new Error("No type definition specified: "+i);s+=i+"("+e[i].map(({name:a,type:o})=>o+" "+a).join(",")+")"}return s},findTypeDependencies(t,e,s=[]){if(t=t.match(/^\w*/)[0],s.includes(t)||e[t]===void 0)return s;s.push(t);for(const n of e[t])for(const i of this.findTypeDependencies(n.type,e,s))!s.includes(i)&&s.push(i);return s},hashStruct(t,e,s,n=!0){return y.keccak(this.encodeData(t,e,s,n))},hashType(t,e){return y.keccak(this.encodeType(t,e))},sanitizeData(t){const e={};for(const s in Ge.properties)t[s]&&(e[s]=t[s]);return e.types&&(e.types=Object.assign({EIP712Domain:[]},e.types)),e},hash(t,e=!0){const s=this.sanitizeData(t),n=[Buffer.from("1901","hex")];return n.push(this.hashStruct("EIP712Domain",s.domain,s.types,e)),s.primaryType!=="EIP712Domain"&&n.push(this.hashStruct(s.primaryType,s.message,s.types,e)),y.keccak(Buffer.concat(n))}};var Ft={TYPED_MESSAGE_SCHEMA:Ge,TypedDataUtils:Y,hashForSignTypedDataLegacy:function(t){return $t(t.data)},hashForSignTypedData_v3:function(t){return Y.hash(t.data,!1)},hashForSignTypedData_v4:function(t){return Y.hash(t.data)}};function $t(t){const e=new Error("Expect argument to be non-empty array");if(typeof t!="object"||!t.length)throw e;const s=t.map(function(r){return r.type==="bytes"?y.toBuffer(r.value):r.value}),n=t.map(function(r){return r.type}),i=t.map(function(r){if(!r.name)throw e;return r.type+" "+r.name});return W.soliditySHA3(["bytes32","bytes32"],[W.soliditySHA3(new Array(t.length).fill("string"),i),W.soliditySHA3(n,s)])}const q=at(Ft),Gt="walletUsername",te="Addresses",Yt="AppVersion";function m(t){return t.errorMessage!==void 0}class Jt{constructor(e){this.secret=e}async encrypt(e){const s=this.secret;if(s.length!==64)throw Error("secret must be 256 bits");const n=crypto.getRandomValues(new Uint8Array(12)),i=await crypto.subtle.importKey("raw",K(s),{name:"aes-gcm"},!1,["encrypt","decrypt"]),r=new TextEncoder,a=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:n},i,r.encode(e)),o=16,c=a.slice(a.byteLength-o),d=a.slice(0,a.byteLength-o),p=new Uint8Array(c),u=new Uint8Array(d),g=new Uint8Array([...n,...p,...u]);return ie(g)}async decrypt(e){const s=this.secret;if(s.length!==64)throw Error("secret must be 256 bits");return new Promise((n,i)=>{(async function(){const r=await crypto.subtle.importKey("raw",K(s),{name:"aes-gcm"},!1,["encrypt","decrypt"]),a=K(e),o=a.slice(0,12),c=a.slice(12,28),d=a.slice(28),p=new Uint8Array([...d,...c]),u={name:"AES-GCM",iv:new Uint8Array(o)};try{const g=await window.crypto.subtle.decrypt(u,r,p),C=new TextDecoder;n(C.decode(g))}catch(g){i(g)}})()})}}class Qt{constructor(e,s,n){this.linkAPIUrl=e,this.sessionId=s;const i=`${s}:${n}`;this.auth=`Basic ${btoa(i)}`}async markUnseenEventsAsSeen(e){return Promise.all(e.map(s=>fetch(`${this.linkAPIUrl}/events/${s.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(s=>console.error("Unabled to mark event as failed:",s))}async fetchUnseenEvents(){var e;const s=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(s.ok){const{events:n,error:i}=await s.json();if(i)throw new Error(`Check unseen events failed: ${i}`);const r=(e=n==null?void 0:n.filter(a=>a.event==="Web3Response").map(a=>({type:"Event",sessionId:this.sessionId,eventId:a.id,event:a.event,data:a.data})))!==null&&e!==void 0?e:[];return this.markUnseenEventsAsSeen(r),r}throw new Error(`Check unseen events failed: ${s.status}`)}}var M;(function(t){t[t.DISCONNECTED=0]="DISCONNECTED",t[t.CONNECTING=1]="CONNECTING",t[t.CONNECTED=2]="CONNECTED"})(M||(M={}));class Xt{setConnectionStateListener(e){this.connectionStateListener=e}setIncomingDataListener(e){this.incomingDataListener=e}constructor(e,s=WebSocket){this.WebSocketClass=s,this.webSocket=null,this.pendingData=[],this.url=e.replace(/^http/,"ws")}async connect(){if(this.webSocket)throw new Error("webSocket object is not null");return new Promise((e,s)=>{var n;let i;try{this.webSocket=i=new this.WebSocketClass(this.url)}catch(r){s(r);return}(n=this.connectionStateListener)===null||n===void 0||n.call(this,M.CONNECTING),i.onclose=r=>{var a;this.clearWebSocket(),s(new Error(`websocket error ${r.code}: ${r.reason}`)),(a=this.connectionStateListener)===null||a===void 0||a.call(this,M.DISCONNECTED)},i.onopen=r=>{var a;e(),(a=this.connectionStateListener)===null||a===void 0||a.call(this,M.CONNECTED),this.pendingData.length>0&&([...this.pendingData].forEach(c=>this.sendData(c)),this.pendingData=[])},i.onmessage=r=>{var a,o;if(r.data==="h")(a=this.incomingDataListener)===null||a===void 0||a.call(this,{type:"Heartbeat"});else try{const c=JSON.parse(r.data);(o=this.incomingDataListener)===null||o===void 0||o.call(this,c)}catch{}}})}disconnect(){var e;const{webSocket:s}=this;if(s){this.clearWebSocket(),(e=this.connectionStateListener)===null||e===void 0||e.call(this,M.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{s.close()}catch{}}}sendData(e){const{webSocket:s}=this;if(!s){this.pendingData.push(e),this.connect();return}s.send(e)}clearWebSocket(){const{webSocket:e}=this;e&&(this.webSocket=null,e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null)}}const me=1e4,es=6e4;class ts{constructor({session:e,linkAPIUrl:s,listener:n}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=I(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=r=>{if(!r)return;new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",o=>r.JsonRpcUrl&&this.handleChainUpdated(o,r.JsonRpcUrl)]]).forEach((o,c)=>{const d=r[c];d!==void 0&&o(d)})},this.handleDestroyed=r=>{var a;r==="1"&&((a=this.listener)===null||a===void 0||a.resetAndReload())},this.handleAccountUpdated=async r=>{var a;const o=await this.cipher.decrypt(r);(a=this.listener)===null||a===void 0||a.accountUpdated(o)},this.handleMetadataUpdated=async(r,a)=>{var o;const c=await this.cipher.decrypt(a);(o=this.listener)===null||o===void 0||o.metadataUpdated(r,c)},this.handleWalletUsernameUpdated=async r=>{this.handleMetadataUpdated(Gt,r)},this.handleAppVersionUpdated=async r=>{this.handleMetadataUpdated(Yt,r)},this.handleChainUpdated=async(r,a)=>{var o;const c=await this.cipher.decrypt(r),d=await this.cipher.decrypt(a);(o=this.listener)===null||o===void 0||o.chainUpdated(c,d)},this.session=e,this.cipher=new Jt(e.secret),this.listener=n;const i=new Xt(`${s}/rpc`,WebSocket);i.setConnectionStateListener(async r=>{let a=!1;switch(r){case M.DISCONNECTED:if(!this.destroyed){const o=async()=>{await new Promise(c=>setTimeout(c,5e3)),this.destroyed||i.connect().catch(()=>{o()})};o()}break;case M.CONNECTED:a=await this.handleConnected(),this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},me),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();break;case M.CONNECTING:break}this.connected!==a&&(this.connected=a)}),i.setIncomingDataListener(r=>{var a;switch(r.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{const o=r.type==="IsLinkedOK"?r.linked:void 0;this.linked=o||r.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":{this.handleSessionMetadataUpdated(r.metadata);break}case"Event":{this.handleIncomingEvent(r);break}}r.id!==void 0&&((a=this.requestResolutions.get(r.id))===null||a===void 0||a(r))}),this.ws=i,this.http=new Qt(s,e.id,e.key)}connect(){if(this.destroyed)throw new Error("instance is destroyed");this.ws.connect()}async destroy(){this.destroyed||(await this.makeRequest({type:"SetSessionConfig",id:I(this.nextReqId++),sessionId:this.session.id,metadata:{__destroyed:"1"}},{timeout:1e3}),this.destroyed=!0,this.ws.disconnect(),this.listener=void 0)}get connected(){return this._connected}set connected(e){this._connected=e}get linked(){return this._linked}set linked(e){var s,n;this._linked=e,e&&((s=this.onceLinked)===null||s===void 0||s.call(this)),(n=this.listener)===null||n===void 0||n.linkedUpdated(e)}setOnceLinked(e){return new Promise(s=>{this.linked?e().then(s):this.onceLinked=()=>{e().then(s),this.onceLinked=void 0}})}async handleIncomingEvent(e){var s;if(e.type!=="Event"||e.event!=="Web3Response")return;const n=await this.cipher.decrypt(e.data),i=JSON.parse(n);if(i.type!=="WEB3_RESPONSE")return;const{id:r,response:a}=i;(s=this.listener)===null||s===void 0||s.handleWeb3ResponseMessage(r,a)}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(e=>setTimeout(e,250));try{await this.fetchUnseenEventsAPI()}catch(e){console.error("Unable to check for unseen events",e)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1,(await this.http.fetchUnseenEvents()).forEach(s=>this.handleIncomingEvent(s))}async publishEvent(e,s,n=!1){const i=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},s),{origin:location.origin,location:location.href,relaySource:"coinbaseWalletExtension"in window&&window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),r={type:"PublishEvent",id:I(this.nextReqId++),sessionId:this.session.id,event:e,data:i,callWebhook:n};return this.setOnceLinked(async()=>{const a=await this.makeRequest(r);if(a.type==="Fail")throw new Error(a.error||"failed to publish event");return a.eventId})}sendData(e){this.ws.sendData(JSON.stringify(e))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>me*2){this.ws.disconnect();return}try{this.ws.sendData("h")}catch{}}async makeRequest(e,s={timeout:es}){const n=e.id;this.sendData(e);let i;return Promise.race([new Promise((r,a)=>{i=window.setTimeout(()=>{a(new Error(`request ${n} timed out`))},s.timeout)}),new Promise(r=>{this.requestResolutions.set(n,a=>{clearTimeout(i),r(a),this.requestResolutions.delete(n)})})])}async handleConnected(){return(await this.makeRequest({type:"HostSession",id:I(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key})).type==="Fail"?!1:(this.sendData({type:"IsLinked",id:I(this.nextReqId++),sessionId:this.session.id}),this.sendData({type:"GetSessionConfig",id:I(this.nextReqId++),sessionId:this.session.id}),!0)}}class ss{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;const e=this._nextRequestId,s=Te(e.toString(16));return this.callbacks.get(s)&&this.callbacks.delete(s),e}}const we="session:id",be="session:secret",ye="session:linked";class N{constructor(e,s,n,i=!1){this.storage=e,this.id=s,this.secret=n,this.key=ct(dt(`${s}, ${n} WalletLink`)),this._linked=!!i}static create(e){const s=A(16),n=A(32);return new N(e,s,n).save()}static load(e){const s=e.getItem(we),n=e.getItem(ye),i=e.getItem(be);return s&&i?new N(e,s,i,n==="1"):null}get linked(){return this._linked}set linked(e){this._linked=e,this.persistLinked()}save(){return this.storage.setItem(we,this.id),this.storage.setItem(be,this.secret),this.persistLinked(),this}persistLinked(){this.storage.setItem(ye,this._linked?"1":"0")}}function ns(){try{return window.frameElement!==null}catch{return!1}}function is(){try{return ns()&&window.top?window.top.location:window.location}catch{return window.location}}function rs(){var t;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((t=window==null?void 0:window.navigator)===null||t===void 0?void 0:t.userAgent)}function Ye(){var t,e;return(e=(t=window==null?void 0:window.matchMedia)===null||t===void 0?void 0:t.call(window,"(prefers-color-scheme: dark)").matches)!==null&&e!==void 0?e:!1}const as='@namespace svg "http://www.w3.org/2000/svg";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:"\\201C" "\\201D" "\\2018" "\\2019";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}';function Je(){const t=document.createElement("style");t.type="text/css",t.appendChild(document.createTextNode(as)),document.documentElement.appendChild(t)}const os=".-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}",cs="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",ds="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=";class ls{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=Ye()}attach(e){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",e.appendChild(this.root),this.render()}presentItem(e){const s=this.nextItemKey++;return this.items.set(s,e),this.render(),()=>{this.items.delete(s),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&J(h("div",null,h(Qe,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([e,s])=>h(hs,Object.assign({},s,{key:e}))))),this.root)}}const Qe=t=>h("div",{class:O("-cbwsdk-snackbar-container")},h("style",null,os),h("div",{class:"-cbwsdk-snackbar"},t.children)),hs=({autoExpand:t,message:e,menuItems:s})=>{const[n,i]=ce(!0),[r,a]=ce(t??!1);lt(()=>{const c=[window.setTimeout(()=>{i(!1)},1),window.setTimeout(()=>{a(!0)},1e4)];return()=>{c.forEach(window.clearTimeout)}});const o=()=>{a(!r)};return h("div",{class:O("-cbwsdk-snackbar-instance",n&&"-cbwsdk-snackbar-instance-hidden",r&&"-cbwsdk-snackbar-instance-expanded")},h("div",{class:"-cbwsdk-snackbar-instance-header",onClick:o},h("img",{src:cs,class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",h("div",{class:"-cbwsdk-snackbar-instance-header-message"},e),h("div",{class:"-gear-container"},!r&&h("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),h("img",{src:ds,class:"-gear-icon",title:"Expand"}))),s&&s.length>0&&h("div",{class:"-cbwsdk-snackbar-instance-menu"},s.map((c,d)=>h("div",{class:O("-cbwsdk-snackbar-instance-menu-item",c.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:c.onClick,key:d},h("svg",{width:c.svgWidth,height:c.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h("path",{"fill-rule":c.defaultFillRule,"clip-rule":c.defaultClipRule,d:c.path,fill:"#AAAAAA"})),h("span",{class:O("-cbwsdk-snackbar-instance-menu-item-info",c.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},c.info)))))};class us{constructor(){this.attached=!1,this.snackbar=new ls}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");const e=document.documentElement,s=document.createElement("div");s.className="-cbwsdk-css-reset",e.appendChild(s),this.snackbar.attach(s),this.attached=!0,Je()}showConnecting(e){let s;return e.isUnlinkedErrorState?s={autoExpand:!0,message:"Connection lost",menuItems:[{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]}:s={message:"Confirm on phone",menuItems:[{isRed:!0,info:"Cancel transaction",svgWidth:"11",svgHeight:"11",path:"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z",defaultFillRule:"inherit",defaultClipRule:"inherit",onClick:e.onCancel},{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]},this.snackbar.presentItem(s)}}const ps=".-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}";class fs{constructor(){this.root=null,this.darkMode=Ye()}attach(){const e=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",e.appendChild(this.root),Je()}present(e){this.render(e)}clear(){this.render(null)}render(e){this.root&&(J(null,this.root),e&&J(h(gs,Object.assign({},e,{onDismiss:()=>{this.clear()},darkMode:this.darkMode})),this.root))}}const gs=({title:t,buttonText:e,darkMode:s,onButtonClick:n,onDismiss:i})=>{const r=s?"dark":"light";return h(Qe,{darkMode:s},h("div",{class:"-cbwsdk-redirect-dialog"},h("style",null,ps),h("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:i}),h("div",{class:O("-cbwsdk-redirect-dialog-box",r)},h("p",null,t),h("button",{onClick:n},e))))},ms="https://keys.coinbase.com/connect",ws="http://rpc.wallet.coinbase.com",ve="https://www.walletlink.org",bs="https://go.cb-w.com/walletlink";class ke{constructor(){this.attached=!1,this.redirectDialog=new fs}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}redirectToCoinbaseWallet(e){const s=new URL(bs);s.searchParams.append("redirect_url",is().href),e&&s.searchParams.append("wl_url",e);const n=document.createElement("a");n.target="cbw-opener",n.href=s.href,n.rel="noreferrer noopener",n.click()}openCoinbaseWalletDeeplink(e){this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",onButtonClick:()=>{this.redirectToCoinbaseWallet(e)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(e)},99)}showConnecting(e){return()=>{this.redirectDialog.clear()}}}class S{constructor(e){this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.isMobileWeb=rs(),this.linkedUpdated=r=>{this.isLinked=r;const a=this.storage.getItem(te);if(r&&(this._session.linked=r),this.isUnlinkedErrorState=!1,a){const o=a.split(" "),c=this.storage.getItem("IsStandaloneSigning")==="true";o[0]!==""&&!r&&this._session.linked&&!c&&(this.isUnlinkedErrorState=!0)}},this.metadataUpdated=(r,a)=>{this.storage.setItem(r,a)},this.chainUpdated=(r,a)=>{this.chainCallbackParams.chainId===r&&this.chainCallbackParams.jsonRpcUrl===a||(this.chainCallbackParams={chainId:r,jsonRpcUrl:a},this.chainCallback&&this.chainCallback(a,Number.parseInt(r,10)))},this.accountUpdated=r=>{this.accountsCallback&&this.accountsCallback([r]),S.accountRequestCallbackIds.size>0&&(Array.from(S.accountRequestCallbackIds.values()).forEach(a=>{this.invokeCallback(a,{method:"requestEthereumAccounts",result:[r]})}),S.accountRequestCallbackIds.clear())},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=e.linkAPIUrl,this.storage=e.storage,this.metadata=e.metadata,this.accountsCallback=e.accountsCallback,this.chainCallback=e.chainCallback;const{session:s,ui:n,connection:i}=this.subscribe();this._session=s,this.connection=i,this.relayEventManager=new ss,this.ui=n,this.ui.attach()}subscribe(){const e=N.load(this.storage)||N.create(this.storage),{linkAPIUrl:s}=this,n=new ts({session:e,linkAPIUrl:s,listener:this}),i=this.isMobileWeb?new ke:new us;return n.connect(),{session:e,ui:i,connection:n}}resetAndReload(){this.connection.destroy().then(()=>{const e=N.load(this.storage);(e==null?void 0:e.id)===this._session.id&&v.clearAll(),document.location.reload()}).catch(e=>{})}signEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:k(e.weiValue),data:j(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?k(e.gasPriceInWei):null,maxFeePerGas:e.gasPriceInWei?k(e.gasPriceInWei):null,maxPriorityFeePerGas:e.gasPriceInWei?k(e.gasPriceInWei):null,gasLimit:e.gasLimit?k(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:k(e.weiValue),data:j(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?k(e.gasPriceInWei):null,maxFeePerGas:e.maxFeePerGas?k(e.maxFeePerGas):null,maxPriorityFeePerGas:e.maxPriorityFeePerGas?k(e.maxPriorityFeePerGas):null,gasLimit:e.gasLimit?k(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!0}})}submitEthereumTransaction(e,s){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:j(e,!0),chainId:s}})}getWalletLinkSession(){return this._session}sendRequest(e){let s=null;const n=A(8),i=r=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,e.method,r),s==null||s()};return new Promise((r,a)=>{s=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:i,onResetConnection:this.resetAndReload}),this.relayEventManager.callbacks.set(n,o=>{if(s==null||s(),m(o))return a(new Error(o.errorMessage));r(o)}),this.publishWeb3RequestEvent(n,e)})}publishWeb3RequestEvent(e,s){const n={type:"WEB3_REQUEST",id:e,request:s};this.publishEvent("Web3Request",n,!0).then(i=>{}).catch(i=>{this.handleWeb3ResponseMessage(n.id,{method:s.method,errorMessage:i.message})}),this.isMobileWeb&&this.openCoinbaseWalletDeeplink(s.method)}openCoinbaseWalletDeeplink(e){if(this.ui instanceof ke)switch(e){case"requestEthereumAccounts":case"switchEthereumChain":return;default:window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0}),this.ui.openCoinbaseWalletDeeplink();break}}publishWeb3RequestCanceledEvent(e){const s={type:"WEB3_REQUEST_CANCELED",id:e};this.publishEvent("Web3RequestCanceled",s,!1).then()}publishEvent(e,s,n){return this.connection.publishEvent(e,s,n)}handleWeb3ResponseMessage(e,s){if(s.method==="requestEthereumAccounts"){S.accountRequestCallbackIds.forEach(n=>this.invokeCallback(n,s)),S.accountRequestCallbackIds.clear();return}this.invokeCallback(e,s)}handleErrorResponse(e,s,n){var i;const r=(i=n==null?void 0:n.message)!==null&&i!==void 0?i:"Unspecified error message.";this.handleWeb3ResponseMessage(e,{method:s,errorMessage:r})}invokeCallback(e,s){const n=this.relayEventManager.callbacks.get(e);n&&(n(s),this.relayEventManager.callbacks.delete(e))}requestEthereumAccounts(){const{appName:e,appLogoUrl:s}=this.metadata,n={method:"requestEthereumAccounts",params:{appName:e,appLogoUrl:s}},i=A(8);return new Promise((r,a)=>{this.relayEventManager.callbacks.set(i,o=>{if(m(o))return a(new Error(o.errorMessage));r(o)}),S.accountRequestCallbackIds.add(i),this.publishWeb3RequestEvent(i,n)})}watchAsset(e,s,n,i,r,a){const o={method:"watchAsset",params:{type:e,options:{address:s,symbol:n,decimals:i,image:r},chainId:a}};let c=null;const d=A(8),p=u=>{this.publishWeb3RequestCanceledEvent(d),this.handleErrorResponse(d,o.method,u),c==null||c()};return c=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:p,onResetConnection:this.resetAndReload}),new Promise((u,g)=>{this.relayEventManager.callbacks.set(d,C=>{if(c==null||c(),m(C))return g(new Error(C.errorMessage));u(C)}),this.publishWeb3RequestEvent(d,o)})}addEthereumChain(e,s,n,i,r,a){const o={method:"addEthereumChain",params:{chainId:e,rpcUrls:s,blockExplorerUrls:i,chainName:r,iconUrls:n,nativeCurrency:a}};let c=null;const d=A(8),p=u=>{this.publishWeb3RequestCanceledEvent(d),this.handleErrorResponse(d,o.method,u),c==null||c()};return c=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:p,onResetConnection:this.resetAndReload}),new Promise((u,g)=>{this.relayEventManager.callbacks.set(d,C=>{if(c==null||c(),m(C))return g(new Error(C.errorMessage));u(C)}),this.publishWeb3RequestEvent(d,o)})}switchEthereumChain(e,s){const n={method:"switchEthereumChain",params:Object.assign({chainId:e},{address:s})};let i=null;const r=A(8),a=o=>{this.publishWeb3RequestCanceledEvent(r),this.handleErrorResponse(r,n.method,o),i==null||i()};return i=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:a,onResetConnection:this.resetAndReload}),new Promise((o,c)=>{this.relayEventManager.callbacks.set(r,d=>{if(i==null||i(),m(d)&&d.errorCode)return c(l.provider.custom({code:d.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."}));if(m(d))return c(new Error(d.errorMessage));o(d)}),this.publishWeb3RequestEvent(r,n)})}}S.accountRequestCallbackIds=new Set;const Ee="DefaultChainId",Ce="DefaultJsonRpcUrl";class Xe{constructor(e){this._relay=null,this._addresses=[],this.metadata=e.metadata,this._storage=new v("walletlink",ve),this.callback=e.callback||null;const s=this._storage.getItem(te);if(s){const n=s.split(" ");n[0]!==""&&(this._addresses=n.map(i=>_(i)))}this.initializeRelay()}getSession(){const e=this.initializeRelay(),{id:s,secret:n}=e.getWalletLinkSession();return{id:s,secret:n}}async handshake(){await this._eth_requestAccounts()}get selectedAddress(){return this._addresses[0]||void 0}get jsonRpcUrl(){var e;return(e=this._storage.getItem(Ce))!==null&&e!==void 0?e:void 0}set jsonRpcUrl(e){this._storage.setItem(Ce,e)}updateProviderInfo(e,s){var n;this.jsonRpcUrl=e;const i=this.getChainId();this._storage.setItem(Ee,s.toString(10)),U(s)!==i&&((n=this.callback)===null||n===void 0||n.call(this,"chainChanged",x(s)))}async watchAsset(e){const s=Array.isArray(e)?e[0]:e;if(!s.type)throw l.rpc.invalidParams("Type is required");if((s==null?void 0:s.type)!=="ERC20")throw l.rpc.invalidParams(`Asset of type '${s.type}' is not supported`);if(!(s!=null&&s.options))throw l.rpc.invalidParams("Options are required");if(!(s!=null&&s.options.address))throw l.rpc.invalidParams("Address is required");const n=this.getChainId(),{address:i,symbol:r,image:a,decimals:o}=s.options,d=await this.initializeRelay().watchAsset(s.type,i,r,o,a,n==null?void 0:n.toString());return m(d)?!1:!!d.result}async addEthereumChain(e){var s,n;const i=e[0];if(((s=i.rpcUrls)===null||s===void 0?void 0:s.length)===0)throw l.rpc.invalidParams("please pass in at least 1 rpcUrl");if(!i.chainName||i.chainName.trim()==="")throw l.rpc.invalidParams("chainName is a required field");if(!i.nativeCurrency)throw l.rpc.invalidParams("nativeCurrency is a required field");const r=Number.parseInt(i.chainId,16);if(r===this.getChainId())return!1;const a=this.initializeRelay(),{rpcUrls:o=[],blockExplorerUrls:c=[],chainName:d,iconUrls:p=[],nativeCurrency:u}=i,g=await a.addEthereumChain(r.toString(),o,p,c,d,u);if(m(g))return!1;if(((n=g.result)===null||n===void 0?void 0:n.isApproved)===!0)return this.updateProviderInfo(o[0],r),null;throw l.rpc.internal("unable to add ethereum chain")}async switchEthereumChain(e){const s=e[0],n=Number.parseInt(s.chainId,16),r=await this.initializeRelay().switchEthereumChain(n.toString(10),this.selectedAddress||void 0);if(m(r))throw r;const a=r.result;return a.isApproved&&a.rpcUrl.length>0&&this.updateProviderInfo(a.rpcUrl,n),null}async cleanup(){this.callback=null,this._relay&&this._relay.resetAndReload(),this._storage.clear()}_setAddresses(e,s){var n;if(!Array.isArray(e))throw new Error("addresses is not an array");const i=e.map(r=>_(r));JSON.stringify(i)!==JSON.stringify(this._addresses)&&(this._addresses=i,(n=this.callback)===null||n===void 0||n.call(this,"accountsChanged",i),this._storage.setItem(te,i.join(" ")))}async request(e){const s=e.params||[];switch(e.method){case"eth_accounts":return[...this._addresses];case"eth_coinbase":return this.selectedAddress||null;case"net_version":return this.getChainId().toString(10);case"eth_chainId":return x(this.getChainId());case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_ecRecover":case"personal_ecRecover":return this.ecRecover(e);case"personal_sign":return this.personalSign(e);case"eth_signTransaction":return this._eth_signTransaction(s);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(s);case"eth_sendTransaction":return this._eth_sendTransaction(s);case"eth_signTypedData_v1":case"eth_signTypedData_v3":case"eth_signTypedData_v4":case"eth_signTypedData":return this.signTypedData(e);case"wallet_addEthereumChain":return this.addEthereumChain(s);case"wallet_switchEthereumChain":return this.switchEthereumChain(s);case"wallet_watchAsset":return this.watchAsset(s);default:if(!this.jsonRpcUrl)throw l.rpc.internal("No RPC URL set for chain");return oe(e,this.jsonRpcUrl)}}_ensureKnownAddress(e){const s=_(e);if(!this._addresses.map(i=>_(i)).includes(s))throw new Error("Unknown Ethereum address")}_prepareTransactionParams(e){const s=e.from?_(e.from):this.selectedAddress;if(!s)throw new Error("Ethereum address is unavailable");this._ensureKnownAddress(s);const n=e.to?_(e.to):null,i=e.value!=null?D(e.value):BigInt(0),r=e.data?ee(e.data):H.alloc(0),a=e.nonce!=null?U(e.nonce):null,o=e.gasPrice!=null?D(e.gasPrice):null,c=e.maxFeePerGas!=null?D(e.maxFeePerGas):null,d=e.maxPriorityFeePerGas!=null?D(e.maxPriorityFeePerGas):null,p=e.gas!=null?D(e.gas):null,u=e.chainId?U(e.chainId):this.getChainId();return{fromAddress:s,toAddress:n,weiValue:i,data:r,nonce:a,gasPriceInWei:o,maxFeePerGas:c,maxPriorityFeePerGas:d,gasLimit:p,chainId:u}}async ecRecover(e){const{method:s,params:n}=e;if(!Array.isArray(n))throw l.rpc.invalidParams();const r=await this.initializeRelay().sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:Z(n[0]),signature:Z(n[1]),addPrefix:s==="personal_ecRecover"}});if(m(r))throw r;return r.result}getChainId(){var e;return Number.parseInt((e=this._storage.getItem(Ee))!==null&&e!==void 0?e:"1",10)}async _eth_requestAccounts(){var e,s;if(this._addresses.length>0)return(e=this.callback)===null||e===void 0||e.call(this,"connect",{chainId:x(this.getChainId())}),this._addresses;const i=await this.initializeRelay().requestEthereumAccounts();if(m(i))throw i;if(!i.result)throw new Error("accounts received is empty");return this._setAddresses(i.result),(s=this.callback)===null||s===void 0||s.call(this,"connect",{chainId:x(this.getChainId())}),this._addresses}async personalSign({params:e}){if(!Array.isArray(e))throw l.rpc.invalidParams();const s=e[1],n=e[0];this._ensureKnownAddress(s);const r=await this.initializeRelay().sendRequest({method:"signEthereumMessage",params:{address:_(s),message:Z(n),addPrefix:!0,typedDataJson:null}});if(m(r))throw r;return r.result}async _eth_signTransaction(e){const s=this._prepareTransactionParams(e[0]||{}),i=await this.initializeRelay().signEthereumTransaction(s);if(m(i))throw i;return i.result}async _eth_sendRawTransaction(e){const s=ee(e[0]),i=await this.initializeRelay().submitEthereumTransaction(s,this.getChainId());if(m(i))throw i;return i.result}async _eth_sendTransaction(e){const s=this._prepareTransactionParams(e[0]||{}),i=await this.initializeRelay().signAndSubmitEthereumTransaction(s);if(m(i))throw i;return i.result}async signTypedData(e){const{method:s,params:n}=e;if(!Array.isArray(n))throw l.rpc.invalidParams();const i=d=>{const p={eth_signTypedData_v1:q.hashForSignTypedDataLegacy,eth_signTypedData_v3:q.hashForSignTypedData_v3,eth_signTypedData_v4:q.hashForSignTypedData_v4,eth_signTypedData:q.hashForSignTypedData_v4};return j(p[s]({data:vt(d)}),!0)},r=n[s==="eth_signTypedData_v1"?1:0],a=n[s==="eth_signTypedData_v1"?0:1];this._ensureKnownAddress(r);const c=await this.initializeRelay().sendRequest({method:"signEthereumMessage",params:{address:_(r),message:i(a),typedDataJson:JSON.stringify(a,null,2),addPrefix:!1}});if(m(c))throw c;return c.result}initializeRelay(){return this._relay||(this._relay=new S({linkAPIUrl:ve,storage:this._storage,metadata:this.metadata,accountsCallback:this._setAddresses.bind(this),chainCallback:this.updateProviderInfo.bind(this)})),this._relay}}const et="SignerType",tt=new v("CBWSDK","SignerConfigurator");function ys(){return tt.getItem(et)}function vs(t){tt.setItem(et,t)}async function ks(t){const{communicator:e,metadata:s,handshakeRequest:n,callback:i}=t;Cs(e,s,i).catch(()=>{});const r={id:crypto.randomUUID(),event:"selectSignerType",data:Object.assign(Object.assign({},t.preference),{handshakeRequest:n})},{data:a}=await e.postRequestAndWaitForResponse(r);return a}function Es(t){const{signerType:e,metadata:s,communicator:n,callback:i}=t;switch(e){case"scw":return new Nt({metadata:s,callback:i,communicator:n});case"walletlink":return new Xe({metadata:s,callback:i})}}async function Cs(t,e,s){await t.onMessage(({event:i})=>i==="WalletLinkSessionRequest");const n=new Xe({metadata:e,callback:s});t.postMessage({event:"WalletLinkUpdate",data:{session:n.getSession()}}),await n.handshake(),t.postMessage({event:"WalletLinkUpdate",data:{connected:!0}})}const Is=`Coinbase Wallet SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Coinbase Smart Wallet app.
|
|
2
|
-
|
|
3
|
-
Please see https://www.smartwallet.dev/guides/tips/popup-tips#cross-origin-opener-policy for more information.`,Ss=()=>{let t;return{getCrossOriginOpenerPolicy:()=>t===void 0?"undefined":t,checkCrossOriginOpenerPolicy:async()=>{if(typeof window>"u"){t="non-browser-env";return}try{const e=`${window.location.origin}${window.location.pathname}`,s=await fetch(e,{method:"HEAD"});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);const n=s.headers.get("Cross-Origin-Opener-Policy");t=n??"null",t==="same-origin"&&console.error(Is)}catch(e){console.error("Error checking Cross-Origin-Opener-Policy:",e.message),t="error"}}}},{checkCrossOriginOpenerPolicy:st,getCrossOriginOpenerPolicy:Ms}=Ss(),Ie=420,Se=540;function _s(t){const e=(window.innerWidth-Ie)/2+window.screenX,s=(window.innerHeight-Se)/2+window.screenY;As(t);const n=`wallet_${crypto.randomUUID()}`,i=window.open(t,n,`width=${Ie}, height=${Se}, left=${e}, top=${s}`);if(i==null||i.focus(),!i)throw l.rpc.internal("Pop up window failed to open");return i}function xs(t){t&&!t.closed&&t.close()}function As(t){const e={sdkName:Ue,sdkVersion:T,origin:window.location.origin,coop:Ms()};for(const[s,n]of Object.entries(e))t.searchParams.append(s,n.toString())}class Ls{constructor({url:e=ms,metadata:s,preference:n}){this.popup=null,this.listeners=new Map,this.postMessage=async i=>{(await this.waitForPopupLoaded()).postMessage(i,this.url.origin)},this.postRequestAndWaitForResponse=async i=>{const r=this.onMessage(({requestId:a})=>a===i.id);return this.postMessage(i),await r},this.onMessage=async i=>new Promise((r,a)=>{const o=c=>{if(c.origin!==this.url.origin)return;const d=c.data;i(d)&&(r(d),window.removeEventListener("message",o),this.listeners.delete(o))};window.addEventListener("message",o),this.listeners.set(o,{reject:a})}),this.disconnect=()=>{xs(this.popup),this.popup=null,this.listeners.forEach(({reject:i},r)=>{i(l.provider.userRejectedRequest("Request rejected")),window.removeEventListener("message",r)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(this.popup=_s(this.url),this.onMessage(({event:i})=>i==="PopupUnload").then(this.disconnect).catch(()=>{}),this.onMessage(({event:i})=>i==="PopupLoaded").then(i=>{this.postMessage({requestId:i.id,data:{version:T,metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw l.rpc.internal();return this.popup})),this.url=new URL(e),this.metadata=s,this.preference=n}}function Ps(t){const e=gt(Rs(t),{shouldIncludeStack:!0}),s=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");return s.searchParams.set("version",T),s.searchParams.set("code",e.code.toString()),s.searchParams.set("message",e.message),Object.assign(Object.assign({},e),{docUrl:s.href})}function Rs(t){var e;if(typeof t=="string")return{message:t,code:f.rpc.internal};if(m(t)){const s=t.errorMessage,n=(e=t.errorCode)!==null&&e!==void 0?e:s.match(/(denied|rejected)/i)?f.provider.userRejectedRequest:void 0;return Object.assign(Object.assign({},t),{message:s,code:n,data:{method:t.method}})}return t}class Ns extends ht{}var Ts=function(t,e){var s={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(s[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(s[n[i]]=t[n[i]]);return s};class nt extends Ns{constructor(e){var{metadata:s}=e,n=e.preference,{keysUrl:i}=n,r=Ts(n,["keysUrl"]);super(),this.signer=null,this.isCoinbaseWallet=!0,this.metadata=s,this.preference=r,this.communicator=new Ls({url:i,metadata:s,preference:r});const a=ys();a&&(this.signer=this.initSigner(a))}async request(e){try{if(Rt(e),!this.signer)switch(e.method){case"eth_requestAccounts":{const s=await this.requestSignerSelection(e),n=this.initSigner(s);await n.handshake(e),this.signer=n,vs(s);break}case"wallet_sendCalls":{const s=this.initSigner("scw");await s.handshake({method:"handshake"});const n=await s.request(e);return await s.cleanup(),n}case"wallet_getCallsStatus":return oe(e,ws);case"net_version":return 1;case"eth_chainId":return x(1);default:throw l.provider.unauthorized("Must call 'eth_requestAccounts' before other methods")}return await this.signer.request(e)}catch(s){const{code:n}=s;return n===f.provider.unauthorized&&this.disconnect(),Promise.reject(Ps(s))}}async enable(){return console.warn('.enable() has been deprecated. Please use .request({ method: "eth_requestAccounts" }) instead.'),await this.request({method:"eth_requestAccounts"})}async disconnect(){var e;await((e=this.signer)===null||e===void 0?void 0:e.cleanup()),this.signer=null,v.clearAll(),this.emit("disconnect",l.provider.disconnected("User initiated disconnection"))}requestSignerSelection(e){return ks({communicator:this.communicator,preference:this.preference,metadata:this.metadata,handshakeRequest:e,callback:this.emit.bind(this)})}initSigner(e){return Es({signerType:e,metadata:this.metadata,communicator:this.communicator,callback:this.emit.bind(this)})}}function it(t){if(t){if(!["all","smartWalletOnly","eoaOnly"].includes(t.options))throw new Error(`Invalid options: ${t.options}`);if(t.attribution&&t.attribution.auto!==void 0&&t.attribution.dataSuffix!==void 0)throw new Error("Attribution cannot contain both auto and dataSuffix properties")}}class Hs{constructor(e){this.metadata={appName:e.appName||"Dapp",appLogoUrl:e.appLogoUrl||Et(),appChainIds:e.appChainIds||[]},this.storeLatestVersion(),st()}makeWeb3Provider(e={options:"all"}){var s;it(e);const n={metadata:this.metadata,preference:e};return(s=We(n))!==null&&s!==void 0?s:new nt(n)}getCoinbaseWalletLogo(e,s=240){return ut(e,s)}storeLatestVersion(){new v("CBWSDK").setItem("VERSION",T)}}function Ds(t){var e;const s={metadata:t.metadata,preference:t.preference};return(e=We(s))!==null&&e!==void 0?e:new nt(s)}const Os={options:"all"};function Ks(t){var e;new v("CBWSDK").setItem("VERSION",T),st();const n={metadata:{appName:t.appName||"Dapp",appLogoUrl:t.appLogoUrl||"",appChainIds:t.appChainIds||[]},preference:Object.assign(Os,(e=t.preference)!==null&&e!==void 0?e:{})};it(n.preference);let i=null;return{getProvider:()=>(i||(i=Ds(n)),i)}}export{Hs as CoinbaseWalletSDK,Ks as createCoinbaseWalletSDK,Hs as default};
|