@dcl/auth-site 4.5.1-21076090969.commit-a0de2fc → 4.5.1-21079977369.commit-93de4d5

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.
Files changed (84) hide show
  1. package/assets/{ConstantsUtil-B1B0nR9C.js → ConstantsUtil-ImZ0xjtv.js} +1 -1
  2. package/assets/{ExchangeController-CC-WA7h6.js → ExchangeController-5leMQSmo.js} +1 -1
  3. package/assets/{HelpersUtil-DjLIrIEy.js → HelpersUtil-6Lu-mEjM.js} +1 -1
  4. package/assets/{NetworkUtil-BB0TxE9p.js → NetworkUtil-DIFMVwzE.js} +1 -1
  5. package/assets/{SwapController-B1Yvx6c2.js → SwapController-Bu9-iuVQ.js} +1 -1
  6. package/assets/{biconomy-DT6Iijj2.js → biconomy-Yt1uOIdW.js} +1 -1
  7. package/assets/{ccip-xyxXL3L7.js → ccip-CAVNbh-6.js} +1 -1
  8. package/assets/{data-capture-FB6me-7p.js → data-capture-B78wlmHY.js} +1 -1
  9. package/assets/{email-BGLr_-QZ.js → email-CYRLJa0G.js} +1 -1
  10. package/assets/{embedded-wallet-2rN-oS7N.js → embedded-wallet-C2ZmLzIi.js} +1 -1
  11. package/assets/{engine-DyumDdCT.js → engine-CXhg6hLJ.js} +1 -1
  12. package/assets/{extractIPFS-DKedTp8j.js → extractIPFS-DMvbSkdb.js} +1 -1
  13. package/assets/{features-BqOwC9OI.js → features-DuHQcqJW.js} +1 -1
  14. package/assets/{fortmatic-CLJ1v6-L.js → fortmatic-CqvjN1vs.js} +1 -1
  15. package/assets/{getInstalledModules-BC2fBQQe.js → getInstalledModules-DZVVEHyc.js} +1 -1
  16. package/assets/{if-defined-DIjTqkPc.js → if-defined-BxOadNJm.js} +1 -1
  17. package/assets/{in-app-wallet-calls-BhbFXrXl.js → in-app-wallet-calls-VLzZMUuO.js} +1 -1
  18. package/assets/{index-DHjdohiW.js → index--D7R8fAc.js} +1 -1
  19. package/assets/{index-Bd2WIJU8.js → index-6Uxs_7u4.js} +1 -1
  20. package/assets/{index-Wk9ccokW.js → index-9ZQRsJCf.js} +1 -1
  21. package/assets/{index-CwvvRQi8.js → index-B8WpS2nb.js} +1 -1
  22. package/assets/{index-DkatlhKa.js → index-BCHrQrmb.js} +1 -1
  23. package/assets/{index-LAjLiS-K.js → index-BOpMWf3n.js} +1 -1
  24. package/assets/{index-B2Nwx2Pb.js → index-BP6Hzt3-.js} +1 -1
  25. package/assets/{index-dB98qioB.js → index-Bd66_6IA.js} +2 -2
  26. package/assets/{index-_w3EEN07.js → index-Bi48MbqU.js} +4 -4
  27. package/assets/{index-Bsn7-UVq.js → index-BluiLFL0.js} +1 -1
  28. package/assets/{index-Dta7LIvX.js → index-BsLoaLK9.js} +1 -1
  29. package/assets/{index-DhuV0cPI.js → index-Bxs3GBuW.js} +1 -1
  30. package/assets/{index-rwQnv0hR.js → index-C8LVPT9l.js} +1 -1
  31. package/assets/{index-DGtrKwWB.js → index-CFuQpiCJ.js} +1 -1
  32. package/assets/{index-g5szi6r5.js → index-CH_N6yyR.js} +1 -1
  33. package/assets/{index-B6wzw8J3.js → index-CJYEEP-J.js} +1 -1
  34. package/assets/{index-DxlMu3ea.js → index-CWknSiCP.js} +1 -1
  35. package/assets/{index-Bmd-CE-d.js → index-CY2fVlN8.js} +1 -1
  36. package/assets/{index-Dt8v3lSJ.js → index-Cg3SWNem.js} +1 -1
  37. package/assets/{index-BMPF0E7Y.js → index-ClFCBf4Q.js} +1 -1
  38. package/assets/{index-EkVhGa1o.js → index-CpD8KEPR.js} +1 -1
  39. package/assets/{index-BsNLqnCG.js → index-CrrCeBnN.js} +1 -1
  40. package/assets/{index-DY865o07.js → index-DBry3omJ.js} +3 -3
  41. package/assets/{index-osg4Koy_.js → index-DF6asCBw.js} +1 -1
  42. package/assets/{index-DwCXEnCZ.js → index-DHRzCG5r.js} +1 -1
  43. package/assets/{index-BLZTaqiE.js → index-DVvvAvYo.js} +1 -1
  44. package/assets/{index-4uk83_lk.js → index-DZcwyOF7.js} +1 -1
  45. package/assets/{index-GHgycunK.js → index-D_yeGEdI.js} +1 -1
  46. package/assets/{index-C5Yg70-2.css → index-DkmBXYBA.css} +1 -1
  47. package/assets/{index-B07jRA_S.js → index-DnIhN2rn.js} +1 -1
  48. package/assets/{index-D4P1pgAl.js → index-Dofg9d0m.js} +1 -1
  49. package/assets/{index-C5bmKCwO.js → index-DyPl9RCU.js} +1 -1
  50. package/assets/{index-CFRccWRu.js → index-DywNkGfK.js} +1 -1
  51. package/assets/{index-BESy9fbZ.js → index-EUvmwore.js} +1 -1
  52. package/assets/{index-BYUpM_QI.js → index-FhCH3m31.js} +1 -1
  53. package/assets/{index-TIhhvvUp.js → index-LcknBxjJ.js} +1 -1
  54. package/assets/{index-Bp6eeWYt.js → index-QWN2ZeXa.js} +1 -1
  55. package/assets/{index-BLuyk03X.js → index-QbkZToDa.js} +1 -1
  56. package/assets/{index-DLmsskrA.js → index-aiGavN6P.js} +1 -1
  57. package/assets/{index-BmAbXTYm.js → index-kplStoLl.js} +7 -7
  58. package/assets/{index-8h8RbWPq.js → index-lcHXKGfs.js} +1 -1
  59. package/assets/{index-CFqF0dbq.js → index-o5X9-GMT.js} +1 -1
  60. package/assets/{networks-BZeGWcbO.js → networks-MqcoxWLT.js} +1 -1
  61. package/assets/{onramp-DmW6Wpg-.js → onramp-5OLfbDwj.js} +1 -1
  62. package/assets/{openzeppelin-BNmbA-oY.js → openzeppelin-Caen7JW5.js} +1 -1
  63. package/assets/{parse-typed-data-BQrR5t4x.js → parse-typed-data-BCdC55DP.js} +1 -1
  64. package/assets/{passkeys-BUaL1P39.js → passkeys-idMN6RBb.js} +1 -1
  65. package/assets/{pay-with-exchange-C3dE_Jy4.js → pay-with-exchange-BhzbNxLw.js} +1 -1
  66. package/assets/{receive-dmziTgvF.js → receive-BuF6aWCa.js} +1 -1
  67. package/assets/{ref-BywtPZ1y.js → ref-CZhmAtFe.js} +1 -1
  68. package/assets/{resolveImplementation-DhSbBy2A.js → resolveImplementation-XFEHA29P.js} +1 -1
  69. package/assets/{secp256k1--26K0RZe.js → secp256k1-BacY4D_H.js} +1 -1
  70. package/assets/{send-DmpGLDx_.js → send-CrfmmAvF.js} +1 -1
  71. package/assets/{send-eip712-transaction-CwJN_LGP.js → send-eip712-transaction-G0RJPO45.js} +1 -1
  72. package/assets/{send-gasless-transaction-BIBw1EIq.js → send-gasless-transaction-4nvGNgko.js} +2 -2
  73. package/assets/{socials-BgGTTjbV.js → socials-4WL5wxrZ.js} +1 -1
  74. package/assets/{swaps-B7bIgKjW.js → swaps-C2JzcItW.js} +1 -1
  75. package/assets/{thirdweb-BXzAJI2R.js → thirdweb-Nalfv5nZ.js} +3 -3
  76. package/assets/{transactions-oExukfM1.js → transactions-DUSSM4GY.js} +1 -1
  77. package/assets/{ui-DRBd2XZm.css → ui-C2_kCqvs.css} +3 -3
  78. package/assets/{ui-BZVBOcI0.js → ui-Dbd5wrJc.js} +4 -4
  79. package/assets/{vendor-BpyywBCn.js → vendor-DhMc4a7D.js} +1 -1
  80. package/assets/{verifyHash-B6UCi3Fq.js → verifyHash-Dbcj3tYL.js} +3 -3
  81. package/assets/{w3m-modal-DLtaVZGd.js → w3m-modal-BwNsMZCs.js} +1 -1
  82. package/assets/{web-connector-BqX4xCDU.js → web-connector-CBZbZWLk.js} +3 -3
  83. package/index.html +6 -6
  84. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import{O as $,U as b,a as C,C as p,V as B,o as w,X as j,p as q,E as _,S as T,R as L,M as x,s as z,i as X,n as W,l as F,m,T as J,y as M,z as Z}from"./index-_w3EEN07.js";import{r as h,c as H}from"./index-8h8RbWPq.js";import{o as Y}from"./if-defined-DIjTqkPc.js";import"./index-DHjdohiW.js";import"./index-GHgycunK.js";import"./index-Dt8v3lSJ.js";import"./index-Bmd-CE-d.js";import"./index-CFRccWRu.js";import"./index-BYUpM_QI.js";import"./index-BsNLqnCG.js";import"./index-LAjLiS-K.js";import"./index-DhuV0cPI.js";import{C as g}from"./NetworkUtil-BB0TxE9p.js";import"./index-4uk83_lk.js";import"./thirdweb-BXzAJI2R.js";import"./index-BmAbXTYm.js";import"./ui-BZVBOcI0.js";import"./vendor-BpyywBCn.js";import"./index-C5bmKCwO.js";const o={INVALID_PAYMENT_CONFIG:"INVALID_PAYMENT_CONFIG",INVALID_RECIPIENT:"INVALID_RECIPIENT",INVALID_ASSET:"INVALID_ASSET",INVALID_AMOUNT:"INVALID_AMOUNT",UNKNOWN_ERROR:"UNKNOWN_ERROR",UNABLE_TO_INITIATE_PAYMENT:"UNABLE_TO_INITIATE_PAYMENT",INVALID_CHAIN_NAMESPACE:"INVALID_CHAIN_NAMESPACE",GENERIC_PAYMENT_ERROR:"GENERIC_PAYMENT_ERROR",UNABLE_TO_GET_EXCHANGES:"UNABLE_TO_GET_EXCHANGES",ASSET_NOT_SUPPORTED:"ASSET_NOT_SUPPORTED",UNABLE_TO_GET_PAY_URL:"UNABLE_TO_GET_PAY_URL",UNABLE_TO_GET_BUY_STATUS:"UNABLE_TO_GET_BUY_STATUS"},N={[o.INVALID_PAYMENT_CONFIG]:"Invalid payment configuration",[o.INVALID_RECIPIENT]:"Invalid recipient address",[o.INVALID_ASSET]:"Invalid asset specified",[o.INVALID_AMOUNT]:"Invalid payment amount",[o.UNKNOWN_ERROR]:"Unknown payment error occurred",[o.UNABLE_TO_INITIATE_PAYMENT]:"Unable to initiate payment",[o.INVALID_CHAIN_NAMESPACE]:"Invalid chain namespace",[o.GENERIC_PAYMENT_ERROR]:"Unable to process payment",[o.UNABLE_TO_GET_EXCHANGES]:"Unable to get exchanges",[o.ASSET_NOT_SUPPORTED]:"Asset not supported by the selected exchange",[o.UNABLE_TO_GET_PAY_URL]:"Unable to get payment URL",[o.UNABLE_TO_GET_BUY_STATUS]:"Unable to get buy status"};class c extends Error{get message(){return N[this.code]}constructor(e,s){super(N[e]),this.name="AppKitPayError",this.code=e,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,c)}}const Q="https://rpc.walletconnect.org/v1/json-rpc";class ee extends Error{}function te(){const t=$.getSnapshot().projectId;return`${Q}?projectId=${t}`}async function O(t,e){const s=te(),{sdkType:a,sdkVersion:r,projectId:i}=$.getSnapshot(),u={jsonrpc:"2.0",id:1,method:t,params:{...e||{},st:a,sv:r,projectId:i}},A=await(await fetch(s,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json"}})).json();if(A.error)throw new ee(A.error.message);return A}async function G(t){return(await O("reown_getExchanges",t)).result}async function ne(t){return(await O("reown_getExchangePayUrl",t)).result}async function se(t){return(await O("reown_getExchangeBuyStatus",t)).result}const ae=["eip155","solana"],re={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};function R(t,e){const{chainNamespace:s,chainId:a}=b.parseCaipNetworkId(t),r=re[s];if(!r)throw new Error(`Unsupported chain namespace for CAIP-19 formatting: ${s}`);let i=r.native.assetNamespace,u=r.native.assetReference;return e!=="native"&&(i=r.defaultTokenNamespace,u=e),`${`${s}:${a}`}/${i}:${u}`}function ie(t){const{chainNamespace:e}=b.parseCaipNetworkId(t);return ae.includes(e)}async function oe(t){const{paymentAssetNetwork:e,activeCaipNetwork:s,approvedCaipNetworkIds:a,requestedCaipNetworks:r}=t,u=C.sortRequestedNetworks(a,r).find(P=>P.caipNetworkId===e);if(!u)throw new c(o.INVALID_PAYMENT_CONFIG);if(u.caipNetworkId===s.caipNetworkId)return;const d=p.getNetworkProp("supportsAllNetworks",u.chainNamespace);if(!((a==null?void 0:a.includes(u.caipNetworkId))||d))throw new c(o.INVALID_PAYMENT_CONFIG);try{await p.switchActiveNetwork(u)}catch(P){throw new c(o.GENERIC_PAYMENT_ERROR,P)}}async function ce(t,e,s){var d;if(e!==g.CHAIN.EVM)throw new c(o.INVALID_CHAIN_NAMESPACE);if(!s.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for native EVM payments.");const a=typeof s.amount=="string"?parseFloat(s.amount):s.amount;if(isNaN(a))throw new c(o.INVALID_PAYMENT_CONFIG);const r=((d=t.metadata)==null?void 0:d.decimals)??18,i=w.parseUnits(a.toString(),r);if(typeof i!="bigint")throw new c(o.GENERIC_PAYMENT_ERROR);return await w.sendTransaction({chainNamespace:e,to:s.recipient,address:s.fromAddress,value:i,data:"0x"})??void 0}async function ue(t,e){if(!e.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for ERC20 EVM payments.");const s=t.asset,a=e.recipient,r=Number(t.metadata.decimals),i=w.parseUnits(e.amount.toString(),r);if(i===void 0)throw new c(o.GENERIC_PAYMENT_ERROR);return await w.writeContract({fromAddress:e.fromAddress,tokenAddress:s,args:[a,i],method:"transfer",abi:j.getERC20Abi(s),chainNamespace:g.CHAIN.EVM})??void 0}async function le(t,e){if(t!==g.CHAIN.SOLANA)throw new c(o.INVALID_CHAIN_NAMESPACE);if(!e.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for Solana payments.");const s=typeof e.amount=="string"?parseFloat(e.amount):e.amount;if(isNaN(s)||s<=0)throw new c(o.INVALID_PAYMENT_CONFIG,"Invalid payment amount.");try{if(!B.getProvider(t))throw new c(o.GENERIC_PAYMENT_ERROR,"No Solana provider available.");const r=await w.sendTransaction({chainNamespace:g.CHAIN.SOLANA,to:e.recipient,value:s,tokenMint:e.tokenMint});if(!r)throw new c(o.GENERIC_PAYMENT_ERROR,"Transaction failed.");return r}catch(a){throw a instanceof c?a:new c(o.GENERIC_PAYMENT_ERROR,`Solana payment failed: ${a}`)}}const V=0,v="unknown",n=q({paymentAsset:{network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},recipient:"0x0",amount:0,isConfigured:!1,error:null,isPaymentInProgress:!1,exchanges:[],isLoading:!1,openInNewTab:!0,redirectUrl:void 0,payWithExchange:void 0,currentPayment:void 0,analyticsSet:!1,paymentId:void 0}),l={state:n,subscribe(t){return X(n,()=>t(n))},subscribeKey(t,e){return z(n,t,e)},async handleOpenPay(t){this.resetState(),this.setPaymentConfig(t),this.subscribeEvents(),this.initializeAnalytics(),n.isConfigured=!0,_.sendEvent({type:"track",event:"PAY_MODAL_OPEN",properties:{exchanges:n.exchanges,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount}}}),await x.open({view:"Pay"})},resetState(){n.paymentAsset={network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},n.recipient="0x0",n.amount=0,n.isConfigured=!1,n.error=null,n.isPaymentInProgress=!1,n.isLoading=!1,n.currentPayment=void 0},setPaymentConfig(t){if(!t.paymentAsset)throw new c(o.INVALID_PAYMENT_CONFIG);try{n.paymentAsset=t.paymentAsset,n.recipient=t.recipient,n.amount=t.amount,n.openInNewTab=t.openInNewTab??!0,n.redirectUrl=t.redirectUrl,n.payWithExchange=t.payWithExchange,n.error=null}catch(e){throw new c(o.INVALID_PAYMENT_CONFIG,e.message)}},getPaymentAsset(){return n.paymentAsset},getExchanges(){return n.exchanges},async fetchExchanges(){try{n.isLoading=!0;const t=await G({page:V,asset:R(n.paymentAsset.network,n.paymentAsset.asset),amount:n.amount.toString()});n.exchanges=t.exchanges.slice(0,2)}catch{throw T.showError(N.UNABLE_TO_GET_EXCHANGES),new c(o.UNABLE_TO_GET_EXCHANGES)}finally{n.isLoading=!1}},async getAvailableExchanges(t){var e;try{const s=t!=null&&t.asset&&(t!=null&&t.network)?R(t.network,t.asset):void 0;return await G({page:(t==null?void 0:t.page)??V,asset:s,amount:(e=t==null?void 0:t.amount)==null?void 0:e.toString()})}catch{throw new c(o.UNABLE_TO_GET_EXCHANGES)}},async getPayUrl(t,e,s=!1){try{const a=Number(e.amount),r=await ne({exchangeId:t,asset:R(e.network,e.asset),amount:a.toString(),recipient:`${e.network}:${e.recipient}`});return _.sendEvent({type:"track",event:"PAY_EXCHANGE_SELECTED",properties:{source:"pay",exchange:{id:t},configuration:{network:e.network,asset:e.asset,recipient:e.recipient,amount:a},currentPayment:{type:"exchange",exchangeId:t},headless:s}}),s&&(this.initiatePayment(),_.sendEvent({type:"track",event:"PAY_INITIATED",properties:{source:"pay",paymentId:n.paymentId||v,configuration:{network:e.network,asset:e.asset,recipient:e.recipient,amount:a},currentPayment:{type:"exchange",exchangeId:t}}})),r}catch(a){throw a instanceof Error&&a.message.includes("is not supported")?new c(o.ASSET_NOT_SUPPORTED):new Error(a.message)}},async openPayUrl(t,e,s=!1){try{const a=await this.getPayUrl(t.exchangeId,e,s);if(!a)throw new c(o.UNABLE_TO_GET_PAY_URL);const i=t.openInNewTab??!0?"_blank":"_self";return C.openHref(a.url,i),a}catch(a){throw a instanceof c?n.error=a.message:n.error=N.GENERIC_PAYMENT_ERROR,new c(o.UNABLE_TO_GET_PAY_URL)}},subscribeEvents(){n.isConfigured||(w.subscribeKey("connections",t=>{t.size>0&&this.handlePayment()}),p.subscribeChainProp("accountState",t=>{const e=w.hasAnyConnection(g.CONNECTOR_ID.WALLET_CONNECT);t!=null&&t.caipAddress&&(e?setTimeout(()=>{this.handlePayment()},100):this.handlePayment())}))},async handlePayment(){n.currentPayment={type:"wallet",status:"IN_PROGRESS"};const t=p.getActiveCaipAddress();if(!t)return;const{chainId:e,address:s}=b.parseCaipAddress(t),a=p.state.activeChain;if(!s||!e||!a||!B.getProvider(a))return;const i=p.state.activeCaipNetwork;if(i&&!n.isPaymentInProgress)try{this.initiatePayment();const u=p.getAllRequestedCaipNetworks(),d=p.getAllApprovedCaipNetworkIds();switch(await oe({paymentAssetNetwork:n.paymentAsset.network,activeCaipNetwork:i,approvedCaipNetworkIds:d,requestedCaipNetworks:u}),await x.open({view:"PayLoading"}),a){case g.CHAIN.EVM:n.paymentAsset.asset==="native"&&(n.currentPayment.result=await ce(n.paymentAsset,a,{recipient:n.recipient,amount:n.amount,fromAddress:s})),n.paymentAsset.asset.startsWith("0x")&&(n.currentPayment.result=await ue(n.paymentAsset,{recipient:n.recipient,amount:n.amount,fromAddress:s})),n.currentPayment.status="SUCCESS";break;case g.CHAIN.SOLANA:n.currentPayment.result=await le(a,{recipient:n.recipient,amount:n.amount,fromAddress:s,tokenMint:n.paymentAsset.asset==="native"?void 0:n.paymentAsset.asset}),n.currentPayment.status="SUCCESS";break;default:throw new c(o.INVALID_CHAIN_NAMESPACE)}}catch(u){u instanceof c?n.error=u.message:n.error=N.GENERIC_PAYMENT_ERROR,n.currentPayment.status="FAILED",T.showError(n.error)}finally{n.isPaymentInProgress=!1}},getExchangeById(t){return n.exchanges.find(e=>e.id===t)},validatePayConfig(t){const{paymentAsset:e,recipient:s,amount:a}=t;if(!e)throw new c(o.INVALID_PAYMENT_CONFIG);if(!s)throw new c(o.INVALID_RECIPIENT);if(!e.asset)throw new c(o.INVALID_ASSET);if(a==null||a<=0)throw new c(o.INVALID_AMOUNT)},handlePayWithWallet(){const t=p.getActiveCaipAddress();if(!t){L.push("Connect");return}const{chainId:e,address:s}=b.parseCaipAddress(t),a=p.state.activeChain;if(!s||!e||!a){L.push("Connect");return}this.handlePayment()},async handlePayWithExchange(t){try{n.currentPayment={type:"exchange",exchangeId:t};const{network:e,asset:s}=n.paymentAsset,a={network:e,asset:s,amount:n.amount,recipient:n.recipient},r=await this.getPayUrl(t,a);if(!r)throw new c(o.UNABLE_TO_INITIATE_PAYMENT);return n.currentPayment.sessionId=r.sessionId,n.currentPayment.status="IN_PROGRESS",n.currentPayment.exchangeId=t,this.initiatePayment(),{url:r.url,openInNewTab:n.openInNewTab}}catch(e){return e instanceof c?n.error=e.message:n.error=N.GENERIC_PAYMENT_ERROR,n.isPaymentInProgress=!1,T.showError(n.error),null}},async getBuyStatus(t,e){var s,a;try{const r=await se({sessionId:e,exchangeId:t});return(r.status==="SUCCESS"||r.status==="FAILED")&&_.sendEvent({type:"track",event:r.status==="SUCCESS"?"PAY_SUCCESS":"PAY_ERROR",properties:{message:r.status==="FAILED"?C.parseError(n.error):void 0,source:"pay",paymentId:n.paymentId||v,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount},currentPayment:{type:"exchange",exchangeId:(s=n.currentPayment)==null?void 0:s.exchangeId,sessionId:(a=n.currentPayment)==null?void 0:a.sessionId,result:r.txHash}}}),r}catch{throw new c(o.UNABLE_TO_GET_BUY_STATUS)}},async updateBuyStatus(t,e){try{const s=await this.getBuyStatus(t,e);n.currentPayment&&(n.currentPayment.status=s.status,n.currentPayment.result=s.txHash),(s.status==="SUCCESS"||s.status==="FAILED")&&(n.isPaymentInProgress=!1)}catch{throw new c(o.UNABLE_TO_GET_BUY_STATUS)}},initiatePayment(){n.isPaymentInProgress=!0,n.paymentId=crypto.randomUUID()},initializeAnalytics(){n.analyticsSet||(n.analyticsSet=!0,this.subscribeKey("isPaymentInProgress",t=>{var e;if((e=n.currentPayment)!=null&&e.status&&n.currentPayment.status!=="UNKNOWN"){const s={IN_PROGRESS:"PAY_INITIATED",SUCCESS:"PAY_SUCCESS",FAILED:"PAY_ERROR"}[n.currentPayment.status];_.sendEvent({type:"track",event:s,properties:{message:n.currentPayment.status==="FAILED"?C.parseError(n.error):void 0,source:"pay",paymentId:n.paymentId||v,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount},currentPayment:{type:n.currentPayment.type,exchangeId:n.currentPayment.exchangeId,sessionId:n.currentPayment.sessionId,result:n.currentPayment.result}}})}}))}},de=W`
1
+ import{O as $,U as b,a as C,C as p,V as B,o as w,X as j,p as q,E as _,S as T,R as L,M as x,s as z,i as X,n as W,l as F,m,T as J,y as M,z as Z}from"./index-Bi48MbqU.js";import{r as h,c as H}from"./index-lcHXKGfs.js";import{o as Y}from"./if-defined-BxOadNJm.js";import"./index--D7R8fAc.js";import"./index-D_yeGEdI.js";import"./index-Cg3SWNem.js";import"./index-CY2fVlN8.js";import"./index-DywNkGfK.js";import"./index-FhCH3m31.js";import"./index-CrrCeBnN.js";import"./index-BOpMWf3n.js";import"./index-Bxs3GBuW.js";import{C as g}from"./NetworkUtil-DIFMVwzE.js";import"./index-DZcwyOF7.js";import"./thirdweb-Nalfv5nZ.js";import"./index-kplStoLl.js";import"./ui-Dbd5wrJc.js";import"./vendor-DhMc4a7D.js";import"./index-DyPl9RCU.js";const o={INVALID_PAYMENT_CONFIG:"INVALID_PAYMENT_CONFIG",INVALID_RECIPIENT:"INVALID_RECIPIENT",INVALID_ASSET:"INVALID_ASSET",INVALID_AMOUNT:"INVALID_AMOUNT",UNKNOWN_ERROR:"UNKNOWN_ERROR",UNABLE_TO_INITIATE_PAYMENT:"UNABLE_TO_INITIATE_PAYMENT",INVALID_CHAIN_NAMESPACE:"INVALID_CHAIN_NAMESPACE",GENERIC_PAYMENT_ERROR:"GENERIC_PAYMENT_ERROR",UNABLE_TO_GET_EXCHANGES:"UNABLE_TO_GET_EXCHANGES",ASSET_NOT_SUPPORTED:"ASSET_NOT_SUPPORTED",UNABLE_TO_GET_PAY_URL:"UNABLE_TO_GET_PAY_URL",UNABLE_TO_GET_BUY_STATUS:"UNABLE_TO_GET_BUY_STATUS"},N={[o.INVALID_PAYMENT_CONFIG]:"Invalid payment configuration",[o.INVALID_RECIPIENT]:"Invalid recipient address",[o.INVALID_ASSET]:"Invalid asset specified",[o.INVALID_AMOUNT]:"Invalid payment amount",[o.UNKNOWN_ERROR]:"Unknown payment error occurred",[o.UNABLE_TO_INITIATE_PAYMENT]:"Unable to initiate payment",[o.INVALID_CHAIN_NAMESPACE]:"Invalid chain namespace",[o.GENERIC_PAYMENT_ERROR]:"Unable to process payment",[o.UNABLE_TO_GET_EXCHANGES]:"Unable to get exchanges",[o.ASSET_NOT_SUPPORTED]:"Asset not supported by the selected exchange",[o.UNABLE_TO_GET_PAY_URL]:"Unable to get payment URL",[o.UNABLE_TO_GET_BUY_STATUS]:"Unable to get buy status"};class c extends Error{get message(){return N[this.code]}constructor(e,s){super(N[e]),this.name="AppKitPayError",this.code=e,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,c)}}const Q="https://rpc.walletconnect.org/v1/json-rpc";class ee extends Error{}function te(){const t=$.getSnapshot().projectId;return`${Q}?projectId=${t}`}async function O(t,e){const s=te(),{sdkType:a,sdkVersion:r,projectId:i}=$.getSnapshot(),u={jsonrpc:"2.0",id:1,method:t,params:{...e||{},st:a,sv:r,projectId:i}},A=await(await fetch(s,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json"}})).json();if(A.error)throw new ee(A.error.message);return A}async function G(t){return(await O("reown_getExchanges",t)).result}async function ne(t){return(await O("reown_getExchangePayUrl",t)).result}async function se(t){return(await O("reown_getExchangeBuyStatus",t)).result}const ae=["eip155","solana"],re={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};function R(t,e){const{chainNamespace:s,chainId:a}=b.parseCaipNetworkId(t),r=re[s];if(!r)throw new Error(`Unsupported chain namespace for CAIP-19 formatting: ${s}`);let i=r.native.assetNamespace,u=r.native.assetReference;return e!=="native"&&(i=r.defaultTokenNamespace,u=e),`${`${s}:${a}`}/${i}:${u}`}function ie(t){const{chainNamespace:e}=b.parseCaipNetworkId(t);return ae.includes(e)}async function oe(t){const{paymentAssetNetwork:e,activeCaipNetwork:s,approvedCaipNetworkIds:a,requestedCaipNetworks:r}=t,u=C.sortRequestedNetworks(a,r).find(P=>P.caipNetworkId===e);if(!u)throw new c(o.INVALID_PAYMENT_CONFIG);if(u.caipNetworkId===s.caipNetworkId)return;const d=p.getNetworkProp("supportsAllNetworks",u.chainNamespace);if(!((a==null?void 0:a.includes(u.caipNetworkId))||d))throw new c(o.INVALID_PAYMENT_CONFIG);try{await p.switchActiveNetwork(u)}catch(P){throw new c(o.GENERIC_PAYMENT_ERROR,P)}}async function ce(t,e,s){var d;if(e!==g.CHAIN.EVM)throw new c(o.INVALID_CHAIN_NAMESPACE);if(!s.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for native EVM payments.");const a=typeof s.amount=="string"?parseFloat(s.amount):s.amount;if(isNaN(a))throw new c(o.INVALID_PAYMENT_CONFIG);const r=((d=t.metadata)==null?void 0:d.decimals)??18,i=w.parseUnits(a.toString(),r);if(typeof i!="bigint")throw new c(o.GENERIC_PAYMENT_ERROR);return await w.sendTransaction({chainNamespace:e,to:s.recipient,address:s.fromAddress,value:i,data:"0x"})??void 0}async function ue(t,e){if(!e.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for ERC20 EVM payments.");const s=t.asset,a=e.recipient,r=Number(t.metadata.decimals),i=w.parseUnits(e.amount.toString(),r);if(i===void 0)throw new c(o.GENERIC_PAYMENT_ERROR);return await w.writeContract({fromAddress:e.fromAddress,tokenAddress:s,args:[a,i],method:"transfer",abi:j.getERC20Abi(s),chainNamespace:g.CHAIN.EVM})??void 0}async function le(t,e){if(t!==g.CHAIN.SOLANA)throw new c(o.INVALID_CHAIN_NAMESPACE);if(!e.fromAddress)throw new c(o.INVALID_PAYMENT_CONFIG,"fromAddress is required for Solana payments.");const s=typeof e.amount=="string"?parseFloat(e.amount):e.amount;if(isNaN(s)||s<=0)throw new c(o.INVALID_PAYMENT_CONFIG,"Invalid payment amount.");try{if(!B.getProvider(t))throw new c(o.GENERIC_PAYMENT_ERROR,"No Solana provider available.");const r=await w.sendTransaction({chainNamespace:g.CHAIN.SOLANA,to:e.recipient,value:s,tokenMint:e.tokenMint});if(!r)throw new c(o.GENERIC_PAYMENT_ERROR,"Transaction failed.");return r}catch(a){throw a instanceof c?a:new c(o.GENERIC_PAYMENT_ERROR,`Solana payment failed: ${a}`)}}const V=0,v="unknown",n=q({paymentAsset:{network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},recipient:"0x0",amount:0,isConfigured:!1,error:null,isPaymentInProgress:!1,exchanges:[],isLoading:!1,openInNewTab:!0,redirectUrl:void 0,payWithExchange:void 0,currentPayment:void 0,analyticsSet:!1,paymentId:void 0}),l={state:n,subscribe(t){return X(n,()=>t(n))},subscribeKey(t,e){return z(n,t,e)},async handleOpenPay(t){this.resetState(),this.setPaymentConfig(t),this.subscribeEvents(),this.initializeAnalytics(),n.isConfigured=!0,_.sendEvent({type:"track",event:"PAY_MODAL_OPEN",properties:{exchanges:n.exchanges,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount}}}),await x.open({view:"Pay"})},resetState(){n.paymentAsset={network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},n.recipient="0x0",n.amount=0,n.isConfigured=!1,n.error=null,n.isPaymentInProgress=!1,n.isLoading=!1,n.currentPayment=void 0},setPaymentConfig(t){if(!t.paymentAsset)throw new c(o.INVALID_PAYMENT_CONFIG);try{n.paymentAsset=t.paymentAsset,n.recipient=t.recipient,n.amount=t.amount,n.openInNewTab=t.openInNewTab??!0,n.redirectUrl=t.redirectUrl,n.payWithExchange=t.payWithExchange,n.error=null}catch(e){throw new c(o.INVALID_PAYMENT_CONFIG,e.message)}},getPaymentAsset(){return n.paymentAsset},getExchanges(){return n.exchanges},async fetchExchanges(){try{n.isLoading=!0;const t=await G({page:V,asset:R(n.paymentAsset.network,n.paymentAsset.asset),amount:n.amount.toString()});n.exchanges=t.exchanges.slice(0,2)}catch{throw T.showError(N.UNABLE_TO_GET_EXCHANGES),new c(o.UNABLE_TO_GET_EXCHANGES)}finally{n.isLoading=!1}},async getAvailableExchanges(t){var e;try{const s=t!=null&&t.asset&&(t!=null&&t.network)?R(t.network,t.asset):void 0;return await G({page:(t==null?void 0:t.page)??V,asset:s,amount:(e=t==null?void 0:t.amount)==null?void 0:e.toString()})}catch{throw new c(o.UNABLE_TO_GET_EXCHANGES)}},async getPayUrl(t,e,s=!1){try{const a=Number(e.amount),r=await ne({exchangeId:t,asset:R(e.network,e.asset),amount:a.toString(),recipient:`${e.network}:${e.recipient}`});return _.sendEvent({type:"track",event:"PAY_EXCHANGE_SELECTED",properties:{source:"pay",exchange:{id:t},configuration:{network:e.network,asset:e.asset,recipient:e.recipient,amount:a},currentPayment:{type:"exchange",exchangeId:t},headless:s}}),s&&(this.initiatePayment(),_.sendEvent({type:"track",event:"PAY_INITIATED",properties:{source:"pay",paymentId:n.paymentId||v,configuration:{network:e.network,asset:e.asset,recipient:e.recipient,amount:a},currentPayment:{type:"exchange",exchangeId:t}}})),r}catch(a){throw a instanceof Error&&a.message.includes("is not supported")?new c(o.ASSET_NOT_SUPPORTED):new Error(a.message)}},async openPayUrl(t,e,s=!1){try{const a=await this.getPayUrl(t.exchangeId,e,s);if(!a)throw new c(o.UNABLE_TO_GET_PAY_URL);const i=t.openInNewTab??!0?"_blank":"_self";return C.openHref(a.url,i),a}catch(a){throw a instanceof c?n.error=a.message:n.error=N.GENERIC_PAYMENT_ERROR,new c(o.UNABLE_TO_GET_PAY_URL)}},subscribeEvents(){n.isConfigured||(w.subscribeKey("connections",t=>{t.size>0&&this.handlePayment()}),p.subscribeChainProp("accountState",t=>{const e=w.hasAnyConnection(g.CONNECTOR_ID.WALLET_CONNECT);t!=null&&t.caipAddress&&(e?setTimeout(()=>{this.handlePayment()},100):this.handlePayment())}))},async handlePayment(){n.currentPayment={type:"wallet",status:"IN_PROGRESS"};const t=p.getActiveCaipAddress();if(!t)return;const{chainId:e,address:s}=b.parseCaipAddress(t),a=p.state.activeChain;if(!s||!e||!a||!B.getProvider(a))return;const i=p.state.activeCaipNetwork;if(i&&!n.isPaymentInProgress)try{this.initiatePayment();const u=p.getAllRequestedCaipNetworks(),d=p.getAllApprovedCaipNetworkIds();switch(await oe({paymentAssetNetwork:n.paymentAsset.network,activeCaipNetwork:i,approvedCaipNetworkIds:d,requestedCaipNetworks:u}),await x.open({view:"PayLoading"}),a){case g.CHAIN.EVM:n.paymentAsset.asset==="native"&&(n.currentPayment.result=await ce(n.paymentAsset,a,{recipient:n.recipient,amount:n.amount,fromAddress:s})),n.paymentAsset.asset.startsWith("0x")&&(n.currentPayment.result=await ue(n.paymentAsset,{recipient:n.recipient,amount:n.amount,fromAddress:s})),n.currentPayment.status="SUCCESS";break;case g.CHAIN.SOLANA:n.currentPayment.result=await le(a,{recipient:n.recipient,amount:n.amount,fromAddress:s,tokenMint:n.paymentAsset.asset==="native"?void 0:n.paymentAsset.asset}),n.currentPayment.status="SUCCESS";break;default:throw new c(o.INVALID_CHAIN_NAMESPACE)}}catch(u){u instanceof c?n.error=u.message:n.error=N.GENERIC_PAYMENT_ERROR,n.currentPayment.status="FAILED",T.showError(n.error)}finally{n.isPaymentInProgress=!1}},getExchangeById(t){return n.exchanges.find(e=>e.id===t)},validatePayConfig(t){const{paymentAsset:e,recipient:s,amount:a}=t;if(!e)throw new c(o.INVALID_PAYMENT_CONFIG);if(!s)throw new c(o.INVALID_RECIPIENT);if(!e.asset)throw new c(o.INVALID_ASSET);if(a==null||a<=0)throw new c(o.INVALID_AMOUNT)},handlePayWithWallet(){const t=p.getActiveCaipAddress();if(!t){L.push("Connect");return}const{chainId:e,address:s}=b.parseCaipAddress(t),a=p.state.activeChain;if(!s||!e||!a){L.push("Connect");return}this.handlePayment()},async handlePayWithExchange(t){try{n.currentPayment={type:"exchange",exchangeId:t};const{network:e,asset:s}=n.paymentAsset,a={network:e,asset:s,amount:n.amount,recipient:n.recipient},r=await this.getPayUrl(t,a);if(!r)throw new c(o.UNABLE_TO_INITIATE_PAYMENT);return n.currentPayment.sessionId=r.sessionId,n.currentPayment.status="IN_PROGRESS",n.currentPayment.exchangeId=t,this.initiatePayment(),{url:r.url,openInNewTab:n.openInNewTab}}catch(e){return e instanceof c?n.error=e.message:n.error=N.GENERIC_PAYMENT_ERROR,n.isPaymentInProgress=!1,T.showError(n.error),null}},async getBuyStatus(t,e){var s,a;try{const r=await se({sessionId:e,exchangeId:t});return(r.status==="SUCCESS"||r.status==="FAILED")&&_.sendEvent({type:"track",event:r.status==="SUCCESS"?"PAY_SUCCESS":"PAY_ERROR",properties:{message:r.status==="FAILED"?C.parseError(n.error):void 0,source:"pay",paymentId:n.paymentId||v,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount},currentPayment:{type:"exchange",exchangeId:(s=n.currentPayment)==null?void 0:s.exchangeId,sessionId:(a=n.currentPayment)==null?void 0:a.sessionId,result:r.txHash}}}),r}catch{throw new c(o.UNABLE_TO_GET_BUY_STATUS)}},async updateBuyStatus(t,e){try{const s=await this.getBuyStatus(t,e);n.currentPayment&&(n.currentPayment.status=s.status,n.currentPayment.result=s.txHash),(s.status==="SUCCESS"||s.status==="FAILED")&&(n.isPaymentInProgress=!1)}catch{throw new c(o.UNABLE_TO_GET_BUY_STATUS)}},initiatePayment(){n.isPaymentInProgress=!0,n.paymentId=crypto.randomUUID()},initializeAnalytics(){n.analyticsSet||(n.analyticsSet=!0,this.subscribeKey("isPaymentInProgress",t=>{var e;if((e=n.currentPayment)!=null&&e.status&&n.currentPayment.status!=="UNKNOWN"){const s={IN_PROGRESS:"PAY_INITIATED",SUCCESS:"PAY_SUCCESS",FAILED:"PAY_ERROR"}[n.currentPayment.status];_.sendEvent({type:"track",event:s,properties:{message:n.currentPayment.status==="FAILED"?C.parseError(n.error):void 0,source:"pay",paymentId:n.paymentId||v,configuration:{network:n.paymentAsset.network,asset:n.paymentAsset.asset,recipient:n.recipient,amount:n.amount},currentPayment:{type:n.currentPayment.type,exchangeId:n.currentPayment.exchangeId,sessionId:n.currentPayment.sessionId,result:n.currentPayment.result}}})}}))}},de=W`
2
2
  wui-separator {
3
3
  margin: var(--apkt-spacing-3) calc(var(--apkt-spacing-3) * -1) var(--apkt-spacing-2)
4
4
  calc(var(--apkt-spacing-3) * -1);
@@ -1,4 +1,4 @@
1
- import{j as p,r as d,l as f,m as c}from"./index-_w3EEN07.js";import{n as m,c as h}from"./index-8h8RbWPq.js";const x=p`
1
+ import{j as p,r as d,l as f,m as c}from"./index-Bi48MbqU.js";import{n as m,c as h}from"./index-lcHXKGfs.js";const x=p`
2
2
  :host {
3
3
  position: relative;
4
4
  display: flex;
@@ -1,3 +1,3 @@
1
- import{p as tt,o as ur,q as fr,r as dr,g as ht,u as rt,f as wt,v as Ge,w as _,x as De,e as qe,y as lr,z as pr,B as _e,C as vt,D as F,T as mr,E as O,F as te,G as ge,H as $e,J as Et,K as br,L as gr,M as yr,N as hr,O as wr,P as vr,Q as Pt,R as J,S as ee,U as Er,V as Pr,W as Me,d as Tt,X as Tr,Y as kr,Z as fe,l as kt,_ as V,m as Ft,$ as re,a0 as nt,a1 as X,n as ye,a2 as ne,a3 as H,a4 as Fr,a5 as Ar,a6 as At,a7 as xr,a8 as Ir,a9 as Nr,aa as xt,ab as It,ac as Nt,ad as Br,ae as Bt,af as Rt,ag as Rr,ah as xe,ai as Le,aj as Cr,ak as Ct,al as Sr,am as Gr,an as Ie,ao as St,ap as Gt,aq as Dr,ar as he,as as qr,at as _r,au as at}from"./verifyHash-B6UCi3Fq.js";import{aN as Ma,aO as La,aP as Oa,aQ as Ha,aR as Ua,b as za,a as ja,aS as Va,h as Wa,i as Za,A as Ja,b1 as Ka,aZ as Qa,aW as Ya,av as Xa,aX as es,a_ as ts,a$ as rs,b0 as ns,aT as as,aU as ss,aw as os,ax as is,I as cs,aY as us,aV as fs,ay as ds,b3 as ls,az as ps,aA as ms,aB as bs,b4 as gs,aC as ys,b5 as hs,aD as ws,aG as vs,b2 as Es,aH as Ps,aI as Ts,bB as ks,bC as Fs,bD as As,bl as xs,bh as Is,bi as Ns,bj as Bs,bk as Rs,b8 as Cs,ba as Ss,be as Gs,c as Ds,k as qs,bp as _s,bc as $s,bq as Ms,bs as Ls,bt as Os,aJ as Hs,b6 as Us,aK as zs,bd as js,b9 as Vs,bx as Ws,t as Zs,bx as Js,bm as Ks,aL as Qs,aM as Ys,bn as Xs,aE as eo,aF as to,b7 as ro,by as no,bz as ao,bu as so,bE as oo,bA as io,bF as co,bv as uo,bA as fo,s as lo,bf as po,bg as mo,bb as bo,bw as go,bx as yo,bw as ho,t as wo,bx as vo,bo as Eo,br as Po,aK as To}from"./verifyHash-B6UCi3Fq.js";import{ab as st,ac as $r,ad as ot}from"./index-_w3EEN07.js";import{ai as Fo,ae as Ao,af as xo,ah as Io,ag as No,aj as Bo}from"./index-_w3EEN07.js";import{B as D,n as S,f as ce,U as Oe,h as de,a as we,L as Mr,c as le,s as U,I as Dt,i as Lr,d as pe,e as it,t as ae,u as qt,j as Or,k as ct,l as Hr,m as ut,o as Ur,w as zr}from"./NetworkUtil-BB0TxE9p.js";import{X as Co,W as So,Y as Go,Z as Do,_ as qo,E as _o,F as $o,G as Mo,H as Lo,J as Oo,y as Ho,$ as Uo,K as zo,M as jo,z as Vo,A as Wo,a0 as Zo,a1 as Jo,a2 as Ko,a3 as Qo,a4 as Yo,a5 as Xo,N as ei,O as ti,P as ri,a6 as ni,a7 as ai,a8 as si,a9 as oi,aa as ii,ab as ci,R as ui,S as fi,D as di,x as li,ac as pi,V as mi,T as bi,ad as gi,Q as yi,ae as hi,af as wi,ag as vi,ah as Ei,ai as Pi,aj as Ti,ak as ki,ap as Fi,p as Ai,q as xi,r as Ii,aq as Ni,v as Bi,ao as Ri,al as Ci,am as Si,an as Gi,q as Di}from"./NetworkUtil-BB0TxE9p.js";import{l as He}from"./ccip-xyxXL3L7.js";import{c as _i,c as $i,d as Mi,e as Li,a as Oi,o as Hi,b as Ui,f as zi}from"./ccip-xyxXL3L7.js";import"./thirdweb-BXzAJI2R.js";import"./index-BmAbXTYm.js";import"./ui-BZVBOcI0.js";import"./vendor-BpyywBCn.js";function ft(e){let t;if(typeof e=="string")t=tt(e);else{const r=ur(e),n=e.length;for(let a=0;a<n;a++){const s=e[a];if(!fr(s)){t=tt(s,r);break}}}if(!t)throw new dr({signature:e});return t}class jr extends D{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}const dt="/docs/contract/encodeEventTopics";function se(e){var c;const{abi:t,eventName:r,args:n}=e;let a=t[0];if(r){const d=ht({abi:t,name:r});if(!d)throw new rt(r,{docsPath:dt});a=d}if(a.type!=="event")throw new rt(void 0,{docsPath:dt});const s=wt(a),o=Ge(s);let i=[];if(n&&"inputs"in a){const d=(c=a.inputs)==null?void 0:c.filter(f=>"indexed"in f&&f.indexed),u=Array.isArray(n)?n:Object.values(n).length>0?(d==null?void 0:d.map(f=>n[f.name]))??[]:[];u.length>0&&(i=(d==null?void 0:d.map((f,l)=>Array.isArray(u[l])?u[l].map((m,p)=>lt({param:f,value:u[l][p]})):typeof u[l]<"u"&&u[l]!==null?lt({param:f,value:u[l]}):null))??[])}return[o,...i]}function lt({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return _(De(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new jr(e.type);return qe([e],[t])}function ve(e,{method:t}){var n,a;const r={};return e.transport.type==="fallback"&&((a=(n=e.transport).onResponse)==null||a.call(n,({method:s,response:o,status:i,transport:c})=>{i==="success"&&t===s&&(r[o]=c.request)})),(s=>r[s]||e.request)}async function _t(e,t){const{address:r,abi:n,args:a,eventName:s,fromBlock:o,strict:i,toBlock:c}=t,d=ve(e,{method:"eth_newFilter"}),u=s?se({abi:n,args:a,eventName:s}):void 0,f=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?S(o):o,toBlock:typeof c=="bigint"?S(c):c,topics:u}]});return{abi:n,args:a,eventName:s,id:f,request:d(f),strict:!!i,type:"event"}}class Vr extends D{constructor(t,{account:r,docsPath:n,chain:a,data:s,gas:o,gasPrice:i,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:f,value:l}){var p;const m=lr({from:r==null?void 0:r.address,to:f,value:typeof l<"u"&&`${pr(l)} ${((p=a==null?void 0:a.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof i<"u"&&`${ce(i)} gwei`,maxFeePerGas:typeof c<"u"&&`${ce(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${ce(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",m].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function Wr(e,{docsPath:t,...r}){const n=(()=>{const a=_e(e,r);return a instanceof Oe?e:a})();return new Vr(n,{docsPath:t,...r})}class $t extends D{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Ue extends D{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class Zr extends D{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${ce(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Mt extends D{constructor({blockHash:t,blockNumber:r}){let n="Block";t&&(n=`Block at hash "${t}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}async function $(e,{blockHash:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",includeTransactions:a}={}){var d,u,f;const s=a??!1,o=r!==void 0?S(r):void 0;let i=null;if(t?i=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):i=await e.request({method:"eth_getBlockByNumber",params:[o||n,s]},{dedupe:!!o}),!i)throw new Mt({blockHash:t,blockNumber:r});return(((f=(u=(d=e.chain)==null?void 0:d.formatters)==null?void 0:u.block)==null?void 0:f.format)||vt)(i,"getBlock")}async function ze(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Jr(e,t){return Lt(e,t)}async function Lt(e,t){var s,o;const{block:r,chain:n=e.chain,request:a}=t||{};try{const i=((s=n==null?void 0:n.fees)==null?void 0:s.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof i=="function"){const d=r||await F(e,$,"getBlock")({}),u=await i({block:d,client:e,request:a});if(u===null)throw new Error;return u}if(typeof i<"u")return i;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return de(c)}catch{const[i,c]=await Promise.all([r?Promise.resolve(r):F(e,$,"getBlock")({}),F(e,ze,"getGasPrice")({})]);if(typeof i.baseFeePerGas!="bigint")throw new Ue;const d=c-i.baseFeePerGas;return d<0n?0n:d}}async function Kr(e,t){return Ne(e,t)}async function Ne(e,t){var l,m;const{block:r,chain:n=e.chain,request:a,type:s="eip1559"}=t||{},o=await(async()=>{var p,b;return typeof((p=n==null?void 0:n.fees)==null?void 0:p.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:e,request:a}):((b=n==null?void 0:n.fees)==null?void 0:b.baseFeeMultiplier)??1.2})();if(o<1)throw new $t;const c=10**(((l=o.toString().split(".")[1])==null?void 0:l.length)??0),d=p=>p*BigInt(Math.ceil(o*c))/BigInt(c),u=r||await F(e,$,"getBlock")({});if(typeof((m=n==null?void 0:n.fees)==null?void 0:m.estimateFeesPerGas)=="function"){const p=await n.fees.estimateFeesPerGas({block:r,client:e,multiply:d,request:a,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Ue;const p=typeof(a==null?void 0:a.maxPriorityFeePerGas)=="bigint"?a.maxPriorityFeePerGas:await Lt(e,{block:u,chain:n,request:a}),b=d(u.baseFeePerGas);return{maxFeePerGas:(a==null?void 0:a.maxFeePerGas)??b+p,maxPriorityFeePerGas:p}}return{gasPrice:(a==null?void 0:a.gasPrice)??d(await F(e,ze,"getGasPrice")({}))}}async function Ot(e,{address:t,blockTag:r="latest",blockNumber:n}){const a=await e.request({method:"eth_getTransactionCount",params:[t,typeof n=="bigint"?S(n):r]},{dedupe:!!n});return we(a)}function Qr(e,{docsPath:t,...r}){const n=(()=>{const a=_e(e,r);return a instanceof Oe?e:a})();return new mr(n,{docsPath:t,...r})}async function je(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return we(t)}async function Ht(e,t){var v,k,C,N,R;const{account:r=e.account,accessList:n,authorizationList:a,chain:s=e.chain,blobVersionedHashes:o,blobs:i,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:p,nonceManager:b,to:y,type:g,value:E,...w}=t,P=await(async()=>{if(!r||!b||typeof p<"u")return p;const B=O(r),q=s?s.id:await F(e,je,"getChainId")({});return await b.consume({address:B.address,chainId:q,client:e})})();te(t);const T=(k=(v=s==null?void 0:s.formatters)==null?void 0:v.transactionRequest)==null?void 0:k.format,h=(T||ge)({...$e(w,{format:T}),account:r?O(r):void 0,accessList:n,authorizationList:a,blobs:i,blobVersionedHashes:o,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:P,to:y,type:g,value:E},"fillTransaction");try{const B=await e.request({method:"eth_fillTransaction",params:[h]}),A=(((N=(C=s==null?void 0:s.formatters)==null?void 0:C.transaction)==null?void 0:N.format)||Et)(B.tx);delete A.blockHash,delete A.blockNumber,delete A.r,delete A.s,delete A.transactionIndex,delete A.v,delete A.yParity,A.data=A.input,A.gas&&(A.gas=t.gas??A.gas),A.gasPrice&&(A.gasPrice=t.gasPrice??A.gasPrice),A.maxFeePerBlobGas&&(A.maxFeePerBlobGas=t.maxFeePerBlobGas??A.maxFeePerBlobGas),A.maxFeePerGas&&(A.maxFeePerGas=t.maxFeePerGas??A.maxFeePerGas),A.maxPriorityFeePerGas&&(A.maxPriorityFeePerGas=t.maxPriorityFeePerGas??A.maxPriorityFeePerGas),A.nonce&&(A.nonce=t.nonce??A.nonce);const z=await(async()=>{var M,Z;if(typeof((M=s==null?void 0:s.fees)==null?void 0:M.baseFeeMultiplier)=="function"){const ke=await F(e,$,"getBlock")({});return s.fees.baseFeeMultiplier({block:ke,client:e,request:t})}return((Z=s==null?void 0:s.fees)==null?void 0:Z.baseFeeMultiplier)??1.2})();if(z<1)throw new $t;const x=10**(((R=z.toString().split(".")[1])==null?void 0:R.length)??0),G=M=>M*BigInt(Math.ceil(z*x))/BigInt(x);return A.maxFeePerGas&&!t.maxFeePerGas&&(A.maxFeePerGas=G(A.maxFeePerGas)),A.gasPrice&&!t.gasPrice&&(A.gasPrice=G(A.gasPrice)),{raw:B.raw,transaction:{from:h.from,...A}}}catch(B){throw Qr(B,{...t,chain:e.chain})}}const Yr=["blobVersionedHashes","chainId","fees","gas","nonce","type"],pt=new Map,Fe=new Mr(128);async function Ut(e,t){var P,T,I;let r=t;r.account??(r.account=e.account),r.parameters??(r.parameters=Yr);const{account:n,chain:a=e.chain,nonceManager:s,parameters:o}=r,i=(()=>{if(typeof(a==null?void 0:a.prepareTransactionRequest)=="function")return{fn:a.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(a==null?void 0:a.prepareTransactionRequest))return{fn:a.prepareTransactionRequest[0],runAt:a.prepareTransactionRequest[1].runAt}})();let c;async function d(){return c||(typeof r.chainId<"u"?r.chainId:a?a.id:(c=await F(e,je,"getChainId")({}),c))}const u=n&&O(n);let f=r.nonce;if(o.includes("nonce")&&typeof f>"u"&&u&&s){const h=await d();f=await s.consume({address:u.address,chainId:h,client:e})}i!=null&&i.fn&&((P=i.runAt)!=null&&P.includes("beforeFillTransaction"))&&(r=await i.fn({...r,chain:a},{phase:"beforeFillTransaction"}),f??(f=r.nonce));const m=((o.includes("blobVersionedHashes")||o.includes("sidecars"))&&r.kzg&&r.blobs||Fe.get(e.uid)===!1||!["fees","gas"].some(v=>o.includes(v))?!1:!!(o.includes("chainId")&&typeof r.chainId!="number"||o.includes("nonce")&&typeof f!="number"||o.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||o.includes("gas")&&typeof r.gas!="bigint"))?await F(e,Ht,"fillTransaction")({...r,nonce:f}).then(h=>{const{chainId:v,from:k,gas:C,gasPrice:N,nonce:R,maxFeePerBlobGas:B,maxFeePerGas:q,maxPriorityFeePerGas:A,type:z,...j}=h.transaction;return Fe.set(e.uid,!0),{...r,...k?{from:k}:{},...z?{type:z}:{},...typeof v<"u"?{chainId:v}:{},...typeof C<"u"?{gas:C}:{},...typeof N<"u"?{gasPrice:N}:{},...typeof R<"u"?{nonce:R}:{},...typeof B<"u"?{maxFeePerBlobGas:B}:{},...typeof q<"u"?{maxFeePerGas:q}:{},...typeof A<"u"?{maxPriorityFeePerGas:A}:{},..."nonceKey"in j&&typeof j.nonceKey<"u"?{nonceKey:j.nonceKey}:{}}}).catch(h=>{var C;const v=h;return v.name!=="TransactionExecutionError"||((C=v.walk)==null?void 0:C.call(v,N=>{const R=N;return R.name==="MethodNotFoundRpcError"||R.name==="MethodNotSupportedRpcError"}))&&Fe.set(e.uid,!1),r}):r;f??(f=m.nonce),r={...m,...u?{from:u==null?void 0:u.address}:{},...f?{nonce:f}:{}};const{blobs:p,gas:b,kzg:y,type:g}=r;i!=null&&i.fn&&((T=i.runAt)!=null&&T.includes("beforeFillParameters"))&&(r=await i.fn({...r,chain:a},{phase:"beforeFillParameters"}));let E;async function w(){return E||(E=await F(e,$,"getBlock")({blockTag:"latest"}),E)}if(o.includes("nonce")&&typeof f>"u"&&u&&!s&&(r.nonce=await F(e,Ot,"getTransactionCount")({address:u.address,blockTag:"pending"})),(o.includes("blobVersionedHashes")||o.includes("sidecars"))&&p&&y){const h=br({blobs:p,kzg:y});if(o.includes("blobVersionedHashes")){const v=gr({commitments:h,to:"hex"});r.blobVersionedHashes=v}if(o.includes("sidecars")){const v=yr({blobs:p,commitments:h,kzg:y}),k=hr({blobs:p,commitments:h,proofs:v,to:"hex"});r.sidecars=k}}if(o.includes("chainId")&&(r.chainId=await d()),(o.includes("fees")||o.includes("type"))&&typeof g>"u")try{r.type=wr(r)}catch{let h=pt.get(e.uid);if(typeof h>"u"){const v=await w();h=typeof(v==null?void 0:v.baseFeePerGas)=="bigint",pt.set(e.uid,h)}r.type=h?"eip1559":"legacy"}if(o.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){const h=await w(),{maxFeePerGas:v,maxPriorityFeePerGas:k}=await Ne(e,{block:h,chain:a,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<k)throw new Zr({maxPriorityFeePerGas:k});r.maxPriorityFeePerGas=k,r.maxFeePerGas=v}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new Ue;if(typeof r.gasPrice>"u"){const h=await w(),{gasPrice:v}=await Ne(e,{block:h,chain:a,request:r,type:"legacy"});r.gasPrice=v}}return o.includes("gas")&&typeof b>"u"&&(r.gas=await F(e,Ve,"estimateGas")({...r,account:u,prepare:(u==null?void 0:u.type)==="local"?[]:["blobVersionedHashes"]})),i!=null&&i.fn&&((I=i.runAt)!=null&&I.includes("afterFillParameters"))&&(r=await i.fn({...r,chain:a},{phase:"afterFillParameters"})),te(r),delete r.parameters,r}async function Ve(e,t){var o,i,c;const{account:r=e.account,prepare:n=!0}=t,a=r?O(r):void 0,s=(()=>{if(Array.isArray(n))return n;if((a==null?void 0:a.type)!=="local")return["blobVersionedHashes"]})();try{const d=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await vr({authorization:t.authorizationList[0]}).catch(()=>{throw new D("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:u,authorizationList:f,blobs:l,blobVersionedHashes:m,blockNumber:p,blockTag:b,data:y,gas:g,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:P,maxPriorityFeePerGas:T,nonce:I,value:h,stateOverride:v,...k}=n?await Ut(e,{...t,parameters:s,to:d}):t;if(g&&t.gas!==g)return g;const N=(typeof p=="bigint"?S(p):void 0)||b,R=Pt(v);te(t);const B=(c=(i=(o=e.chain)==null?void 0:o.formatters)==null?void 0:i.transactionRequest)==null?void 0:c.format,A=(B||ge)({...$e(k,{format:B}),account:a,accessList:u,authorizationList:f,blobs:l,blobVersionedHashes:m,data:y,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:P,maxPriorityFeePerGas:T,nonce:I,to:d,value:h},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:R?[A,N??e.experimental_blockTag??"latest",R]:N?[A,N]:[A]}))}catch(d){throw Wr(d,{...t,account:a,chain:e.chain})}}async function Xr(e,t){const{abi:r,address:n,args:a,functionName:s,dataSuffix:o,...i}=t,c=J({abi:r,args:a,functionName:s});try{return await F(e,Ve,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...i})}catch(d){const u=i.account?O(i.account):void 0;throw ee(d,{abi:r,address:n,args:a,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u==null?void 0:u.address})}}const mt="/docs/contract/decodeEventLog";function me(e){const{abi:t,data:r,strict:n,topics:a}=e,s=n??!0,[o,...i]=a;if(!o)throw new Er({docsPath:mt});const c=t.find(b=>b.type==="event"&&o===Ge(wt(b)));if(!(c&&"name"in c)||c.type!=="event")throw new Pr(o,{docsPath:mt});const{name:d,inputs:u}=c,f=u==null?void 0:u.some(b=>!("name"in b&&b.name)),l=f?[]:{},m=u.map((b,y)=>[b,y]).filter(([b])=>"indexed"in b&&b.indexed);for(let b=0;b<m.length;b++){const[y,g]=m[b],E=i[b];if(!E)throw new Me({abiItem:c,param:y});l[f?g:y.name||g]=en({param:y,value:E})}const p=u.filter(b=>!("indexed"in b&&b.indexed));if(p.length>0){if(r&&r!=="0x")try{const b=Tt(p,r);if(b)if(f)for(let y=0;y<u.length;y++)l[y]=l[y]??b.shift();else for(let y=0;y<p.length;y++)l[p[y].name]=b[y]}catch(b){if(s)throw b instanceof Tr||b instanceof kr?new fe({abiItem:c,data:r,params:p,size:le(r)}):b}else if(s)throw new fe({abiItem:c,data:"0x",params:p,size:0})}return{eventName:d,args:Object.values(l).length>0?l:void 0}}function en({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Tt([e],t)||[])[0]}function We(e){const{abi:t,args:r,logs:n,strict:a=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return n.map(o=>{var u;const i=t.filter(f=>f.type==="event"&&o.topics[0]===Ge(f));if(i.length===0)return null;let c,d;for(const f of i)try{c=me({...o,abi:[f],strict:!0}),d=f;break}catch{}if(!c&&!a){d=i[0];try{c=me({...o,abi:[d],strict:!1})}catch{const f=(u=d.inputs)==null?void 0:u.some(l=>!("name"in l&&l.name));return{...o,args:f?[]:{},eventName:d.name}}}return!c||!d||s&&!s.includes(c.eventName)||!tn({args:c.args,inputs:d.inputs,matchArgs:r})?null:{...c,...o}}).filter(Boolean)}function tn(e){const{args:t,inputs:r,matchArgs:n}=e;if(!n)return!0;if(!t)return!1;function a(s,o,i){try{return s.type==="address"?kt(o,i):s.type==="string"||s.type==="bytes"?_(De(o))===i:o===i}catch{return!1}}return Array.isArray(t)&&Array.isArray(n)?n.every((s,o)=>{if(s==null)return!0;const i=r[o];return i?(Array.isArray(s)?s:[s]).some(d=>a(i,d,t[o])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([s,o])=>{if(o==null)return!0;const i=r.find(d=>d.name===s);return i?(Array.isArray(o)?o:[o]).some(d=>a(i,d,t[s])):!1}):!1}async function Ze(e,{address:t,blockHash:r,fromBlock:n,toBlock:a,event:s,events:o,args:i,strict:c}={}){const d=c??!1,u=o??(s?[s]:void 0);let f=[];u&&(f=[u.flatMap(b=>se({abi:[b],eventName:b.name,args:o?void 0:i}))],s&&(f=f[0]));let l;r?l=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:r}]}):l=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:typeof n=="bigint"?S(n):n,toBlock:typeof a=="bigint"?S(a):a}]});const m=l.map(p=>V(p));return u?We({abi:u,args:i,logs:m,strict:d}):m}async function zt(e,t){const{abi:r,address:n,args:a,blockHash:s,eventName:o,fromBlock:i,toBlock:c,strict:d}=t,u=o?ht({abi:r,name:o}):void 0,f=u?void 0:r.filter(l=>l.type==="event");return F(e,Ze,"getLogs")({address:n,args:a,blockHash:s,event:u,events:f,fromBlock:i,toBlock:c,strict:d})}async function rn(e,t){const{abi:r,address:n,args:a,dataSuffix:s,functionName:o,...i}=t,c=i.account?O(i.account):e.account,d=J({abi:r,args:a,functionName:o});try{const{data:u}=await F(e,Ft,"call")({batch:!1,data:`${d}${s?s.replace("0x",""):""}`,to:n,...i,account:c}),f=re({abi:r,args:a,functionName:o,data:u||"0x"}),l=r.filter(m=>"name"in m&&m.name===t.functionName);return{result:f,request:{abi:l,address:n,args:a,dataSuffix:s,functionName:o,...i,account:c}}}catch(u){throw ee(u,{abi:r,address:n,args:a,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const Ae=new Map,bt=new Map;let nn=0;function W(e,t,r){const n=++nn,a=()=>Ae.get(e)||[],s=()=>{const u=a();Ae.set(e,u.filter(f=>f.id!==n))},o=()=>{const u=a();if(!u.some(l=>l.id===n))return;const f=bt.get(e);if(u.length===1&&f){const l=f();l instanceof Promise&&l.catch(()=>{})}s()},i=a();if(Ae.set(e,[...i,{id:n,fns:t}]),i&&i.length>0)return o;const c={};for(const u in t)c[u]=((...f)=>{var m,p;const l=a();if(l.length!==0)for(const b of l)(p=(m=b.fns)[u])==null||p.call(m,...f)});const d=r(c);return typeof d=="function"&&bt.set(e,d),o}function oe(e,{emitOnBegin:t,initialWaitTime:r,interval:n}){let a=!0;const s=()=>a=!1;return(async()=>{let i;t&&(i=await e({unpoll:s}));const c=await(r==null?void 0:r(i))??n;await st(c);const d=async()=>{a&&(await e({unpoll:s}),await st(n),d())};d()})(),s}const an=new Map,sn=new Map;function on(e){const t=(a,s)=>({clear:()=>s.delete(a),get:()=>s.get(a),set:o=>s.set(a,o)}),r=t(e,an),n=t(e,sn);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function cn(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){const n=on(t),a=n.response.get();if(a&&r>0&&Date.now()-a.created.getTime()<r)return a.data;let s=n.promise.get();s||(s=e(),n.promise.set(s));try{const o=await s;return n.response.set({created:new Date,data:o}),o}finally{n.promise.clear()}}const un=e=>`blockNumber.${e}`;async function ie(e,{cacheTime:t=e.cacheTime}={}){const r=await cn(()=>e.request({method:"eth_blockNumber"}),{cacheKey:un(e.uid),cacheTime:t});return BigInt(r)}async function Ee(e,{filter:t}){const r="strict"in t&&t.strict,n=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof n[0]=="string")return n;const a=n.map(s=>V(s));return!("abi"in t)||!t.abi?a:We({abi:t.abi,logs:a,strict:r})}async function Pe(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function fn(e,t){const{abi:r,address:n,args:a,batch:s=!0,eventName:o,fromBlock:i,onError:c,onLogs:d,poll:u,pollingInterval:f=e.pollingInterval,strict:l}=t;return(typeof u<"u"?u:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{const y=l??!1,g=U(["watchContractEvent",n,a,s,e.uid,o,f,y,i]);return W(g,{onLogs:d,onError:c},E=>{let w;i!==void 0&&(w=i-1n);let P,T=!1;const I=oe(async()=>{var h;if(!T){try{P=await F(e,_t,"createContractEventFilter")({abi:r,address:n,args:a,eventName:o,strict:y,fromBlock:i})}catch{}T=!0;return}try{let v;if(P)v=await F(e,Ee,"getFilterChanges")({filter:P});else{const k=await F(e,ie,"getBlockNumber")({});w&&w<k?v=await F(e,zt,"getContractEvents")({abi:r,address:n,args:a,eventName:o,fromBlock:w+1n,toBlock:k,strict:y}):v=[],w=k}if(v.length===0)return;if(s)E.onLogs(v);else for(const k of v)E.onLogs([k])}catch(v){P&&v instanceof Dt&&(T=!1),(h=E.onError)==null||h.call(E,v)}},{emitOnBegin:!0,interval:f});return async()=>{P&&await F(e,Pe,"uninstallFilter")({filter:P}),I()}})})():(()=>{const y=l??!1,g=U(["watchContractEvent",n,a,s,e.uid,o,f,y]);let E=!0,w=()=>E=!1;return W(g,{onLogs:d,onError:c},P=>((async()=>{try{const T=(()=>{if(e.transport.type==="fallback"){const v=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return v?v.value:e.transport}return e.transport})(),I=o?se({abi:r,eventName:o,args:a}):[],{unsubscribe:h}=await T.subscribe({params:["logs",{address:n,topics:I}],onData(v){var C;if(!E)return;const k=v.result;try{const{eventName:N,args:R}=me({abi:r,data:k.data,topics:k.topics,strict:l}),B=V(k,{args:R,eventName:N});P.onLogs([B])}catch(N){let R,B;if(N instanceof fe||N instanceof Me){if(l)return;R=N.abiItem.name,B=(C=N.abiItem.inputs)==null?void 0:C.some(A=>!("name"in A&&A.name))}const q=V(k,{args:B?[]:{},eventName:R});P.onLogs([q])}},onError(v){var k;(k=P.onError)==null||k.call(P,v)}});w=h,E||w()}catch(T){c==null||c(T)}})(),()=>w()))})()}async function dn(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}function ln(e){const{batch:t,chain:r,ccipRead:n,key:a="base",name:s="Base Client",type:o="base"}=e,i=e.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),c=(r==null?void 0:r.blockTime)??12e3,d=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??d,f=e.cacheTime??u,l=e.account?O(e.account):void 0,{config:m,request:p,value:b}=e.transport({account:l,chain:r,pollingInterval:u}),y={...m,...b},g={account:l,batch:t,cacheTime:f,ccipRead:n,chain:r,key:a,name:s,pollingInterval:u,request:p,transport:y,type:o,uid:$r(),...i?{experimental_blockTag:i}:{}};function E(w){return P=>{const T=P(w);for(const h in g)delete T[h];const I={...w,...T};return Object.assign(I,{extend:E(I)})}}return Object.assign(g,{extend:E(g)})}function Je(e){var r,n,a,s,o,i;if(!(e instanceof D))return!1;const t=e.walk(c=>c instanceof nt);return t instanceof nt?((r=t.data)==null?void 0:r.errorName)==="HttpError"||((n=t.data)==null?void 0:n.errorName)==="ResolverError"||((a=t.data)==null?void 0:a.errorName)==="ResolverNotContract"||((s=t.data)==null?void 0:s.errorName)==="ResolverNotFound"||((o=t.data)==null?void 0:o.errorName)==="ReverseAddressMismatch"||((i=t.data)==null?void 0:i.errorName)==="UnsupportedResolverProfile":!1}function jt(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return Lr(t)?t:null}function Be(e){let t=new Uint8Array(32).fill(0);if(!e)return pe(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const a=jt(r[n]),s=a?De(a):_(X(r[n]),"bytes");t=_(ye([t,s]),"bytes")}return pe(t)}function pn(e){return`[${e.slice(2)}]`}function mn(e){const t=new Uint8Array(32).fill(0);return e?jt(e)||_(X(e)):pe(t)}function Ke(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(X(t).byteLength+2);let n=0;const a=t.split(".");for(let s=0;s<a.length;s++){let o=X(a[s]);o.byteLength>255&&(o=X(pn(mn(a[s])))),r[n]=o.length,r.set(o,n+1),n+=o.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function bn(e,t){const{blockNumber:r,blockTag:n,coinType:a,name:s,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(l=>s.endsWith(l)))return null;const f=a!=null?[Be(s),BigInt(a)]:[Be(s)];try{const l=J({abi:it,functionName:"addr",args:f}),m={address:d,abi:qt,functionName:"resolveWithGateways",args:[ae(Ke(s)),l,o??[He]],blockNumber:r,blockTag:n},b=await F(e,H,"readContract")(m);if(b[0]==="0x")return null;const y=re({abi:it,args:f,functionName:"addr",data:b[0]});return y==="0x"||Or(y)==="0x00"?null:y}catch(l){if(i)throw l;if(Je(l))return null;throw l}}class gn extends D{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class Y extends D{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class Qe extends D{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class yn extends D{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const hn=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,wn=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,vn=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,En=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Pn(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function gt(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Vt({uri:e,gatewayUrls:t}){const r=vn.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=gt(t==null?void 0:t.ipfs,"https://ipfs.io"),a=gt(t==null?void 0:t.arweave,"https://arweave.net"),s=e.match(hn),{protocol:o,subpath:i,target:c,subtarget:d=""}=(s==null?void 0:s.groups)||{},u=o==="ipns:/"||i==="ipns/",f=o==="ipfs:/"||i==="ipfs/"||wn.test(e);if(e.startsWith("http")&&!u&&!f){let m=e;return t!=null&&t.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((u||f)&&c)return{uri:`${n}/${u?"ipns":"ipfs"}/${c}${d}`,isOnChain:!1,isEncoded:!1};if(o==="ar:/"&&c)return{uri:`${a}/${c}${d||""}`,isOnChain:!1,isEncoded:!1};let l=e.replace(En,"");if(l.startsWith("<svg")&&(l=`data:image/svg+xml;base64,${btoa(l)}`),l.startsWith("data:")||l.startsWith("{"))return{uri:l,isOnChain:!0,isEncoded:!1};throw new Qe({uri:e})}function Wt(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new gn({data:e});return e.image||e.image_url||e.image_data}async function Tn({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(a=>a.json());return await Ye({gatewayUrls:e,uri:Wt(r)})}catch{throw new Qe({uri:t})}}async function Ye({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=Vt({uri:t,gatewayUrls:e});if(n||await Pn(r))return r;throw new Qe({uri:t})}function kn(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,a]=t.split("/"),[s,o]=r.split(":"),[i,c]=n.split(":");if(!s||s.toLowerCase()!=="eip155")throw new Y({reason:"Only EIP-155 supported"});if(!o)throw new Y({reason:"Chain ID not found"});if(!c)throw new Y({reason:"Contract address not found"});if(!a)throw new Y({reason:"Token ID not found"});if(!i)throw new Y({reason:"ERC namespace not found"});return{chainID:Number.parseInt(o,10),namespace:i.toLowerCase(),contractAddress:c,tokenID:a}}async function Fn(e,{nft:t}){if(t.namespace==="erc721")return H(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return H(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new yn({namespace:t.namespace})}async function An(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?xn(e,{gatewayUrls:t,record:r}):Ye({uri:r,gatewayUrls:t})}async function xn(e,{gatewayUrls:t,record:r}){const n=kn(r),a=await Fn(e,{nft:n}),{uri:s,isOnChain:o,isEncoded:i}=Vt({uri:a,gatewayUrls:t});if(o&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){const d=i?atob(s.replace("data:application/json;base64,","")):s,u=JSON.parse(d);return Ye({uri:Wt(u),gatewayUrls:t})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Tn({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}async function Zt(e,t){const{blockNumber:r,blockTag:n,key:a,name:s,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;try{const f={address:d,abi:qt,args:[ae(Ke(s)),J({abi:ct,functionName:"text",args:[Be(s),a]}),o??[He]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},m=await F(e,H,"readContract")(f);if(m[0]==="0x")return null;const p=re({abi:ct,functionName:"text",data:m[0]});return p===""?null:p}catch(f){if(i)throw f;if(Je(f))return null;throw f}}async function In(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:a,gatewayUrls:s,strict:o,universalResolverAddress:i}){const c=await F(e,Zt,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:a,universalResolverAddress:i,gatewayUrls:s,strict:o});if(!c)return null;try{return await An(e,{record:c,gatewayUrls:n})}catch{return null}}async function Nn(e,t){const{address:r,blockNumber:n,blockTag:a,coinType:s=60n,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const u={address:d,abi:Hr,args:[r,s,o??[He]],functionName:"reverseWithGateways",blockNumber:n,blockTag:a},f=F(e,H,"readContract"),[l]=await f(u);return l||null}catch(u){if(i)throw u;if(Je(u))return null;throw u}}async function Bn(e,t){const{blockNumber:r,blockTag:n,name:a}=t,{chain:s}=e,o=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:s,contract:"ensUniversalResolver"})})(),i=s==null?void 0:s.ensTlds;if(i&&!i.some(d=>a.endsWith(d)))throw new Error(`${a} is not a valid ENS TLD (${i==null?void 0:i.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);const[c]=await F(e,H,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ae(Ke(a))],blockNumber:r,blockTag:n});return c}async function Jt(e,t){var y,g,E;const{account:r=e.account,blockNumber:n,blockTag:a="latest",blobs:s,data:o,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:f,to:l,value:m,...p}=t,b=r?O(r):void 0;try{te(t);const P=(typeof n=="bigint"?S(n):void 0)||a,T=(E=(g=(y=e.chain)==null?void 0:y.formatters)==null?void 0:g.transactionRequest)==null?void 0:E.format,h=(T||ge)({...$e(p,{format:T}),account:b,blobs:s,data:o,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:f,to:l,value:m},"createAccessList"),v=await e.request({method:"eth_createAccessList",params:[h,P]});return{accessList:v.accessList,gasUsed:BigInt(v.gasUsed)}}catch(w){throw Fr(w,{...t,account:b,chain:e.chain})}}async function Rn(e){const t=ve(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function Kt(e,{address:t,args:r,event:n,events:a,fromBlock:s,strict:o,toBlock:i}={}){const c=a??(n?[n]:void 0),d=ve(e,{method:"eth_newFilter"});let u=[];c&&(u=[c.flatMap(m=>se({abi:[m],eventName:m.name,args:r}))],n&&(u=u[0]));const f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?S(s):s,toBlock:typeof i=="bigint"?S(i):i,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:s,id:f,request:d(f),strict:!!o,toBlock:i,type:"event"}}async function Qt(e){const t=ve(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Cn(e,{address:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest"}){const a=typeof r=="bigint"?S(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,a||n]});return BigInt(s)}async function Sn(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Gn(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const a=r!==void 0?S(r):void 0;let s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[a||n]},{dedupe:!!a}),we(s)}class Dn extends D{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function qn(e,t){const{address:r,factory:n,factoryData:a}=t;try{const[s,o,i,c,d,u,f]=await F(e,H,"readContract")({abi:_n,address:r,functionName:"eip712Domain",factory:n,factoryData:a});return{domain:{name:o,version:i,chainId:Number(c),verifyingContract:d,salt:u},extensions:f,fields:s}}catch(s){const o=s;throw o.name==="ContractFunctionExecutionError"&&o.cause.name==="ContractFunctionZeroDataError"?new Dn({address:r}):o}}const _n=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function $n(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Mn(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:a}){const s=typeof r=="bigint"?S(r):void 0,o=await e.request({method:"eth_feeHistory",params:[S(t),s||n,a]},{dedupe:!!s});return $n(o)}async function Ln(e,{filter:t}){const r=t.strict??!1,a=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>V(s));return t.abi?We({abi:t.abi,logs:a,strict:r}):a}const On=`Ethereum Signed Message:
1
+ import{p as tt,o as ur,q as fr,r as dr,g as ht,u as rt,f as wt,v as Ge,w as _,x as De,e as qe,y as lr,z as pr,B as _e,C as vt,D as F,T as mr,E as O,F as te,G as ge,H as $e,J as Et,K as br,L as gr,M as yr,N as hr,O as wr,P as vr,Q as Pt,R as J,S as ee,U as Er,V as Pr,W as Me,d as Tt,X as Tr,Y as kr,Z as fe,l as kt,_ as V,m as Ft,$ as re,a0 as nt,a1 as X,n as ye,a2 as ne,a3 as H,a4 as Fr,a5 as Ar,a6 as At,a7 as xr,a8 as Ir,a9 as Nr,aa as xt,ab as It,ac as Nt,ad as Br,ae as Bt,af as Rt,ag as Rr,ah as xe,ai as Le,aj as Cr,ak as Ct,al as Sr,am as Gr,an as Ie,ao as St,ap as Gt,aq as Dr,ar as he,as as qr,at as _r,au as at}from"./verifyHash-Dbcj3tYL.js";import{aN as Ma,aO as La,aP as Oa,aQ as Ha,aR as Ua,b as za,a as ja,aS as Va,h as Wa,i as Za,A as Ja,b1 as Ka,aZ as Qa,aW as Ya,av as Xa,aX as es,a_ as ts,a$ as rs,b0 as ns,aT as as,aU as ss,aw as os,ax as is,I as cs,aY as us,aV as fs,ay as ds,b3 as ls,az as ps,aA as ms,aB as bs,b4 as gs,aC as ys,b5 as hs,aD as ws,aG as vs,b2 as Es,aH as Ps,aI as Ts,bB as ks,bC as Fs,bD as As,bl as xs,bh as Is,bi as Ns,bj as Bs,bk as Rs,b8 as Cs,ba as Ss,be as Gs,c as Ds,k as qs,bp as _s,bc as $s,bq as Ms,bs as Ls,bt as Os,aJ as Hs,b6 as Us,aK as zs,bd as js,b9 as Vs,bx as Ws,t as Zs,bx as Js,bm as Ks,aL as Qs,aM as Ys,bn as Xs,aE as eo,aF as to,b7 as ro,by as no,bz as ao,bu as so,bE as oo,bA as io,bF as co,bv as uo,bA as fo,s as lo,bf as po,bg as mo,bb as bo,bw as go,bx as yo,bw as ho,t as wo,bx as vo,bo as Eo,br as Po,aK as To}from"./verifyHash-Dbcj3tYL.js";import{ab as st,ac as $r,ad as ot}from"./index-Bi48MbqU.js";import{ai as Fo,ae as Ao,af as xo,ah as Io,ag as No,aj as Bo}from"./index-Bi48MbqU.js";import{B as D,n as S,f as ce,U as Oe,h as de,a as we,L as Mr,c as le,s as U,I as Dt,i as Lr,d as pe,e as it,t as ae,u as qt,j as Or,k as ct,l as Hr,m as ut,o as Ur,w as zr}from"./NetworkUtil-DIFMVwzE.js";import{X as Co,W as So,Y as Go,Z as Do,_ as qo,E as _o,F as $o,G as Mo,H as Lo,J as Oo,y as Ho,$ as Uo,K as zo,M as jo,z as Vo,A as Wo,a0 as Zo,a1 as Jo,a2 as Ko,a3 as Qo,a4 as Yo,a5 as Xo,N as ei,O as ti,P as ri,a6 as ni,a7 as ai,a8 as si,a9 as oi,aa as ii,ab as ci,R as ui,S as fi,D as di,x as li,ac as pi,V as mi,T as bi,ad as gi,Q as yi,ae as hi,af as wi,ag as vi,ah as Ei,ai as Pi,aj as Ti,ak as ki,ap as Fi,p as Ai,q as xi,r as Ii,aq as Ni,v as Bi,ao as Ri,al as Ci,am as Si,an as Gi,q as Di}from"./NetworkUtil-DIFMVwzE.js";import{l as He}from"./ccip-CAVNbh-6.js";import{c as _i,c as $i,d as Mi,e as Li,a as Oi,o as Hi,b as Ui,f as zi}from"./ccip-CAVNbh-6.js";import"./thirdweb-Nalfv5nZ.js";import"./index-kplStoLl.js";import"./ui-Dbd5wrJc.js";import"./vendor-DhMc4a7D.js";function ft(e){let t;if(typeof e=="string")t=tt(e);else{const r=ur(e),n=e.length;for(let a=0;a<n;a++){const s=e[a];if(!fr(s)){t=tt(s,r);break}}}if(!t)throw new dr({signature:e});return t}class jr extends D{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}const dt="/docs/contract/encodeEventTopics";function se(e){var c;const{abi:t,eventName:r,args:n}=e;let a=t[0];if(r){const d=ht({abi:t,name:r});if(!d)throw new rt(r,{docsPath:dt});a=d}if(a.type!=="event")throw new rt(void 0,{docsPath:dt});const s=wt(a),o=Ge(s);let i=[];if(n&&"inputs"in a){const d=(c=a.inputs)==null?void 0:c.filter(f=>"indexed"in f&&f.indexed),u=Array.isArray(n)?n:Object.values(n).length>0?(d==null?void 0:d.map(f=>n[f.name]))??[]:[];u.length>0&&(i=(d==null?void 0:d.map((f,l)=>Array.isArray(u[l])?u[l].map((m,p)=>lt({param:f,value:u[l][p]})):typeof u[l]<"u"&&u[l]!==null?lt({param:f,value:u[l]}):null))??[])}return[o,...i]}function lt({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return _(De(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new jr(e.type);return qe([e],[t])}function ve(e,{method:t}){var n,a;const r={};return e.transport.type==="fallback"&&((a=(n=e.transport).onResponse)==null||a.call(n,({method:s,response:o,status:i,transport:c})=>{i==="success"&&t===s&&(r[o]=c.request)})),(s=>r[s]||e.request)}async function _t(e,t){const{address:r,abi:n,args:a,eventName:s,fromBlock:o,strict:i,toBlock:c}=t,d=ve(e,{method:"eth_newFilter"}),u=s?se({abi:n,args:a,eventName:s}):void 0,f=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?S(o):o,toBlock:typeof c=="bigint"?S(c):c,topics:u}]});return{abi:n,args:a,eventName:s,id:f,request:d(f),strict:!!i,type:"event"}}class Vr extends D{constructor(t,{account:r,docsPath:n,chain:a,data:s,gas:o,gasPrice:i,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:f,value:l}){var p;const m=lr({from:r==null?void 0:r.address,to:f,value:typeof l<"u"&&`${pr(l)} ${((p=a==null?void 0:a.nativeCurrency)==null?void 0:p.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof i<"u"&&`${ce(i)} gwei`,maxFeePerGas:typeof c<"u"&&`${ce(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${ce(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",m].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function Wr(e,{docsPath:t,...r}){const n=(()=>{const a=_e(e,r);return a instanceof Oe?e:a})();return new Vr(n,{docsPath:t,...r})}class $t extends D{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Ue extends D{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class Zr extends D{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${ce(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Mt extends D{constructor({blockHash:t,blockNumber:r}){let n="Block";t&&(n=`Block at hash "${t}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}async function $(e,{blockHash:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",includeTransactions:a}={}){var d,u,f;const s=a??!1,o=r!==void 0?S(r):void 0;let i=null;if(t?i=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):i=await e.request({method:"eth_getBlockByNumber",params:[o||n,s]},{dedupe:!!o}),!i)throw new Mt({blockHash:t,blockNumber:r});return(((f=(u=(d=e.chain)==null?void 0:d.formatters)==null?void 0:u.block)==null?void 0:f.format)||vt)(i,"getBlock")}async function ze(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Jr(e,t){return Lt(e,t)}async function Lt(e,t){var s,o;const{block:r,chain:n=e.chain,request:a}=t||{};try{const i=((s=n==null?void 0:n.fees)==null?void 0:s.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof i=="function"){const d=r||await F(e,$,"getBlock")({}),u=await i({block:d,client:e,request:a});if(u===null)throw new Error;return u}if(typeof i<"u")return i;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return de(c)}catch{const[i,c]=await Promise.all([r?Promise.resolve(r):F(e,$,"getBlock")({}),F(e,ze,"getGasPrice")({})]);if(typeof i.baseFeePerGas!="bigint")throw new Ue;const d=c-i.baseFeePerGas;return d<0n?0n:d}}async function Kr(e,t){return Ne(e,t)}async function Ne(e,t){var l,m;const{block:r,chain:n=e.chain,request:a,type:s="eip1559"}=t||{},o=await(async()=>{var p,b;return typeof((p=n==null?void 0:n.fees)==null?void 0:p.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:e,request:a}):((b=n==null?void 0:n.fees)==null?void 0:b.baseFeeMultiplier)??1.2})();if(o<1)throw new $t;const c=10**(((l=o.toString().split(".")[1])==null?void 0:l.length)??0),d=p=>p*BigInt(Math.ceil(o*c))/BigInt(c),u=r||await F(e,$,"getBlock")({});if(typeof((m=n==null?void 0:n.fees)==null?void 0:m.estimateFeesPerGas)=="function"){const p=await n.fees.estimateFeesPerGas({block:r,client:e,multiply:d,request:a,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Ue;const p=typeof(a==null?void 0:a.maxPriorityFeePerGas)=="bigint"?a.maxPriorityFeePerGas:await Lt(e,{block:u,chain:n,request:a}),b=d(u.baseFeePerGas);return{maxFeePerGas:(a==null?void 0:a.maxFeePerGas)??b+p,maxPriorityFeePerGas:p}}return{gasPrice:(a==null?void 0:a.gasPrice)??d(await F(e,ze,"getGasPrice")({}))}}async function Ot(e,{address:t,blockTag:r="latest",blockNumber:n}){const a=await e.request({method:"eth_getTransactionCount",params:[t,typeof n=="bigint"?S(n):r]},{dedupe:!!n});return we(a)}function Qr(e,{docsPath:t,...r}){const n=(()=>{const a=_e(e,r);return a instanceof Oe?e:a})();return new mr(n,{docsPath:t,...r})}async function je(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return we(t)}async function Ht(e,t){var v,k,C,N,R;const{account:r=e.account,accessList:n,authorizationList:a,chain:s=e.chain,blobVersionedHashes:o,blobs:i,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:p,nonceManager:b,to:y,type:g,value:E,...w}=t,P=await(async()=>{if(!r||!b||typeof p<"u")return p;const B=O(r),q=s?s.id:await F(e,je,"getChainId")({});return await b.consume({address:B.address,chainId:q,client:e})})();te(t);const T=(k=(v=s==null?void 0:s.formatters)==null?void 0:v.transactionRequest)==null?void 0:k.format,h=(T||ge)({...$e(w,{format:T}),account:r?O(r):void 0,accessList:n,authorizationList:a,blobs:i,blobVersionedHashes:o,data:c,gas:d,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:P,to:y,type:g,value:E},"fillTransaction");try{const B=await e.request({method:"eth_fillTransaction",params:[h]}),A=(((N=(C=s==null?void 0:s.formatters)==null?void 0:C.transaction)==null?void 0:N.format)||Et)(B.tx);delete A.blockHash,delete A.blockNumber,delete A.r,delete A.s,delete A.transactionIndex,delete A.v,delete A.yParity,A.data=A.input,A.gas&&(A.gas=t.gas??A.gas),A.gasPrice&&(A.gasPrice=t.gasPrice??A.gasPrice),A.maxFeePerBlobGas&&(A.maxFeePerBlobGas=t.maxFeePerBlobGas??A.maxFeePerBlobGas),A.maxFeePerGas&&(A.maxFeePerGas=t.maxFeePerGas??A.maxFeePerGas),A.maxPriorityFeePerGas&&(A.maxPriorityFeePerGas=t.maxPriorityFeePerGas??A.maxPriorityFeePerGas),A.nonce&&(A.nonce=t.nonce??A.nonce);const z=await(async()=>{var M,Z;if(typeof((M=s==null?void 0:s.fees)==null?void 0:M.baseFeeMultiplier)=="function"){const ke=await F(e,$,"getBlock")({});return s.fees.baseFeeMultiplier({block:ke,client:e,request:t})}return((Z=s==null?void 0:s.fees)==null?void 0:Z.baseFeeMultiplier)??1.2})();if(z<1)throw new $t;const x=10**(((R=z.toString().split(".")[1])==null?void 0:R.length)??0),G=M=>M*BigInt(Math.ceil(z*x))/BigInt(x);return A.maxFeePerGas&&!t.maxFeePerGas&&(A.maxFeePerGas=G(A.maxFeePerGas)),A.gasPrice&&!t.gasPrice&&(A.gasPrice=G(A.gasPrice)),{raw:B.raw,transaction:{from:h.from,...A}}}catch(B){throw Qr(B,{...t,chain:e.chain})}}const Yr=["blobVersionedHashes","chainId","fees","gas","nonce","type"],pt=new Map,Fe=new Mr(128);async function Ut(e,t){var P,T,I;let r=t;r.account??(r.account=e.account),r.parameters??(r.parameters=Yr);const{account:n,chain:a=e.chain,nonceManager:s,parameters:o}=r,i=(()=>{if(typeof(a==null?void 0:a.prepareTransactionRequest)=="function")return{fn:a.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(a==null?void 0:a.prepareTransactionRequest))return{fn:a.prepareTransactionRequest[0],runAt:a.prepareTransactionRequest[1].runAt}})();let c;async function d(){return c||(typeof r.chainId<"u"?r.chainId:a?a.id:(c=await F(e,je,"getChainId")({}),c))}const u=n&&O(n);let f=r.nonce;if(o.includes("nonce")&&typeof f>"u"&&u&&s){const h=await d();f=await s.consume({address:u.address,chainId:h,client:e})}i!=null&&i.fn&&((P=i.runAt)!=null&&P.includes("beforeFillTransaction"))&&(r=await i.fn({...r,chain:a},{phase:"beforeFillTransaction"}),f??(f=r.nonce));const m=((o.includes("blobVersionedHashes")||o.includes("sidecars"))&&r.kzg&&r.blobs||Fe.get(e.uid)===!1||!["fees","gas"].some(v=>o.includes(v))?!1:!!(o.includes("chainId")&&typeof r.chainId!="number"||o.includes("nonce")&&typeof f!="number"||o.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||o.includes("gas")&&typeof r.gas!="bigint"))?await F(e,Ht,"fillTransaction")({...r,nonce:f}).then(h=>{const{chainId:v,from:k,gas:C,gasPrice:N,nonce:R,maxFeePerBlobGas:B,maxFeePerGas:q,maxPriorityFeePerGas:A,type:z,...j}=h.transaction;return Fe.set(e.uid,!0),{...r,...k?{from:k}:{},...z?{type:z}:{},...typeof v<"u"?{chainId:v}:{},...typeof C<"u"?{gas:C}:{},...typeof N<"u"?{gasPrice:N}:{},...typeof R<"u"?{nonce:R}:{},...typeof B<"u"?{maxFeePerBlobGas:B}:{},...typeof q<"u"?{maxFeePerGas:q}:{},...typeof A<"u"?{maxPriorityFeePerGas:A}:{},..."nonceKey"in j&&typeof j.nonceKey<"u"?{nonceKey:j.nonceKey}:{}}}).catch(h=>{var C;const v=h;return v.name!=="TransactionExecutionError"||((C=v.walk)==null?void 0:C.call(v,N=>{const R=N;return R.name==="MethodNotFoundRpcError"||R.name==="MethodNotSupportedRpcError"}))&&Fe.set(e.uid,!1),r}):r;f??(f=m.nonce),r={...m,...u?{from:u==null?void 0:u.address}:{},...f?{nonce:f}:{}};const{blobs:p,gas:b,kzg:y,type:g}=r;i!=null&&i.fn&&((T=i.runAt)!=null&&T.includes("beforeFillParameters"))&&(r=await i.fn({...r,chain:a},{phase:"beforeFillParameters"}));let E;async function w(){return E||(E=await F(e,$,"getBlock")({blockTag:"latest"}),E)}if(o.includes("nonce")&&typeof f>"u"&&u&&!s&&(r.nonce=await F(e,Ot,"getTransactionCount")({address:u.address,blockTag:"pending"})),(o.includes("blobVersionedHashes")||o.includes("sidecars"))&&p&&y){const h=br({blobs:p,kzg:y});if(o.includes("blobVersionedHashes")){const v=gr({commitments:h,to:"hex"});r.blobVersionedHashes=v}if(o.includes("sidecars")){const v=yr({blobs:p,commitments:h,kzg:y}),k=hr({blobs:p,commitments:h,proofs:v,to:"hex"});r.sidecars=k}}if(o.includes("chainId")&&(r.chainId=await d()),(o.includes("fees")||o.includes("type"))&&typeof g>"u")try{r.type=wr(r)}catch{let h=pt.get(e.uid);if(typeof h>"u"){const v=await w();h=typeof(v==null?void 0:v.baseFeePerGas)=="bigint",pt.set(e.uid,h)}r.type=h?"eip1559":"legacy"}if(o.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){const h=await w(),{maxFeePerGas:v,maxPriorityFeePerGas:k}=await Ne(e,{block:h,chain:a,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<k)throw new Zr({maxPriorityFeePerGas:k});r.maxPriorityFeePerGas=k,r.maxFeePerGas=v}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new Ue;if(typeof r.gasPrice>"u"){const h=await w(),{gasPrice:v}=await Ne(e,{block:h,chain:a,request:r,type:"legacy"});r.gasPrice=v}}return o.includes("gas")&&typeof b>"u"&&(r.gas=await F(e,Ve,"estimateGas")({...r,account:u,prepare:(u==null?void 0:u.type)==="local"?[]:["blobVersionedHashes"]})),i!=null&&i.fn&&((I=i.runAt)!=null&&I.includes("afterFillParameters"))&&(r=await i.fn({...r,chain:a},{phase:"afterFillParameters"})),te(r),delete r.parameters,r}async function Ve(e,t){var o,i,c;const{account:r=e.account,prepare:n=!0}=t,a=r?O(r):void 0,s=(()=>{if(Array.isArray(n))return n;if((a==null?void 0:a.type)!=="local")return["blobVersionedHashes"]})();try{const d=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await vr({authorization:t.authorizationList[0]}).catch(()=>{throw new D("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:u,authorizationList:f,blobs:l,blobVersionedHashes:m,blockNumber:p,blockTag:b,data:y,gas:g,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:P,maxPriorityFeePerGas:T,nonce:I,value:h,stateOverride:v,...k}=n?await Ut(e,{...t,parameters:s,to:d}):t;if(g&&t.gas!==g)return g;const N=(typeof p=="bigint"?S(p):void 0)||b,R=Pt(v);te(t);const B=(c=(i=(o=e.chain)==null?void 0:o.formatters)==null?void 0:i.transactionRequest)==null?void 0:c.format,A=(B||ge)({...$e(k,{format:B}),account:a,accessList:u,authorizationList:f,blobs:l,blobVersionedHashes:m,data:y,gasPrice:E,maxFeePerBlobGas:w,maxFeePerGas:P,maxPriorityFeePerGas:T,nonce:I,to:d,value:h},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:R?[A,N??e.experimental_blockTag??"latest",R]:N?[A,N]:[A]}))}catch(d){throw Wr(d,{...t,account:a,chain:e.chain})}}async function Xr(e,t){const{abi:r,address:n,args:a,functionName:s,dataSuffix:o,...i}=t,c=J({abi:r,args:a,functionName:s});try{return await F(e,Ve,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...i})}catch(d){const u=i.account?O(i.account):void 0;throw ee(d,{abi:r,address:n,args:a,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u==null?void 0:u.address})}}const mt="/docs/contract/decodeEventLog";function me(e){const{abi:t,data:r,strict:n,topics:a}=e,s=n??!0,[o,...i]=a;if(!o)throw new Er({docsPath:mt});const c=t.find(b=>b.type==="event"&&o===Ge(wt(b)));if(!(c&&"name"in c)||c.type!=="event")throw new Pr(o,{docsPath:mt});const{name:d,inputs:u}=c,f=u==null?void 0:u.some(b=>!("name"in b&&b.name)),l=f?[]:{},m=u.map((b,y)=>[b,y]).filter(([b])=>"indexed"in b&&b.indexed);for(let b=0;b<m.length;b++){const[y,g]=m[b],E=i[b];if(!E)throw new Me({abiItem:c,param:y});l[f?g:y.name||g]=en({param:y,value:E})}const p=u.filter(b=>!("indexed"in b&&b.indexed));if(p.length>0){if(r&&r!=="0x")try{const b=Tt(p,r);if(b)if(f)for(let y=0;y<u.length;y++)l[y]=l[y]??b.shift();else for(let y=0;y<p.length;y++)l[p[y].name]=b[y]}catch(b){if(s)throw b instanceof Tr||b instanceof kr?new fe({abiItem:c,data:r,params:p,size:le(r)}):b}else if(s)throw new fe({abiItem:c,data:"0x",params:p,size:0})}return{eventName:d,args:Object.values(l).length>0?l:void 0}}function en({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Tt([e],t)||[])[0]}function We(e){const{abi:t,args:r,logs:n,strict:a=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return n.map(o=>{var u;const i=t.filter(f=>f.type==="event"&&o.topics[0]===Ge(f));if(i.length===0)return null;let c,d;for(const f of i)try{c=me({...o,abi:[f],strict:!0}),d=f;break}catch{}if(!c&&!a){d=i[0];try{c=me({...o,abi:[d],strict:!1})}catch{const f=(u=d.inputs)==null?void 0:u.some(l=>!("name"in l&&l.name));return{...o,args:f?[]:{},eventName:d.name}}}return!c||!d||s&&!s.includes(c.eventName)||!tn({args:c.args,inputs:d.inputs,matchArgs:r})?null:{...c,...o}}).filter(Boolean)}function tn(e){const{args:t,inputs:r,matchArgs:n}=e;if(!n)return!0;if(!t)return!1;function a(s,o,i){try{return s.type==="address"?kt(o,i):s.type==="string"||s.type==="bytes"?_(De(o))===i:o===i}catch{return!1}}return Array.isArray(t)&&Array.isArray(n)?n.every((s,o)=>{if(s==null)return!0;const i=r[o];return i?(Array.isArray(s)?s:[s]).some(d=>a(i,d,t[o])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([s,o])=>{if(o==null)return!0;const i=r.find(d=>d.name===s);return i?(Array.isArray(o)?o:[o]).some(d=>a(i,d,t[s])):!1}):!1}async function Ze(e,{address:t,blockHash:r,fromBlock:n,toBlock:a,event:s,events:o,args:i,strict:c}={}){const d=c??!1,u=o??(s?[s]:void 0);let f=[];u&&(f=[u.flatMap(b=>se({abi:[b],eventName:b.name,args:o?void 0:i}))],s&&(f=f[0]));let l;r?l=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:r}]}):l=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:typeof n=="bigint"?S(n):n,toBlock:typeof a=="bigint"?S(a):a}]});const m=l.map(p=>V(p));return u?We({abi:u,args:i,logs:m,strict:d}):m}async function zt(e,t){const{abi:r,address:n,args:a,blockHash:s,eventName:o,fromBlock:i,toBlock:c,strict:d}=t,u=o?ht({abi:r,name:o}):void 0,f=u?void 0:r.filter(l=>l.type==="event");return F(e,Ze,"getLogs")({address:n,args:a,blockHash:s,event:u,events:f,fromBlock:i,toBlock:c,strict:d})}async function rn(e,t){const{abi:r,address:n,args:a,dataSuffix:s,functionName:o,...i}=t,c=i.account?O(i.account):e.account,d=J({abi:r,args:a,functionName:o});try{const{data:u}=await F(e,Ft,"call")({batch:!1,data:`${d}${s?s.replace("0x",""):""}`,to:n,...i,account:c}),f=re({abi:r,args:a,functionName:o,data:u||"0x"}),l=r.filter(m=>"name"in m&&m.name===t.functionName);return{result:f,request:{abi:l,address:n,args:a,dataSuffix:s,functionName:o,...i,account:c}}}catch(u){throw ee(u,{abi:r,address:n,args:a,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const Ae=new Map,bt=new Map;let nn=0;function W(e,t,r){const n=++nn,a=()=>Ae.get(e)||[],s=()=>{const u=a();Ae.set(e,u.filter(f=>f.id!==n))},o=()=>{const u=a();if(!u.some(l=>l.id===n))return;const f=bt.get(e);if(u.length===1&&f){const l=f();l instanceof Promise&&l.catch(()=>{})}s()},i=a();if(Ae.set(e,[...i,{id:n,fns:t}]),i&&i.length>0)return o;const c={};for(const u in t)c[u]=((...f)=>{var m,p;const l=a();if(l.length!==0)for(const b of l)(p=(m=b.fns)[u])==null||p.call(m,...f)});const d=r(c);return typeof d=="function"&&bt.set(e,d),o}function oe(e,{emitOnBegin:t,initialWaitTime:r,interval:n}){let a=!0;const s=()=>a=!1;return(async()=>{let i;t&&(i=await e({unpoll:s}));const c=await(r==null?void 0:r(i))??n;await st(c);const d=async()=>{a&&(await e({unpoll:s}),await st(n),d())};d()})(),s}const an=new Map,sn=new Map;function on(e){const t=(a,s)=>({clear:()=>s.delete(a),get:()=>s.get(a),set:o=>s.set(a,o)}),r=t(e,an),n=t(e,sn);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function cn(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){const n=on(t),a=n.response.get();if(a&&r>0&&Date.now()-a.created.getTime()<r)return a.data;let s=n.promise.get();s||(s=e(),n.promise.set(s));try{const o=await s;return n.response.set({created:new Date,data:o}),o}finally{n.promise.clear()}}const un=e=>`blockNumber.${e}`;async function ie(e,{cacheTime:t=e.cacheTime}={}){const r=await cn(()=>e.request({method:"eth_blockNumber"}),{cacheKey:un(e.uid),cacheTime:t});return BigInt(r)}async function Ee(e,{filter:t}){const r="strict"in t&&t.strict,n=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof n[0]=="string")return n;const a=n.map(s=>V(s));return!("abi"in t)||!t.abi?a:We({abi:t.abi,logs:a,strict:r})}async function Pe(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function fn(e,t){const{abi:r,address:n,args:a,batch:s=!0,eventName:o,fromBlock:i,onError:c,onLogs:d,poll:u,pollingInterval:f=e.pollingInterval,strict:l}=t;return(typeof u<"u"?u:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{const y=l??!1,g=U(["watchContractEvent",n,a,s,e.uid,o,f,y,i]);return W(g,{onLogs:d,onError:c},E=>{let w;i!==void 0&&(w=i-1n);let P,T=!1;const I=oe(async()=>{var h;if(!T){try{P=await F(e,_t,"createContractEventFilter")({abi:r,address:n,args:a,eventName:o,strict:y,fromBlock:i})}catch{}T=!0;return}try{let v;if(P)v=await F(e,Ee,"getFilterChanges")({filter:P});else{const k=await F(e,ie,"getBlockNumber")({});w&&w<k?v=await F(e,zt,"getContractEvents")({abi:r,address:n,args:a,eventName:o,fromBlock:w+1n,toBlock:k,strict:y}):v=[],w=k}if(v.length===0)return;if(s)E.onLogs(v);else for(const k of v)E.onLogs([k])}catch(v){P&&v instanceof Dt&&(T=!1),(h=E.onError)==null||h.call(E,v)}},{emitOnBegin:!0,interval:f});return async()=>{P&&await F(e,Pe,"uninstallFilter")({filter:P}),I()}})})():(()=>{const y=l??!1,g=U(["watchContractEvent",n,a,s,e.uid,o,f,y]);let E=!0,w=()=>E=!1;return W(g,{onLogs:d,onError:c},P=>((async()=>{try{const T=(()=>{if(e.transport.type==="fallback"){const v=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return v?v.value:e.transport}return e.transport})(),I=o?se({abi:r,eventName:o,args:a}):[],{unsubscribe:h}=await T.subscribe({params:["logs",{address:n,topics:I}],onData(v){var C;if(!E)return;const k=v.result;try{const{eventName:N,args:R}=me({abi:r,data:k.data,topics:k.topics,strict:l}),B=V(k,{args:R,eventName:N});P.onLogs([B])}catch(N){let R,B;if(N instanceof fe||N instanceof Me){if(l)return;R=N.abiItem.name,B=(C=N.abiItem.inputs)==null?void 0:C.some(A=>!("name"in A&&A.name))}const q=V(k,{args:B?[]:{},eventName:R});P.onLogs([q])}},onError(v){var k;(k=P.onError)==null||k.call(P,v)}});w=h,E||w()}catch(T){c==null||c(T)}})(),()=>w()))})()}async function dn(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}function ln(e){const{batch:t,chain:r,ccipRead:n,key:a="base",name:s="Base Client",type:o="base"}=e,i=e.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),c=(r==null?void 0:r.blockTime)??12e3,d=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??d,f=e.cacheTime??u,l=e.account?O(e.account):void 0,{config:m,request:p,value:b}=e.transport({account:l,chain:r,pollingInterval:u}),y={...m,...b},g={account:l,batch:t,cacheTime:f,ccipRead:n,chain:r,key:a,name:s,pollingInterval:u,request:p,transport:y,type:o,uid:$r(),...i?{experimental_blockTag:i}:{}};function E(w){return P=>{const T=P(w);for(const h in g)delete T[h];const I={...w,...T};return Object.assign(I,{extend:E(I)})}}return Object.assign(g,{extend:E(g)})}function Je(e){var r,n,a,s,o,i;if(!(e instanceof D))return!1;const t=e.walk(c=>c instanceof nt);return t instanceof nt?((r=t.data)==null?void 0:r.errorName)==="HttpError"||((n=t.data)==null?void 0:n.errorName)==="ResolverError"||((a=t.data)==null?void 0:a.errorName)==="ResolverNotContract"||((s=t.data)==null?void 0:s.errorName)==="ResolverNotFound"||((o=t.data)==null?void 0:o.errorName)==="ReverseAddressMismatch"||((i=t.data)==null?void 0:i.errorName)==="UnsupportedResolverProfile":!1}function jt(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return Lr(t)?t:null}function Be(e){let t=new Uint8Array(32).fill(0);if(!e)return pe(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const a=jt(r[n]),s=a?De(a):_(X(r[n]),"bytes");t=_(ye([t,s]),"bytes")}return pe(t)}function pn(e){return`[${e.slice(2)}]`}function mn(e){const t=new Uint8Array(32).fill(0);return e?jt(e)||_(X(e)):pe(t)}function Ke(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(X(t).byteLength+2);let n=0;const a=t.split(".");for(let s=0;s<a.length;s++){let o=X(a[s]);o.byteLength>255&&(o=X(pn(mn(a[s])))),r[n]=o.length,r.set(o,n+1),n+=o.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function bn(e,t){const{blockNumber:r,blockTag:n,coinType:a,name:s,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(l=>s.endsWith(l)))return null;const f=a!=null?[Be(s),BigInt(a)]:[Be(s)];try{const l=J({abi:it,functionName:"addr",args:f}),m={address:d,abi:qt,functionName:"resolveWithGateways",args:[ae(Ke(s)),l,o??[He]],blockNumber:r,blockTag:n},b=await F(e,H,"readContract")(m);if(b[0]==="0x")return null;const y=re({abi:it,args:f,functionName:"addr",data:b[0]});return y==="0x"||Or(y)==="0x00"?null:y}catch(l){if(i)throw l;if(Je(l))return null;throw l}}class gn extends D{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class Y extends D{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class Qe extends D{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class yn extends D{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const hn=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,wn=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,vn=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,En=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Pn(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function gt(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Vt({uri:e,gatewayUrls:t}){const r=vn.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=gt(t==null?void 0:t.ipfs,"https://ipfs.io"),a=gt(t==null?void 0:t.arweave,"https://arweave.net"),s=e.match(hn),{protocol:o,subpath:i,target:c,subtarget:d=""}=(s==null?void 0:s.groups)||{},u=o==="ipns:/"||i==="ipns/",f=o==="ipfs:/"||i==="ipfs/"||wn.test(e);if(e.startsWith("http")&&!u&&!f){let m=e;return t!=null&&t.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((u||f)&&c)return{uri:`${n}/${u?"ipns":"ipfs"}/${c}${d}`,isOnChain:!1,isEncoded:!1};if(o==="ar:/"&&c)return{uri:`${a}/${c}${d||""}`,isOnChain:!1,isEncoded:!1};let l=e.replace(En,"");if(l.startsWith("<svg")&&(l=`data:image/svg+xml;base64,${btoa(l)}`),l.startsWith("data:")||l.startsWith("{"))return{uri:l,isOnChain:!0,isEncoded:!1};throw new Qe({uri:e})}function Wt(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new gn({data:e});return e.image||e.image_url||e.image_data}async function Tn({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(a=>a.json());return await Ye({gatewayUrls:e,uri:Wt(r)})}catch{throw new Qe({uri:t})}}async function Ye({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=Vt({uri:t,gatewayUrls:e});if(n||await Pn(r))return r;throw new Qe({uri:t})}function kn(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,a]=t.split("/"),[s,o]=r.split(":"),[i,c]=n.split(":");if(!s||s.toLowerCase()!=="eip155")throw new Y({reason:"Only EIP-155 supported"});if(!o)throw new Y({reason:"Chain ID not found"});if(!c)throw new Y({reason:"Contract address not found"});if(!a)throw new Y({reason:"Token ID not found"});if(!i)throw new Y({reason:"ERC namespace not found"});return{chainID:Number.parseInt(o,10),namespace:i.toLowerCase(),contractAddress:c,tokenID:a}}async function Fn(e,{nft:t}){if(t.namespace==="erc721")return H(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return H(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new yn({namespace:t.namespace})}async function An(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?xn(e,{gatewayUrls:t,record:r}):Ye({uri:r,gatewayUrls:t})}async function xn(e,{gatewayUrls:t,record:r}){const n=kn(r),a=await Fn(e,{nft:n}),{uri:s,isOnChain:o,isEncoded:i}=Vt({uri:a,gatewayUrls:t});if(o&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){const d=i?atob(s.replace("data:application/json;base64,","")):s,u=JSON.parse(d);return Ye({uri:Wt(u),gatewayUrls:t})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Tn({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}async function Zt(e,t){const{blockNumber:r,blockTag:n,key:a,name:s,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;try{const f={address:d,abi:qt,args:[ae(Ke(s)),J({abi:ct,functionName:"text",args:[Be(s),a]}),o??[He]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},m=await F(e,H,"readContract")(f);if(m[0]==="0x")return null;const p=re({abi:ct,functionName:"text",data:m[0]});return p===""?null:p}catch(f){if(i)throw f;if(Je(f))return null;throw f}}async function In(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:a,gatewayUrls:s,strict:o,universalResolverAddress:i}){const c=await F(e,Zt,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:a,universalResolverAddress:i,gatewayUrls:s,strict:o});if(!c)return null;try{return await An(e,{record:c,gatewayUrls:n})}catch{return null}}async function Nn(e,t){const{address:r,blockNumber:n,blockTag:a,coinType:s=60n,gatewayUrls:o,strict:i}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const u={address:d,abi:Hr,args:[r,s,o??[He]],functionName:"reverseWithGateways",blockNumber:n,blockTag:a},f=F(e,H,"readContract"),[l]=await f(u);return l||null}catch(u){if(i)throw u;if(Je(u))return null;throw u}}async function Bn(e,t){const{blockNumber:r,blockTag:n,name:a}=t,{chain:s}=e,o=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return ne({blockNumber:r,chain:s,contract:"ensUniversalResolver"})})(),i=s==null?void 0:s.ensTlds;if(i&&!i.some(d=>a.endsWith(d)))throw new Error(`${a} is not a valid ENS TLD (${i==null?void 0:i.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);const[c]=await F(e,H,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ae(Ke(a))],blockNumber:r,blockTag:n});return c}async function Jt(e,t){var y,g,E;const{account:r=e.account,blockNumber:n,blockTag:a="latest",blobs:s,data:o,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:f,to:l,value:m,...p}=t,b=r?O(r):void 0;try{te(t);const P=(typeof n=="bigint"?S(n):void 0)||a,T=(E=(g=(y=e.chain)==null?void 0:y.formatters)==null?void 0:g.transactionRequest)==null?void 0:E.format,h=(T||ge)({...$e(p,{format:T}),account:b,blobs:s,data:o,gas:i,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:f,to:l,value:m},"createAccessList"),v=await e.request({method:"eth_createAccessList",params:[h,P]});return{accessList:v.accessList,gasUsed:BigInt(v.gasUsed)}}catch(w){throw Fr(w,{...t,account:b,chain:e.chain})}}async function Rn(e){const t=ve(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function Kt(e,{address:t,args:r,event:n,events:a,fromBlock:s,strict:o,toBlock:i}={}){const c=a??(n?[n]:void 0),d=ve(e,{method:"eth_newFilter"});let u=[];c&&(u=[c.flatMap(m=>se({abi:[m],eventName:m.name,args:r}))],n&&(u=u[0]));const f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?S(s):s,toBlock:typeof i=="bigint"?S(i):i,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:s,id:f,request:d(f),strict:!!o,toBlock:i,type:"event"}}async function Qt(e){const t=ve(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Cn(e,{address:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest"}){const a=typeof r=="bigint"?S(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,a||n]});return BigInt(s)}async function Sn(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Gn(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const a=r!==void 0?S(r):void 0;let s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[a||n]},{dedupe:!!a}),we(s)}class Dn extends D{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function qn(e,t){const{address:r,factory:n,factoryData:a}=t;try{const[s,o,i,c,d,u,f]=await F(e,H,"readContract")({abi:_n,address:r,functionName:"eip712Domain",factory:n,factoryData:a});return{domain:{name:o,version:i,chainId:Number(c),verifyingContract:d,salt:u},extensions:f,fields:s}}catch(s){const o=s;throw o.name==="ContractFunctionExecutionError"&&o.cause.name==="ContractFunctionZeroDataError"?new Dn({address:r}):o}}const _n=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function $n(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Mn(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:a}){const s=typeof r=="bigint"?S(r):void 0,o=await e.request({method:"eth_feeHistory",params:[S(t),s||n,a]},{dedupe:!!s});return $n(o)}async function Ln(e,{filter:t}){const r=t.strict??!1,a=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>V(s));return t.abi?We({abi:t.abi,logs:a,strict:r}):a}const On=`Ethereum Signed Message:
2
2
  `;function Hn(e){const t=typeof e=="string"?ut(e):typeof e.raw=="string"?e.raw:pe(e.raw),r=ut(`${On}${le(t)}`);return ye([r,t])}function Yt(e,t){return _(Hn(e),t)}class Un extends D{constructor({domain:t}){super(`Invalid domain "${U(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class zn extends D{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class jn extends D{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Vn(e){const{domain:t,message:r,primaryType:n,types:a}=e,s=(o,i)=>{for(const c of o){const{name:d,type:u}=c,f=i[d],l=u.match(Ar);if(l&&(typeof f=="number"||typeof f=="bigint")){const[b,y,g]=l;S(f,{signed:y==="int",size:Number.parseInt(g,10)/8})}if(u==="address"&&typeof f=="string"&&!At(f))throw new xr({address:f});const m=u.match(Ir);if(m){const[b,y]=m;if(y&&le(f)!==Number.parseInt(y,10))throw new Nr({expectedSize:Number.parseInt(y,10),givenSize:le(f)})}const p=a[u];p&&(Zn(u),s(p,f))}};if(a.EIP712Domain&&t){if(typeof t!="object")throw new Un({domain:t});s(a.EIP712Domain,t)}if(n!=="EIP712Domain")if(a[n])s(a[n],r);else throw new zn({primaryType:n,types:a})}function Wn({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function Zn(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new jn({type:e})}function Jn(e){const{domain:t={},message:r,primaryType:n}=e,a={EIP712Domain:Wn({domain:t}),...e.types};Vn({domain:t,message:r,primaryType:n,types:a});const s=["0x1901"];return t&&s.push(Kn({domain:t,types:a})),n!=="EIP712Domain"&&s.push(Xt({data:r,primaryType:n,types:a})),_(ye(s))}function Kn({domain:e,types:t}){return Xt({data:e,primaryType:"EIP712Domain",types:t})}function Xt({data:e,primaryType:t,types:r}){const n=er({data:e,primaryType:t,types:r});return _(n)}function er({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],a=[Qn({primaryType:t,types:r})];for(const s of r[t]){const[o,i]=rr({types:r,name:s.name,type:s.type,value:e[s.name]});n.push(o),a.push(i)}return qe(n,a)}function Qn({primaryType:e,types:t}){const r=ae(Yn({primaryType:e,types:t}));return _(r)}function Yn({primaryType:e,types:t}){let r="";const n=tr({primaryType:e,types:t});n.delete(e);const a=[e,...Array.from(n).sort()];for(const s of a)r+=`${s}(${t[s].map(({name:o,type:i})=>`${i} ${o}`).join(",")})`;return r}function tr({primaryType:e,types:t},r=new Set){const n=e.match(/^\w*/u),a=n==null?void 0:n[0];if(r.has(a)||t[a]===void 0)return r;r.add(a);for(const s of t[a])tr({primaryType:s.type,types:t},r);return r}function rr({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},_(er({data:n,primaryType:r,types:e}))];if(r==="bytes")return[{type:"bytes32"},_(n)];if(r==="string")return[{type:"bytes32"},_(ae(n))];if(r.lastIndexOf("]")===r.length-1){const a=r.slice(0,r.lastIndexOf("[")),s=n.map(o=>rr({name:t,type:a,types:e,value:o}));return[{type:"bytes32"},_(qe(s.map(([o])=>o),s.map(([,o])=>o)))]}return[{type:r},n]}function Xn(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function ea(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?we(e.nonce):void 0,storageProof:e.storageProof?Xn(e.storageProof):void 0}}async function ta(e,{address:t,blockNumber:r,blockTag:n,storageKeys:a}){const s=n??"latest",o=r!==void 0?S(r):void 0,i=await e.request({method:"eth_getProof",params:[t,a,o||s]});return ea(i)}async function ra(e,{address:t,blockNumber:r,blockTag:n="latest",slot:a}){const s=r!==void 0?S(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,a,s||n]})}async function Xe(e,{blockHash:t,blockNumber:r,blockTag:n,hash:a,index:s,sender:o,nonce:i}){var l,m,p;const c=n||"latest",d=r!==void 0?S(r):void 0;let u=null;if(a?u=await e.request({method:"eth_getTransactionByHash",params:[a]},{dedupe:!0}):t?u=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,S(s)]},{dedupe:!0}):typeof s=="number"?u=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[d||c,S(s)]},{dedupe:!!d}):o&&typeof i=="number"&&(u=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[o,S(i)]},{dedupe:!0})),!u)throw new xt({blockHash:t,blockNumber:r,blockTag:c,hash:a,index:s});return(((p=(m=(l=e.chain)==null?void 0:l.formatters)==null?void 0:m.transaction)==null?void 0:p.format)||Et)(u,"getTransaction")}async function na(e,{hash:t,transactionReceipt:r}){const[n,a]=await Promise.all([F(e,ie,"getBlockNumber")({}),t?F(e,Xe,"getTransaction")({hash:t}):void 0]),s=(r==null?void 0:r.blockNumber)||(a==null?void 0:a.blockNumber);return s?n-s+1n:0n}async function ue(e,{hash:t}){var a,s,o;const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new It({hash:t});return(((o=(s=(a=e.chain)==null?void 0:a.formatters)==null?void 0:s.transactionReceipt)==null?void 0:o.format)||Nt)(r,"getTransactionReceipt")}async function aa(e,t){var E;const{account:r,authorizationList:n,allowFailure:a=!0,blockNumber:s,blockOverrides:o,blockTag:i,stateOverride:c}=t,d=t.contracts,{batchSize:u=t.batchSize??1024,deployless:f=t.deployless??!1}=typeof((E=e.batch)==null?void 0:E.multicall)=="object"?e.batch.multicall:{},l=(()=>{if(t.multicallAddress)return t.multicallAddress;if(f)return null;if(e.chain)return ne({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),m=[[]];let p=0,b=0;for(let w=0;w<d.length;w++){const{abi:P,address:T,args:I,functionName:h}=d[w];try{const v=J({abi:P,args:I,functionName:h});b+=(v.length-2)/2,u>0&&b>u&&m[p].length>0&&(p++,b=(v.length-2)/2,m[p]=[]),m[p]=[...m[p],{allowFailure:!0,callData:v,target:T}]}catch(v){const k=ee(v,{abi:P,address:T,args:I,docsPath:"/docs/contract/multicall",functionName:h,sender:r});if(!a)throw k;m[p]=[...m[p],{allowFailure:!0,callData:"0x",target:T}]}}const y=await Promise.allSettled(m.map(w=>F(e,H,"readContract")({...l===null?{code:Br}:{address:l},abi:Ur,account:r,args:[w],authorizationList:n,blockNumber:s,blockOverrides:o,blockTag:i,functionName:"aggregate3",stateOverride:c}))),g=[];for(let w=0;w<y.length;w++){const P=y[w];if(P.status==="rejected"){if(!a)throw P.reason;for(let I=0;I<m[w].length;I++)g.push({status:"failure",error:P.reason,result:void 0});continue}const T=P.value;for(let I=0;I<T.length;I++){const{returnData:h,success:v}=T[I],{callData:k}=m[w][I],{abi:C,address:N,functionName:R,args:B}=d[g.length];try{if(k==="0x")throw new Bt;if(!v)throw new Rt({data:h});const q=re({abi:C,args:B,data:h,functionName:R});g.push(a?{result:q,status:"success"}:q)}catch(q){const A=ee(q,{abi:C,address:N,args:B,docsPath:"/docs/contract/multicall",functionName:R});if(!a)throw A;g.push({error:A,result:void 0,status:"failure"})}}}if(g.length!==d.length)throw new D("multicall results mismatch");return g}async function Re(e,t){const{blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",blocks:a,returnFullTransactions:s,traceTransfers:o,validation:i}=t;try{const c=[];for(const l of a){const m=l.blockOverrides?Rr(l.blockOverrides):void 0,p=l.calls.map(y=>{const g=y,E=g.account?O(g.account):void 0,w=g.abi?J(g):g.data,P={...g,account:E,data:g.dataSuffix?ye([w||"0x",g.dataSuffix]):w,from:g.from??(E==null?void 0:E.address)};return te(P),ge(P)}),b=l.stateOverrides?Pt(l.stateOverrides):void 0;c.push({blockOverrides:m,calls:p,stateOverrides:b})}const u=(typeof r=="bigint"?S(r):void 0)||n;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:o,validation:i},u]})).map((l,m)=>({...vt(l),calls:l.calls.map((p,b)=>{var C,N;const{abi:y,args:g,functionName:E,to:w}=a[m].calls[b],P=((C=p.error)==null?void 0:C.data)??p.returnData,T=BigInt(p.gasUsed),I=(N=p.logs)==null?void 0:N.map(R=>V(R)),h=p.status==="0x1"?"success":"failure",v=y&&h==="success"&&P!=="0x"?re({abi:y,data:P,functionName:E}):null,k=(()=>{var B;if(h==="success")return;let R;if(((B=p.error)==null?void 0:B.data)==="0x"?R=new Bt:p.error&&(R=new Rt(p.error)),!!R)return ee(R,{abi:y??[],address:w??"0x",args:g,functionName:E??"<unknown>"})})();return{data:P,gasUsed:T,logs:I,status:h,...h==="success"?{result:v}:{error:k}}})}))}catch(c){const d=c,u=_e(d,{});throw u instanceof Oe?d:u}}function Ce(e){let t=!0,r="",n=0,a="",s=!1;for(let o=0;o<e.length;o++){const i=e[o];if(["(",")",","].includes(i)&&(t=!0),i==="("&&n++,i===")"&&n--,!!t){if(n===0){if(i===" "&&["event","function","error",""].includes(a))a="";else if(a+=i,i===")"){s=!0;break}continue}if(i===" "){e[o-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}a+=i,r+=i}}if(!s)throw new Le("Unable to normalize signature.");return a}function Se(e,t){const r=typeof e,n=t.type;switch(n){case"address":return xe(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in t?Object.values(t.components).every((a,s)=>Se(Object.values(e)[s],a)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(e)&&e.every(a=>Se(a,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function nr(e,t,r){for(const n in e){const a=e[n],s=t[n];if(a.type==="tuple"&&s.type==="tuple"&&"components"in a&&"components"in s)return nr(a.components,s.components,r[n]);const o=[a.type,s.type];if(o.includes("address")&&o.includes("bytes20")?!0:o.includes("address")&&o.includes("string")?xe(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?xe(r[n],{strict:!1}):!1)return o}}function ar(e,t={}){const{prepare:r=!0}=t,n=Array.isArray(e)||typeof e=="string"?ft(e):e;return{...n,...r?{hash:Q(n)}:{}}}function Te(e,t,r){const{args:n=[],prepare:a=!0}=r??{},s=Cr(t,{strict:!1}),o=e.filter(d=>s?d.type==="function"||d.type==="error"?sr(d)===Ct(t,0,4):d.type==="event"?Q(d)===t:!1:"name"in d&&d.name===t);if(o.length===0)throw new be({name:t});if(o.length===1)return{...o[0],...a?{hash:Q(o[0])}:{}};let i;for(const d of o){if(!("inputs"in d))continue;if(!n||n.length===0){if(!d.inputs||d.inputs.length===0)return{...d,...a?{hash:Q(d)}:{}};continue}if(!d.inputs||d.inputs.length===0||d.inputs.length!==n.length)continue;if(n.every((f,l)=>{const m="inputs"in d&&d.inputs[l];return m?Se(f,m):!1})){if(i&&"inputs"in i&&i.inputs){const f=nr(d.inputs,i.inputs,n);if(f)throw new oa({abiItem:d,type:f[0]},{abiItem:i,type:f[1]})}i=d}}const c=(()=>{if(i)return i;const[d,...u]=o;return{...d,overloads:u}})();if(!c)throw new be({name:t});return{...c,...a?{hash:Q(c)}:{}}}function sr(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return Te(r,n)}return e[0]})();return Ct(Q(t),0,4)}function sa(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,a]=e;return Te(n,a)}return e[0]})(),r=typeof t=="string"?t:Ie(t);return Ce(r)}function Q(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return Te(r,n)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:Sr(Gr(sa(t)))}class oa extends Le{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${Ce(Ie(t.abiItem))}\`, and`,`\`${r.type}\` in \`${Ce(Ie(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class be extends Le{constructor({name:t,data:r,type:n="item"}){const a=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${n}${a} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function ia(...e){var s;const[t,r]=(()=>{if(Array.isArray(e[0])){const[o,i]=e;return[ua(o),i]}return e})(),{bytecode:n,args:a}=r;return St(n,(s=t.inputs)!=null&&s.length&&(a!=null&&a.length)?Gt(t.inputs,a):"0x")}function ca(e){return ar(e)}function ua(e){const t=e.find(r=>r.type==="constructor");if(!t)throw new be({name:"constructor"});return t}function fa(...e){const[t,r=[]]=(()=>{if(Array.isArray(e[0])){const[d,u,f]=e;return[yt(d,u,{args:f}),f]}const[i,c]=e;return[i,c]})(),{overloads:n}=t,a=n?yt([t,...n],t.name,{args:r}):t,s=da(a),o=r.length>0?Gt(a.inputs,r):void 0;return o?St(s,o):s}function K(e,t={}){return ar(e,t)}function yt(e,t,r){const n=Te(e,t,r);if(n.type!=="function")throw new be({name:t,type:"function"});return n}function da(e){return sr(e)}const la="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",L="0x0000000000000000000000000000000000000000",pa="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function ma(e,t){const{blockNumber:r,blockTag:n,calls:a,stateOverrides:s,traceAssetChanges:o,traceTransfers:i,validation:c}=t,d=t.account?O(t.account):void 0;if(o&&!d)throw new D("`account` is required when `traceAssetChanges` is true");const u=d?ia(ca("constructor(bytes, bytes)"),{bytecode:Dr,args:[pa,fa(K("function getBalance(address)"),[d.address])]}):void 0,f=o?await Promise.all(t.calls.map(async x=>{if(!x.data&&!x.abi)return;const{accessList:G}=await Jt(e,{account:d.address,...x,data:x.abi?J(x):x.data});return G.map(({address:M,storageKeys:Z})=>Z.length>0?M:null)})).then(x=>x.flat().filter(Boolean)):[],l=await Re(e,{blockNumber:r,blockTag:n,blocks:[...o?[{calls:[{data:u}],stateOverrides:s},{calls:f.map((x,G)=>({abi:[K("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:x,from:L,nonce:G})),stateOverrides:[{address:L,nonce:0}]}]:[],{calls:[...a,{}].map(x=>({...x,from:d==null?void 0:d.address})),stateOverrides:s},...o?[{calls:[{data:u}]},{calls:f.map((x,G)=>({abi:[K("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:x,from:L,nonce:G})),stateOverrides:[{address:L,nonce:0}]},{calls:f.map((x,G)=>({to:x,abi:[K("function decimals() returns (uint256)")],functionName:"decimals",from:L,nonce:G})),stateOverrides:[{address:L,nonce:0}]},{calls:f.map((x,G)=>({to:x,abi:[K("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:L,nonce:G})),stateOverrides:[{address:L,nonce:0}]},{calls:f.map((x,G)=>({to:x,abi:[K("function symbol() returns (string)")],functionName:"symbol",from:L,nonce:G})),stateOverrides:[{address:L,nonce:0}]}]:[]],traceTransfers:i,validation:c}),m=o?l[2]:l[0],[p,b,,y,g,E,w,P]=o?l:[],{calls:T,...I}=m,h=T.slice(0,-1)??[],v=(p==null?void 0:p.calls)??[],k=(b==null?void 0:b.calls)??[],C=[...v,...k].map(x=>x.status==="success"?de(x.data):null),N=(y==null?void 0:y.calls)??[],R=(g==null?void 0:g.calls)??[],B=[...N,...R].map(x=>x.status==="success"?de(x.data):null),q=((E==null?void 0:E.calls)??[]).map(x=>x.status==="success"?x.result:null),A=((P==null?void 0:P.calls)??[]).map(x=>x.status==="success"?x.result:null),z=((w==null?void 0:w.calls)??[]).map(x=>x.status==="success"?x.result:null),j=[];for(const[x,G]of B.entries()){const M=C[x];if(typeof G!="bigint"||typeof M!="bigint")continue;const Z=q[x-1],ke=A[x-1],ir=z[x-1],et=x===0?{address:la,decimals:18,symbol:"ETH"}:{address:f[x-1],decimals:ir||Z?Number(Z??1):void 0,symbol:ke??void 0};j.some(cr=>cr.token.address===et.address)||j.push({token:et,value:{pre:M,post:G,diff:G-M}})}return{assetChanges:j,block:I,results:h}}async function ba(e,{address:t,message:r,factory:n,factoryData:a,signature:s,...o}){const i=Yt(r);return F(e,he,"verifyHash")({address:t,factory:n,factoryData:a,hash:i,signature:s,...o})}async function ga(e,t){const{address:r,factory:n,factoryData:a,signature:s,message:o,primaryType:i,types:c,domain:d,...u}=t,f=Jn({message:o,primaryType:i,types:c,domain:d});return F(e,he,"verifyHash")({address:r,factory:n,factoryData:a,hash:f,signature:s,...u})}function or(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:n,onError:a,poll:s,pollingInterval:o=e.pollingInterval}){const i=typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc"));let c;return i?(()=>{const f=U(["watchBlockNumber",e.uid,t,r,o]);return W(f,{onBlockNumber:n,onError:a},l=>oe(async()=>{var m;try{const p=await F(e,ie,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(p===c)return;if(p-c>1&&r)for(let b=c+1n;b<p;b++)l.onBlockNumber(b,c),c=b}(c===void 0||p>c)&&(l.onBlockNumber(p,c),c=p)}catch(p){(m=l.onError)==null||m.call(l,p)}},{emitOnBegin:t,interval:o}))})():(()=>{const f=U(["watchBlockNumber",e.uid,t,r]);return W(f,{onBlockNumber:n,onError:a},l=>{let m=!0,p=()=>m=!1;return(async()=>{try{const b=(()=>{if(e.transport.type==="fallback"){const g=e.transport.transports.find(E=>E.config.type==="webSocket"||E.config.type==="ipc");return g?g.value:e.transport}return e.transport})(),{unsubscribe:y}=await b.subscribe({params:["newHeads"],onData(g){var w;if(!m)return;const E=de((w=g.result)==null?void 0:w.number);l.onBlockNumber(E,c),c=E},onError(g){var E;(E=l.onError)==null||E.call(l,g)}});p=y,m||p()}catch(b){a==null||a(b)}})(),()=>p()})})()}async function ya(e,t){const{checkReplacement:r=!0,confirmations:n=1,hash:a,onReplaced:s,retryCount:o=6,retryDelay:i=({count:T})=>~~(1<<T)*200,timeout:c=18e4}=t,d=U(["waitForTransactionReceipt",e.uid,a]),u=(()=>{var T;return t.pollingInterval?t.pollingInterval:(T=e.chain)!=null&&T.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval})();let f,l,m,p=!1,b,y;const{promise:g,resolve:E,reject:w}=zr(),P=c?setTimeout(()=>{y==null||y(),b==null||b(),w(new qr({hash:a}))},c):void 0;return b=W(d,{onReplaced:s,resolve:E,reject:w},async T=>{if(m=await F(e,ue,"getTransactionReceipt")({hash:a}).catch(()=>{}),m&&n<=1){clearTimeout(P),T.resolve(m),b==null||b();return}y=F(e,or,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(I){const h=k=>{clearTimeout(P),y==null||y(),k(),b==null||b()};let v=I;if(!p)try{if(m){if(n>1&&(!m.blockNumber||v-m.blockNumber+1n<n))return;h(()=>T.resolve(m));return}if(r&&!f&&(p=!0,await ot(async()=>{f=await F(e,Xe,"getTransaction")({hash:a}),f.blockNumber&&(v=f.blockNumber)},{delay:i,retryCount:o}),p=!1),m=await F(e,ue,"getTransactionReceipt")({hash:a}),n>1&&(!m.blockNumber||v-m.blockNumber+1n<n))return;h(()=>T.resolve(m))}catch(k){if(k instanceof xt||k instanceof It){if(!f){p=!1;return}try{l=f,p=!0;const C=await ot(()=>F(e,$,"getBlock")({blockNumber:v,includeTransactions:!0}),{delay:i,retryCount:o,shouldRetry:({error:B})=>B instanceof Mt});p=!1;const N=C.transactions.find(({from:B,nonce:q})=>B===l.from&&q===l.nonce);if(!N||(m=await F(e,ue,"getTransactionReceipt")({hash:N.hash}),n>1&&(!m.blockNumber||v-m.blockNumber+1n<n)))return;let R="replaced";N.to===l.to&&N.value===l.value&&N.input===l.input?R="repriced":N.from===N.to&&N.value===0n&&(R="cancelled"),h(()=>{var B;(B=T.onReplaced)==null||B.call(T,{reason:R,replacedTransaction:l,transaction:N,transactionReceipt:m}),T.resolve(m)})}catch(C){h(()=>T.reject(C))}}else h(()=>T.reject(k))}}})}),g}function ha(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:a,onError:s,includeTransactions:o,poll:i,pollingInterval:c=e.pollingInterval}){const d=typeof i<"u"?i:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),u=o??!1;let f;return d?(()=>{const p=U(["watchBlocks",e.uid,t,r,n,u,c]);return W(p,{onBlock:a,onError:s},b=>oe(async()=>{var y;try{const g=await F(e,$,"getBlock")({blockTag:t,includeTransactions:u});if(g.number!==null&&(f==null?void 0:f.number)!=null){if(g.number===f.number)return;if(g.number-f.number>1&&r)for(let E=(f==null?void 0:f.number)+1n;E<g.number;E++){const w=await F(e,$,"getBlock")({blockNumber:E,includeTransactions:u});b.onBlock(w,f),f=w}}((f==null?void 0:f.number)==null||t==="pending"&&(g==null?void 0:g.number)==null||g.number!==null&&g.number>f.number)&&(b.onBlock(g,f),f=g)}catch(g){(y=b.onError)==null||y.call(b,g)}},{emitOnBegin:n,interval:c}))})():(()=>{let p=!0,b=!0,y=()=>p=!1;return(async()=>{try{n&&F(e,$,"getBlock")({blockTag:t,includeTransactions:u}).then(w=>{p&&b&&(a(w,void 0),b=!1)}).catch(s);const g=(()=>{if(e.transport.type==="fallback"){const w=e.transport.transports.find(P=>P.config.type==="webSocket"||P.config.type==="ipc");return w?w.value:e.transport}return e.transport})(),{unsubscribe:E}=await g.subscribe({params:["newHeads"],async onData(w){var T;if(!p)return;const P=await F(e,$,"getBlock")({blockNumber:(T=w.result)==null?void 0:T.number,includeTransactions:u}).catch(()=>{});p&&(a(P,f),b=!1,f=P)},onError(w){s==null||s(w)}});y=E,p||y()}catch(g){s==null||s(g)}})(),()=>y()})()}function wa(e,{address:t,args:r,batch:n=!0,event:a,events:s,fromBlock:o,onError:i,onLogs:c,poll:d,pollingInterval:u=e.pollingInterval,strict:f}){const l=typeof d<"u"?d:typeof o=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),m=f??!1;return l?(()=>{const y=U(["watchEvent",t,r,n,e.uid,a,u,o]);return W(y,{onLogs:c,onError:i},g=>{let E;o!==void 0&&(E=o-1n);let w,P=!1;const T=oe(async()=>{var I;if(!P){try{w=await F(e,Kt,"createEventFilter")({address:t,args:r,event:a,events:s,strict:m,fromBlock:o})}catch{}P=!0;return}try{let h;if(w)h=await F(e,Ee,"getFilterChanges")({filter:w});else{const v=await F(e,ie,"getBlockNumber")({});E&&E!==v?h=await F(e,Ze,"getLogs")({address:t,args:r,event:a,events:s,fromBlock:E+1n,toBlock:v}):h=[],E=v}if(h.length===0)return;if(n)g.onLogs(h);else for(const v of h)g.onLogs([v])}catch(h){w&&h instanceof Dt&&(P=!1),(I=g.onError)==null||I.call(g,h)}},{emitOnBegin:!0,interval:u});return async()=>{w&&await F(e,Pe,"uninstallFilter")({filter:w}),T()}})})():(()=>{let y=!0,g=()=>y=!1;return(async()=>{try{const E=(()=>{if(e.transport.type==="fallback"){const I=e.transport.transports.find(h=>h.config.type==="webSocket"||h.config.type==="ipc");return I?I.value:e.transport}return e.transport})(),w=s??(a?[a]:void 0);let P=[];w&&(P=[w.flatMap(h=>se({abi:[h],eventName:h.name,args:r}))],a&&(P=P[0]));const{unsubscribe:T}=await E.subscribe({params:["logs",{address:t,topics:P}],onData(I){var v;if(!y)return;const h=I.result;try{const{eventName:k,args:C}=me({abi:w??[],data:h.data,topics:h.topics,strict:m}),N=V(h,{args:C,eventName:k});c([N])}catch(k){let C,N;if(k instanceof fe||k instanceof Me){if(f)return;C=k.abiItem.name,N=(v=k.abiItem.inputs)==null?void 0:v.some(B=>!("name"in B&&B.name))}const R=V(h,{args:N?[]:{},eventName:C});c([R])}},onError(I){i==null||i(I)}});g=T,y||g()}catch(E){i==null||i(E)}})(),()=>g()})()}function va(e,{batch:t=!0,onError:r,onTransactions:n,poll:a,pollingInterval:s=e.pollingInterval}){return(typeof a<"u"?a:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const d=U(["watchPendingTransactions",e.uid,t,s]);return W(d,{onTransactions:n,onError:r},u=>{let f;const l=oe(async()=>{var m;try{if(!f)try{f=await F(e,Qt,"createPendingTransactionFilter")({});return}catch(b){throw l(),b}const p=await F(e,Ee,"getFilterChanges")({filter:f});if(p.length===0)return;if(t)u.onTransactions(p);else for(const b of p)u.onTransactions([b])}catch(p){(m=u.onError)==null||m.call(u,p)}},{emitOnBegin:!0,interval:s});return async()=>{f&&await F(e,Pe,"uninstallFilter")({filter:f}),l()}})})():(()=>{let d=!0,u=()=>d=!1;return(async()=>{try{const{unsubscribe:f}=await e.transport.subscribe({params:["newPendingTransactions"],onData(l){if(!d)return;const m=l.result;n([m])},onError(l){r==null||r(l)}});u=f,d||u()}catch(f){r==null||r(f)}})(),()=>u()})()}function Ea(e){var f,l,m;const{scheme:t,statement:r,...n}=((f=e.match(Pa))==null?void 0:f.groups)??{},{chainId:a,expirationTime:s,issuedAt:o,notBefore:i,requestId:c,...d}=((l=e.match(Ta))==null?void 0:l.groups)??{},u=(m=e.split("Resources:")[1])==null?void 0:m.split(`
3
3
  - `).slice(1);return{...n,...d,...a?{chainId:Number(a)}:{},...s?{expirationTime:new Date(s)}:{},...o?{issuedAt:new Date(o)}:{},...i?{notBefore:new Date(i)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const Pa=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Ta=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function ka(e){const{address:t,domain:r,message:n,nonce:a,scheme:s,time:o=new Date}=e;if(r&&n.domain!==r||a&&n.nonce!==a||s&&n.scheme!==s||n.expirationTime&&o>=n.expirationTime||n.notBefore&&o<n.notBefore)return!1;try{if(!n.address||!At(n.address,{strict:!1})||t&&!kt(n.address,t))return!1}catch{return!1}return!0}async function Fa(e,t){const{address:r,domain:n,message:a,nonce:s,scheme:o,signature:i,time:c=new Date,...d}=t,u=Ea(a);if(!u.address||!ka({address:r,domain:n,message:u,nonce:s,scheme:o,time:c}))return!1;const l=Yt(a);return he(e,{address:u.address,hash:l,signature:i,...d})}async function Aa(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:n}){var i,c,d;const a=await e.request({method:"eth_sendRawTransactionSync",params:n?[t,S(n)]:[t]},{retryCount:0}),o=(((d=(c=(i=e.chain)==null?void 0:i.formatters)==null?void 0:c.transactionReceipt)==null?void 0:d.format)||Nt)(a);if(o.status==="reverted"&&r)throw new _r({receipt:o});return o}function xa(e){return{call:t=>Ft(e,t),createAccessList:t=>Jt(e,t),createBlockFilter:()=>Rn(e),createContractEventFilter:t=>_t(e,t),createEventFilter:t=>Kt(e,t),createPendingTransactionFilter:()=>Qt(e),estimateContractGas:t=>Xr(e,t),estimateGas:t=>Ve(e,t),getBalance:t=>Cn(e,t),getBlobBaseFee:()=>Sn(e),getBlock:t=>$(e,t),getBlockNumber:t=>ie(e,t),getBlockTransactionCount:t=>Gn(e,t),getBytecode:t=>at(e,t),getChainId:()=>je(e),getCode:t=>at(e,t),getContractEvents:t=>zt(e,t),getEip712Domain:t=>qn(e,t),getEnsAddress:t=>bn(e,t),getEnsAvatar:t=>In(e,t),getEnsName:t=>Nn(e,t),getEnsResolver:t=>Bn(e,t),getEnsText:t=>Zt(e,t),getFeeHistory:t=>Mn(e,t),estimateFeesPerGas:t=>Kr(e,t),getFilterChanges:t=>Ee(e,t),getFilterLogs:t=>Ln(e,t),getGasPrice:()=>ze(e),getLogs:t=>Ze(e,t),getProof:t=>ta(e,t),estimateMaxPriorityFeePerGas:t=>Jr(e,t),fillTransaction:t=>Ht(e,t),getStorageAt:t=>ra(e,t),getTransaction:t=>Xe(e,t),getTransactionConfirmations:t=>na(e,t),getTransactionCount:t=>Ot(e,t),getTransactionReceipt:t=>ue(e,t),multicall:t=>aa(e,t),prepareTransactionRequest:t=>Ut(e,t),readContract:t=>H(e,t),sendRawTransaction:t=>dn(e,t),sendRawTransactionSync:t=>Aa(e,t),simulate:t=>Re(e,t),simulateBlocks:t=>Re(e,t),simulateCalls:t=>ma(e,t),simulateContract:t=>rn(e,t),verifyHash:t=>he(e,t),verifyMessage:t=>ba(e,t),verifySiweMessage:t=>Fa(e,t),verifyTypedData:t=>ga(e,t),uninstallFilter:t=>Pe(e,t),waitForTransactionReceipt:t=>ya(e,t),watchBlocks:t=>ha(e,t),watchBlockNumber:t=>or(e,t),watchContractEvent:t=>fn(e,t),watchEvent:t=>wa(e,t),watchPendingTransactions:t=>va(e,t)}}function qa(e){const{key:t="public",name:r="Public Client"}=e;return ln({...e,key:t,name:r,type:"publicClient"}).extend(xa)}export{Ma as AbiConstructorNotFoundError,La as AbiConstructorParamsNotFoundError,Tr as AbiDecodingDataSizeTooSmallError,Bt as AbiDecodingZeroDataError,Oa as AbiEncodingArrayLengthMismatchError,Ha as AbiEncodingBytesSizeMismatchError,Ua as AbiEncodingLengthMismatchError,za as AbiErrorInputsNotFoundError,ja as AbiErrorNotFoundError,Va as AbiErrorSignatureNotFoundError,rt as AbiEventNotFoundError,Er as AbiEventSignatureEmptyTopicsError,Pr as AbiEventSignatureNotFoundError,Wa as AbiFunctionNotFoundError,Za as AbiFunctionOutputsNotFoundError,Ja as AbiFunctionSignatureNotFoundError,Ka as AccountStateConflictError,Co as AtomicReadyWalletRejectedUpgradeError,So as AtomicityNotSupportedError,D as BaseError,$t as BaseFeeScalarError,Mt as BlockNotFoundError,Go as BundleTooLargeError,Nr as BytesSizeMismatchError,Qa as CallExecutionError,Do as ChainDisconnectedError,Ya as ChainDoesNotSupportContract,Xa as CircularReferenceError,es as ClientChainNotConfiguredError,ts as ContractFunctionExecutionError,nt as ContractFunctionRevertedError,rs as ContractFunctionZeroDataError,ns as CounterfactualDeploymentFailedError,fe as DecodeLogDataMismatch,Me as DecodeLogTopicsMismatch,qo as DuplicateIdError,Ue as Eip1559FeesNotSupportedError,Y as EnsAvatarInvalidNftUriError,yn as EnsAvatarUnsupportedNamespaceError,Qe as EnsAvatarUriResolutionError,Vr as EstimateGasExecutionError,_o as ExecutionRevertedError,$o as FeeCapTooHighError,Mo as FeeCapTooLowError,jr as FilterTypeNotSupportedError,Lo as HttpRequestError,Oo as InsufficientFundsError,Ho as IntegerOutOfRangeError,Uo as InternalRpcError,zo as IntrinsicGasTooHighError,jo as IntrinsicGasTooLowError,as as InvalidAbiDecodingTypeError,ss as InvalidAbiEncodingTypeError,dr as InvalidAbiItemError,os as InvalidAbiParametersError,is as InvalidAbiTypeParameterError,xr as InvalidAddressError,cs as InvalidArrayError,Vo as InvalidBytesBooleanError,us as InvalidChainIdError,fs as InvalidDefinitionTypeError,Un as InvalidDomainError,ds as InvalidFunctionModifierError,Wo as InvalidHexBooleanError,Dt as InvalidInputRpcError,ls as InvalidLegacyVError,ps as InvalidModifierError,ms as InvalidParameterError,Zo as InvalidParamsRpcError,bs as InvalidParenthesisError,zn as InvalidPrimaryTypeError,Jo as InvalidRequestRpcError,gs as InvalidSerializableTransactionError,ys as InvalidSignatureError,hs as InvalidStorageKeySizeError,ws as InvalidStructSignatureError,jn as InvalidStructTypeError,Ko as JsonRpcVersionUnsupportedError,Qo as LimitExceededRpcError,Zr as MaxFeePerGasTooLowError,Yo as MethodNotFoundRpcError,Xo as MethodNotSupportedRpcError,ei as NonceMaxValueError,ti as NonceTooHighError,ri as NonceTooLowError,ni as ParseRpcError,ai as ProviderDisconnectedError,si as ProviderRpcError,Rt as RawContractError,oi as ResourceNotFoundRpcError,ii as ResourceUnavailableRpcError,ci as RpcError,ui as RpcRequestError,fi as SizeExceedsPaddingSizeError,di as SizeOverflowError,li as SliceOffsetOutOfBoundsError,vs as SolidityProtectedKeywordError,Es as StateAssignmentConflictError,pi as SwitchChainError,mi as TimeoutError,bi as TipAboveFeeCapError,mr as TransactionExecutionError,xt as TransactionNotFoundError,It as TransactionReceiptNotFoundError,gi as TransactionRejectedRpcError,yi as TransactionTypeNotSupportedError,hi as UnauthorizedProviderError,wi as UnknownBundleIdError,Oe as UnknownNodeError,vi as UnknownRpcError,Ps as UnknownSignatureError,Ts as UnknownTypeError,Ei as UnsupportedChainIdError,Pi as UnsupportedNonOptionalCapabilityError,Ti as UnsupportedProviderMethodError,Fo as UrlRequiredError,ki as UserRejectedRequestError,qr as WaitForTransactionReceiptTimeoutError,te as assertRequest,ks as assertTransactionEIP1559,Fs as assertTransactionEIP2930,As as assertTransactionLegacy,br as blobsToCommitments,yr as blobsToProofs,xs as boolToBytes,Fi as boolToHex,Is as bytesToBigInt,Ns as bytesToBool,pe as bytesToHex,Bs as bytesToNumber,Rs as bytesToString,_i as ccipFetch,$i as ccipRequest,Cs as checksumAddress,Ss as commitmentToVersionedHash,gr as commitmentsToVersionedHashes,ye as concat,Gs as concatBytes,Ds as concatHex,ln as createClient,qa as createPublicClient,Ao as createTransport,Tt as decodeAbiParameters,qs as decodeErrorResult,me as decodeEventLog,Mi as decodeFunctionData,re as decodeFunctionResult,_s as defineBlock,$s as defineChain,Ms as defineTransaction,Ls as defineTransactionReceipt,Os as defineTransactionRequest,Dr as deploylessCallViaBytecodeBytecode,Hs as deploylessCallViaFactoryBytecode,qe as encodeAbiParameters,Us as encodeDeployData,Li as encodeErrorResult,se as encodeEventTopics,J as encodeFunctionData,Oi as encodeFunctionResult,Ai as erc20Abi,xi as erc6492SignatureValidatorAbi,zs as erc6492SignatureValidatorByteCode,la as ethAddress,Ii as etherUnits,js as extendSchema,xo as fallback,vt as formatBlock,pr as formatEther,ce as formatGwei,V as formatLog,Et as formatTransaction,Nt as formatTransactionReceipt,ge as formatTransactionRequest,Ni as formatUnits,ht as getAbiItem,Vs as getAddress,ne as getChainContractAddress,ee as getContractError,Ge as getEventSelector,Ws as getEventSignature,Zs as getFunctionSelector,Js as getFunctionSignature,wr as getTransactionType,Wn as getTypesForEIP712Domain,Bi as gweiUnits,Kn as hashDomain,Yt as hashMessage,Xt as hashStruct,Jn as hashTypedData,de as hexToBigInt,Ri as hexToBool,Ks as hexToBytes,we as hexToNumber,Io as http,At as isAddress,kt as isAddressEqual,Lr as isHex,_ as keccak256,mn as labelhash,Qs as maxUint16,Ys as maxUint256,Ur as multicall3Abi,Be as namehash,Xs as numberToBytes,S as numberToHex,Hi as offchainLookup,Ui as offchainLookupAbiItem,zi as offchainLookupSignature,Ci as pad,Si as padBytes,Gi as padHex,eo as parseAbi,ft as parseAbiItem,to as parseAbiParameters,We as parseEventLogs,ro as prepareEncodeFunctionData,On as presignMessagePrefix,xa as publicActions,no as recoverAddress,ao as recoverPublicKey,so as rpcTransactionType,oo as serializeAccessList,io as serializeSignature,co as serializeTransaction,uo as sha256,No as shouldThrow,fo as signatureToHex,le as size,lo as slice,po as sliceBytes,mo as sliceHex,X as stringToBytes,ut as stringToHex,U as stringify,hr as toBlobSidecars,bo as toBlobs,De as toBytes,go as toEventHash,Ge as toEventSelector,yo as toEventSignature,ho as toFunctionHash,wo as toFunctionSelector,vo as toFunctionSignature,ae as toHex,Hn as toPrefixedMessage,Eo as toRlp,Po as transactionType,Or as trim,Di as universalSignatureValidatorAbi,To as universalSignatureValidatorByteCode,Vn as validateTypedData,cn as withCache,ot as withRetry,Bo as withTimeout,L as zeroAddress};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/in-app-wallet-calls-BhbFXrXl.js","assets/thirdweb-BXzAJI2R.js"])))=>i.map(i=>d[i]);
2
- import{f as S,S as W,_ as T,V as rt,r as it,W as q,Z as B,X as z,Y as E,$ as D,a0 as x,J as K,M as C,K as ct,i as Z,P as _,a1 as N,F as $,C as O,H as ot,a2 as dt,a3 as pt,k as L,a4 as Y,n as mt,a5 as ut,y as yt,a6 as lt,a7 as j,a8 as J,a9 as ft,aa as wt,ab as At,ac as Gt,m as X,T as F,ad as V,ae as Q,af as gt,B as ht,ag as Tt,ah as Pt}from"./thirdweb-BXzAJI2R.js";import{o as tt,h as vt,g as Lt,a as Ot,b as Dt,e as U,c as xt,d as Ct,f as St}from"./index-DY865o07.js";import{t as _t,p as Et,s as Ft}from"./send-eip712-transaction-CwJN_LGP.js";import{p as Vt}from"./parse-typed-data-BQrR5t4x.js";import"./types-DC0Zmj1B.js";const Ut="0xdd62ed3e",It=[{name:"owner",type:"address"},{name:"spender",type:"address"}],bt=[{type:"uint256"}];async function Rt(a){return S({contract:a.contract,method:[Ut,It,bt],params:[a.owner,a.spender]})}const Nt="0x095ea7b3",$t=[{name:"spender",type:"address"},{name:"value",type:"uint256"}],kt=[{type:"bool"}];function Ht(a){const e=tt(async()=>"asyncParams"in a?await a.asyncParams():a);return W({accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList},contract:a.contract,erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[Nt,$t,kt],nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await e();return[t.spender,t.value]},value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value}})}function Mt(a){return Ht({asyncParams:async()=>{let e;if("amount"in a){const{decimals:t}=await T(async()=>{const{decimals:r}=await import("./thirdweb-BXzAJI2R.js").then(n=>n.ay);return{decimals:r}},[]),i=await t(a).catch(()=>18);e=rt(a.amount.toString(),i)}else e=a.amountWei;return{overrides:{erc20Value:{amountWei:e,tokenAddress:a.contract.address},...a.overrides},spender:a.spender,value:e}},contract:a.contract})}const Wt="0xf15d424e",qt=[{name:"signer",type:"address"}],Bt=[{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 zt(a){return S({contract:a.contract,method:[Wt,qt,Bt],params:[a.signer]})}const Kt="0x5892e236",Zt=[{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"}],Yt=[];function jt(a){const e=tt(async()=>"asyncParams"in a?await a.asyncParams():a);return W({accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList},contract:a.contract,erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[Kt,Zt,Yt],nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await e();return[t.req,t.signature]},value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value}})}function M(){return new Date(Date.now()+1e3*60*60*24*365*10)}function b(a){return _t(Math.floor(a.getTime()/1e3))}const Jt=[{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 Xt(a){const{account:e,contract:t,req:i}=a,r=await e.signTypedData({domain:{chainId:t.chain.id,name:"Account",verifyingContract:t.address,version:"1"},message:i,primaryType:"SignerPermissionRequest",types:{SignerPermissionRequest:Jt}});return{req:i,signature:r}}async function Qt(a){var i;const{target:e,permissions:t}=a;return{approvedTargets:t.approvedTargets==="*"?[B]:t.approvedTargets,isAdmin:0,nativeTokenLimitPerTransaction:q(((i=t.nativeTokenLimitPerTransaction)==null?void 0:i.toString())||"0"),permissionEndTimestamp:b(t.permissionEndTimestamp||M()),permissionStartTimestamp:b(t.permissionStartTimestamp||new Date(0)),reqValidityEndTimestamp:b(M()),reqValidityStartTimestamp:0n,signer:e,uid:await it()}}function ta(a){const{contract:e,sessionKeyAddress:t,account:i,permissions:r}=a;return jt({async asyncParams(){const{req:n,signature:c}=await Xt({account:i,contract:e,req:await Qt({permissions:r,target:t})});return{req:n,signature:c}},contract:e})}async function aa(a){var c;const{accountContract:e,sessionKeyAddress:t,newPermissions:i}=a;if(!await z(e))return!0;const n=await zt({contract:e,signer:t});return!!(n.endTimestamp&&n.endTimestamp<Math.floor(Date.now()/1e3)||!ea(n.approvedTargets,i.approvedTargets)||q(((c=i.nativeTokenLimitPerTransaction)==null?void 0:c.toString())??"0")>n.nativeTokenLimitPerTransaction)}function ea(a,e){return e==="*"&&a.length===1&&a[0]===B?!0:e!=="*"?e.map(t=>t.toLowerCase()).every(t=>a.map(i=>i.toLowerCase()).includes(t)):!1}const sa=2n**96n-1n,na="0x35567e1a",ra=[{name:"sender",type:"address"},{name:"key",type:"uint192"}],ia=[{name:"nonce",type:"uint256"}];async function ca(a){return S({contract:a.contract,method:[na,ra,ia],params:[a.sender,a.key]})}const oa="0xa6193531",da=[{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"}],pa=[{type:"bytes32"}];async function ma(a){return S({contract:a.contract,method:[oa,da,pa],params:[a.userOp]})}const ua="0x22cdde4c",ya=[{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"}],la=[{type:"bytes32"}];async function fa(a){return S({contract:a.contract,method:[ua,ya,la],params:[a.userOp]})}function wa(a){return a.factory?E([a.factory,a.factoryData||"0x"]):"0x"}function Aa(a){return E([D(x(BigInt(a.verificationGasLimit)),{size:16}),D(x(BigInt(a.callGasLimit)),{size:16})])}function Ga(a){return E([D(x(BigInt(a.maxPriorityFeePerGas)),{size:16}),D(x(BigInt(a.maxFeePerGas)),{size:16})])}function ga(a){return a.paymaster?E([a.paymaster,D(x(BigInt(a.paymasterVerificationGasLimit||0)),{size:16}),D(x(BigInt(a.paymasterPostOpGasLimit||0)),{size:16}),a.paymasterData||"0x"]):"0x"}const ha=a=>({accountGasLimits:Aa(a),callData:a.callData,gasFees:Ga(a),initCode:wa(a),nonce:BigInt(a.nonce),paymasterAndData:ga(a),preVerificationGas:BigInt(a.preVerificationGas),sender:a.sender,signature:a.signature});async function I(a){var A;const{userOp:e,paymasterOverride:t,client:i,chain:r,entrypointAddress:n}=a;if(t)return t(e);const c={"Content-Type":"application/json"},s=n??C,o=K(r),d={id:1,jsonrpc:"2.0",method:"pm_sponsorUserOperation",params:[vt(e),s]},l=await ct(i)(o,{body:Z(d),headers:c,method:"POST"});if(!l.ok){const G=await l.text()||l.statusText;throw new Error(`Paymaster error: ${l.status} - ${G}`)}const m=await l.json();if(m.result)return typeof m.result=="string"?{paymasterAndData:m.result}:(m.result.reason&&console.warn(`Paymaster policy rejected this transaction with reason: ${m.result.reason} ${m.result.policyId?`(policyId: ${m.result.policyId})`:""}`),{callGasLimit:m.result.callGasLimit?_(m.result.callGasLimit):void 0,paymaster:m.result.paymaster,paymasterAndData:m.result.paymasterAndData,paymasterData:m.result.paymasterData,paymasterPostOpGasLimit:m.result.paymasterPostOpGasLimit?_(m.result.paymasterPostOpGasLimit):void 0,paymasterVerificationGasLimit:m.result.paymasterVerificationGasLimit?_(m.result.paymasterVerificationGasLimit):void 0,preVerificationGas:m.result.preVerificationGas?_(m.result.preVerificationGas):void 0,verificationGasLimit:m.result.verificationGasLimit?_(m.result.verificationGasLimit):void 0});const w=((A=m.error)==null?void 0:A.message)||m.error||l.statusText||"unknown error";throw new Error(`Paymaster error from ${o}: ${w}`)}const k=new Set,H=a=>`${a.chain.id}:${a.address}`,at=a=>{k.add(H(a))},et=a=>{k.delete(H(a))},st=a=>k.has(H(a));async function Ta(a){const e=a.timeoutMs||12e4,t=a.intervalMs||1e3,i=Date.now()+e;for(;Date.now()<i;){const r=await Lt(a);if(r)return r;await new Promise(n=>setTimeout(n,t))}throw new Error(`Timeout waiting for userOp to be mined on chain ${a.chain.id} with UserOp hash: ${a.userOpHash}`)}async function Pa(a){var P;const{transaction:e,accountContract:t,factoryContract:i,adminAddress:r,overrides:n,sponsorGas:c,waitForDeployment:s=!0,isDeployedOverride:o}=a,d=e.chain,y=e.client,l={bundlerUrl:n==null?void 0:n.bundlerUrl,chain:d,client:y,entrypointAddress:n==null?void 0:n.entrypointAddress},m=N(((P=a.overrides)==null?void 0:P.entrypointAddress)||C),[w,A,G,g,f]=await Promise.all([typeof o=="boolean"?o:z(t).then(h=>h||st(t)),$(e),O(e.gas),va({bundlerOptions:l,chain:d,client:y,executeTx:e}),Sa({accountContract:t,chain:d,client:y,entrypointAddress:n==null?void 0:n.entrypointAddress,getNonceOverride:n==null?void 0:n.getAccountNonce})]),{maxFeePerGas:p,maxPriorityFeePerGas:u}=g;return m==="v0.7"?La({accountContract:t,adminAddress:r,bundlerOptions:l,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s}):Oa({accountContract:t,adminAddress:r,bundlerOptions:l,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s})}async function va(a){const{executeTx:e,bundlerOptions:t,chain:i,client:r}=a;let{maxFeePerGas:n,maxPriorityFeePerGas:c}=e;const s=(t==null?void 0:t.bundlerUrl)??K(i);if(dt(s)){const o=await Ot({options:t});n=o.maxFeePerGas,c=o.maxPriorityFeePerGas}else{const[o,d]=await Promise.all([O(n),O(c)]);if(o&&d)n=o,c=d;else{const y=await pt(r,i);c=d??y.maxPriorityFeePerGas??0n,n=o??y.maxFeePerGas??0n}}return{maxFeePerGas:n,maxPriorityFeePerGas:c}}async function La(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:y,maxFeePerGas:l,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g,f;t?(f="0x",w&&await nt(r)):(g=i.address,f=await $(Y({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i})),w&&at(r));const p={callData:d,callGasLimit:y??0n,factory:g,factoryData:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:o,paymaster:void 0,paymasterData:"0x",paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n,preVerificationGas:0n,sender:r.address,signature:j,verificationGasLimit:0n};if(c){const u=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:p});if(u.paymaster&&u.paymasterData&&(p.paymaster=u.paymaster,p.paymasterData=u.paymasterData),u.callGasLimit&&u.verificationGasLimit&&u.preVerificationGas&&u.paymasterPostOpGasLimit&&u.paymasterVerificationGasLimit)p.callGasLimit=u.callGasLimit,p.verificationGasLimit=u.verificationGasLimit,p.preVerificationGas=u.preVerificationGas,p.paymasterPostOpGasLimit=u.paymasterPostOpGasLimit,p.paymasterVerificationGasLimit=u.paymasterVerificationGasLimit;else{const P=s!=null&&s.tokenPaymaster?{[s.tokenPaymaster.tokenAddress]:{stateDiff:{[mt(ut([{type:"address"},{type:"uint256"}],[r.address,s.tokenPaymaster.balanceStorageSlot]))]:yt(lt,{size:32})}}}:void 0,h=await U({options:e,userOp:p},P);p.callGasLimit=h.callGasLimit,p.verificationGasLimit=h.verificationGasLimit,p.preVerificationGas=h.preVerificationGas,p.paymasterPostOpGasLimit=s!=null&&s.tokenPaymaster?500000n:h.paymasterPostOpGasLimit||0n,p.paymasterVerificationGasLimit=h.paymasterVerificationGasLimit||0n;const v=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:p});v.paymaster&&v.paymasterData&&(p.paymaster=v.paymaster,p.paymasterData=v.paymasterData)}}else{const u=await U({options:e,userOp:p});p.callGasLimit=u.callGasLimit,p.verificationGasLimit=u.verificationGasLimit,p.preVerificationGas=u.preVerificationGas,p.paymasterPostOpGasLimit=u.paymasterPostOpGasLimit||0n,p.paymasterVerificationGasLimit=u.paymasterVerificationGasLimit||0n}return{...p,signature:"0x"}}async function Oa(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:y,maxFeePerGas:l,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g;t?(g="0x",w&&await nt(r)):(g=await Ca({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i}),w&&at(r));const f={callData:d,callGasLimit:y??0n,initCode:g,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:o,paymasterAndData:"0x",preVerificationGas:0n,sender:r.address,signature:j,verificationGasLimit:0n};if(c){const p=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:f}),u="paymasterAndData"in p?p.paymasterAndData:"0x";if(u&&u!=="0x"&&(f.paymasterAndData=u),p.callGasLimit&&p.verificationGasLimit&&p.preVerificationGas)f.callGasLimit=p.callGasLimit,f.verificationGasLimit=p.verificationGasLimit,f.preVerificationGas=p.preVerificationGas;else{const P=await U({options:e,userOp:f});if(f.callGasLimit=P.callGasLimit,f.verificationGasLimit=P.verificationGasLimit,f.preVerificationGas=P.preVerificationGas,u&&u!=="0x"){const h=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:f}),v="paymasterAndData"in h?h.paymasterAndData:"0x";v&&v!=="0x"&&(f.paymasterAndData=v)}}}else{const p=await U({options:e,userOp:f});f.callGasLimit=p.callGasLimit,f.verificationGasLimit=p.verificationGasLimit,f.preVerificationGas=p.preVerificationGas}return{...f,signature:"0x"}}async function Da(a){const{userOp:e,chain:t,entrypointAddress:i,adminAccount:r}=a,n=await xa({chain:t,client:a.client,entrypointAddress:i,userOp:e});if(r.signMessage){const c=await r.signMessage({chainId:t.id,message:{raw:ot(n)},originalMessage:Z(e)});return{...e,signature:c}}throw new Error("signMessage not implemented in signingAccount")}async function xa(a){const{userOp:e,chain:t,entrypointAddress:i}=a,r=N(i||C);let n;if(r==="v0.7"){const c=ha(e);n=await fa({contract:L({address:i||J,chain:t,client:a.client}),userOp:c})}else n=await ma({contract:L({address:i||C,chain:t,client:a.client}),userOp:e});return n}async function Ca(a){const{factoryContract:e,adminAddress:t,accountSalt:i,createAccountOverride:r}=a,n=Y({accountSalt:i,adminAddress:t,createAccountOverride:r,factoryContract:e});return E([e.address,await $(n)])}async function Sa(a){const{accountContract:e,chain:t,client:i,entrypointAddress:r,getNonceOverride:n}=a;return n?n(e):await ca({contract:L({address:r||C,chain:t,client:i}),key:Dt(),sender:e.address})}async function nt(a){const e=Date.now();for(;st(a);){if(Date.now()-e>6e4)throw et(a),new Error("Account deployment is taking too long (over 1 minute). Please try again.");await new Promise(t=>setTimeout(t,500))}}const _a=new WeakMap,Ea=new WeakMap;async function Ha(a,e){var m,w,A,G,g,f,p;const{personalAccount:t,client:i}=a;if(!t)throw new Error("No personal account provided for smart account connection");const r=e,n=e.chain,c="gasless"in r?r.gasless:r.sponsorGas;if(await ft(n))return[Ua({chain:n,connectionOptions:a,creationOptions:e,sponsorGas:c}),n];if(r.factoryAddress&&!((m=r.overrides)!=null&&m.entrypointAddress)){const u=await Ia(r.factoryAddress,i,n);u&&(r.overrides={...r.overrides,entrypointAddress:u})}(w=r.overrides)!=null&&w.tokenPaymaster&&!((A=r.overrides)!=null&&A.entrypointAddress)&&(r.overrides={...r.overrides,entrypointAddress:J});const s=r.factoryAddress??wt((G=r.overrides)==null?void 0:G.entrypointAddress),o=L({address:s,chain:n,client:i}),d=await At({accountAddress:(g=r.overrides)==null?void 0:g.accountAddress,accountSalt:(f=r.overrides)==null?void 0:f.accountSalt,adminAddress:t.address,factoryContract:o,predictAddressOverride:(p=r.overrides)==null?void 0:p.predictAddress}).then(u=>u).catch(u=>{throw new Error(`Failed to get account address with factory contract ${o.address} on chain ID ${n.id}: ${(u==null?void 0:u.message)||"unknown error"}`,{cause:u})}),y=L({address:d,chain:n,client:i}),l=await Fa({...r,accountContract:y,chain:n,client:i,factoryContract:o,personalAccount:t,sponsorGas:c});if(_a.set(t,l),Ea.set(l,t),r.sessionKey&&await aa({accountContract:y,newPermissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address})){const u=ta({account:t,contract:y,permissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address});await Gt({account:l,transaction:u})}return[l,n]}async function Fa(a){var n,c;const e=(n=a.overrides)==null?void 0:n.tokenPaymaster;if(e&&N(((c=a.overrides)==null?void 0:c.entrypointAddress)||C)!=="v0.7")throw new Error("Token paymaster is only supported for entrypoint version v0.7");const t=a.sponsorGas;let i=a.accountContract;const r={address:X(i.address),async onTransactionRequested(s){var o,d;return(d=(o=a.personalAccount).onTransactionRequested)==null?void 0:d.call(o,s)},async sendBatchTransaction(s){var m,w;const o=gt({accountContract:i,executeBatchOverride:(m=a.overrides)==null?void 0:m.executeBatch,transactions:s});if(s.length===0)throw new Error("No transactions to send");const d=s[0];if(!d)throw new Error("No transactions to send");const y=F(d.chainId),l=await R({executeTx:o,options:{...a,accountContract:i,chain:y}});return V({chainId:y.id,client:a.client,contractAddress:((w=s[0])==null?void 0:w.to)??void 0,transactionHash:l.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),l},async sendTransaction(s){var m,w,A;let o;if(e){await Va({accountContract:i,erc20Paymaster:e,options:a});const G=async()=>({paymaster:e.paymasterAddress,paymasterData:"0x"});o=((m=a.overrides)==null?void 0:m.paymaster)||G}else o=(w=a.overrides)==null?void 0:w.paymaster;s.chainId!==i.chain.id&&(i=L({address:r.address,chain:F(s.chainId),client:a.client}));const d=Q({accountContract:i,executeOverride:(A=a.overrides)==null?void 0:A.execute,transaction:s}),y=F(s.chainId),l=await R({executeTx:d,options:{...a,accountContract:i,chain:y,overrides:{...a.overrides,paymaster:o}}});return V({chainId:y.id,client:a.client,contractAddress:s.to??void 0,transactionHash:l.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),l},async signMessage({message:s}){var d;if((d=a.overrides)!=null&&d.signMessage)return a.overrides.signMessage({accountContract:i,adminAccount:a.personalAccount,factoryContract:a.factoryContract,message:s});const{smartAccountSignMessage:o}=await T(async()=>{const{smartAccountSignMessage:y}=await import("./thirdweb-BXzAJI2R.js").then(l=>l.az);return{smartAccountSignMessage:y}},[]);return o({accountContract:i,factoryContract:a.factoryContract,message:s,options:a})},async signTypedData(s){var d;if((d=a.overrides)!=null&&d.signTypedData)return a.overrides.signTypedData({accountContract:i,adminAccount:a.personalAccount,factoryContract:a.factoryContract,typedData:s});const{smartAccountSignTypedData:o}=await T(async()=>{const{smartAccountSignTypedData:y}=await import("./thirdweb-BXzAJI2R.js").then(l=>l.az);return{smartAccountSignTypedData:y}},[]);return o({accountContract:i,factoryContract:a.factoryContract,options:a,typedData:s})},sendCalls:async s=>{const{inAppWalletSendCalls:o}=await T(async()=>{const{inAppWalletSendCalls:w}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([0,1])),d=s.calls[0];if(!d)throw new Error("No calls to send");const y=d.client,l=d.chain||s.chain,m=await o({account:r,calls:s.calls,chain:l});return{chain:l,client:y,id:m}},getCallsStatus:async s=>{const{inAppWalletGetCallsStatus:o}=await T(async()=>{const{inAppWalletGetCallsStatus:d}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletGetCallsStatus:d}},__vite__mapDeps([0,1]));return o(s)},getCallsStatusRaw:async s=>{const{inAppWalletGetCallsStatusRaw:o}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:d}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletGetCallsStatusRaw:d}},__vite__mapDeps([0,1]));return o(s)},getCapabilities:async s=>({[s.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:t??!1}}})};return r}async function Va(a){var y;const{accountContract:e,erc20Paymaster:t,options:i}=a,r=t.tokenAddress,n=L({address:r,chain:e.chain,client:e.client});if(await Rt({contract:n,owner:e.address,spender:t.paymasterAddress})>0n)return;const s=Mt({amountWei:sa-1n,contract:n,spender:t.paymasterAddress}),o=await ht({from:e.address,transaction:s}),d=Q({accountContract:e,executeOverride:(y=i.overrides)==null?void 0:y.execute,transaction:o});await R({executeTx:d,options:{...i,overrides:{...i.overrides,tokenPaymaster:void 0}}})}function Ua(a){const{creationOptions:e,connectionOptions:t,chain:i}=a,r={address:X(t.personalAccount.address),async onTransactionRequested(n){var c,s;return(s=(c=t.personalAccount).onTransactionRequested)==null?void 0:s.call(c,n)},async sendTransaction(n){var y,l,m,w;const c={chain:F(n.chainId),client:t.client,data:n.data,eip712:n.eip712,to:n.to??void 0,value:n.value??0n};let s=await Et({account:r,transaction:c});if(a.sponsorGas&&!s.paymaster){const A=await xt({options:{bundlerUrl:(y=e.overrides)==null?void 0:y.bundlerUrl,chain:i,client:t.client,entrypointAddress:(l=e.overrides)==null?void 0:l.entrypointAddress},transaction:s});s={...s,...A}}const o=await Ft({account:r,chainId:i.id,eip712Transaction:s}),d=await Ct({options:{bundlerUrl:(m=e.overrides)==null?void 0:m.bundlerUrl,chain:i,client:t.client,entrypointAddress:(w=e.overrides)==null?void 0:w.entrypointAddress},signedTransaction:o,transaction:s});return V({chainId:i.id,client:t.client,contractAddress:n.to??void 0,transactionHash:d.transactionHash,walletAddress:r.address,walletType:"smart"}),{chain:i,client:t.client,transactionHash:d.transactionHash}},async signMessage({message:n}){return t.personalAccount.signMessage({message:n})},async signTypedData(n){const c=Vt(n);return t.personalAccount.signTypedData(c)},sendCalls:async n=>{const{inAppWalletSendCalls:c}=await T(async()=>{const{inAppWalletSendCalls:l}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletSendCalls:l}},__vite__mapDeps([0,1])),s=n.calls[0];if(!s)throw new Error("No calls to send");const o=s.client,d=s.chain||n.chain,y=await c({account:r,calls:n.calls,chain:d});return{chain:d,client:o,id:y}},getCallsStatus:async n=>{const{inAppWalletGetCallsStatus:c}=await T(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([0,1]));return c(n)},getCallsStatusRaw:async n=>{const{inAppWalletGetCallsStatusRaw:c}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-BhbFXrXl.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([0,1]));return c(n)},getCapabilities:async n=>({[n.chainId??1]:{atomic:{status:"unsupported"},paymasterService:{supported:a.sponsorGas??!1}}})};return r}async function R(a){var i,r,n;const{executeTx:e,options:t}=a;try{const c=await Pa({accountContract:t.accountContract,adminAddress:t.personalAccount.address,factoryContract:t.factoryContract,overrides:t.overrides,sponsorGas:t.sponsorGas,transaction:e}),s=await Da({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:(n=t.overrides)==null?void 0:n.entrypointAddress},d=await St({options:o,userOp:s}),y=await Ta({...o,userOpHash:d});return V({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),transactionHash:y.transactionHash,walletAddress:t.accountContract.address,walletType:"smart"}),{chain:t.chain,client:t.client,transactionHash:y.transactionHash}}catch(c){throw Tt(c)&&Pt({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),error:c,transactionValue:await O(e.value),walletAddress:t.accountContract.address}),c}finally{et(t.accountContract)}}async function Ia(a,e,t){const i=L({address:a,chain:t,client:e});try{return await S({contract:i,method:"function entrypoint() public view returns (address)"})}catch{return}}export{Ha as connectSmartAccount,Ia as getEntrypointFromFactory};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/in-app-wallet-calls-VLzZMUuO.js","assets/thirdweb-Nalfv5nZ.js"])))=>i.map(i=>d[i]);
2
+ import{f as S,S as W,_ as T,V as rt,r as it,W as q,Z as B,X as z,Y as E,$ as D,a0 as x,J as K,M as C,K as ct,i as Z,P as _,a1 as N,F as $,C as O,H as ot,a2 as dt,a3 as pt,k as L,a4 as Y,n as mt,a5 as ut,y as yt,a6 as lt,a7 as j,a8 as J,a9 as ft,aa as wt,ab as At,ac as Gt,m as X,T as F,ad as V,ae as Q,af as gt,B as ht,ag as Tt,ah as Pt}from"./thirdweb-Nalfv5nZ.js";import{o as tt,h as vt,g as Lt,a as Ot,b as Dt,e as U,c as xt,d as Ct,f as St}from"./index-DBry3omJ.js";import{t as _t,p as Et,s as Ft}from"./send-eip712-transaction-G0RJPO45.js";import{p as Vt}from"./parse-typed-data-BCdC55DP.js";import"./types-DC0Zmj1B.js";const Ut="0xdd62ed3e",It=[{name:"owner",type:"address"},{name:"spender",type:"address"}],bt=[{type:"uint256"}];async function Rt(a){return S({contract:a.contract,method:[Ut,It,bt],params:[a.owner,a.spender]})}const Nt="0x095ea7b3",$t=[{name:"spender",type:"address"},{name:"value",type:"uint256"}],kt=[{type:"bool"}];function Ht(a){const e=tt(async()=>"asyncParams"in a?await a.asyncParams():a);return W({accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList},contract:a.contract,erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[Nt,$t,kt],nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await e();return[t.spender,t.value]},value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value}})}function Mt(a){return Ht({asyncParams:async()=>{let e;if("amount"in a){const{decimals:t}=await T(async()=>{const{decimals:r}=await import("./thirdweb-Nalfv5nZ.js").then(n=>n.ay);return{decimals:r}},[]),i=await t(a).catch(()=>18);e=rt(a.amount.toString(),i)}else e=a.amountWei;return{overrides:{erc20Value:{amountWei:e,tokenAddress:a.contract.address},...a.overrides},spender:a.spender,value:e}},contract:a.contract})}const Wt="0xf15d424e",qt=[{name:"signer",type:"address"}],Bt=[{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 zt(a){return S({contract:a.contract,method:[Wt,qt,Bt],params:[a.signer]})}const Kt="0x5892e236",Zt=[{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"}],Yt=[];function jt(a){const e=tt(async()=>"asyncParams"in a?await a.asyncParams():a);return W({accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList},contract:a.contract,erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},gas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gas},gasPrice:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.gasPrice},maxFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxFeePerGas},maxPriorityFeePerGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.maxPriorityFeePerGas},method:[Kt,Zt,Yt],nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},params:async()=>{const t=await e();return[t.req,t.signature]},value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value}})}function M(){return new Date(Date.now()+1e3*60*60*24*365*10)}function b(a){return _t(Math.floor(a.getTime()/1e3))}const Jt=[{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 Xt(a){const{account:e,contract:t,req:i}=a,r=await e.signTypedData({domain:{chainId:t.chain.id,name:"Account",verifyingContract:t.address,version:"1"},message:i,primaryType:"SignerPermissionRequest",types:{SignerPermissionRequest:Jt}});return{req:i,signature:r}}async function Qt(a){var i;const{target:e,permissions:t}=a;return{approvedTargets:t.approvedTargets==="*"?[B]:t.approvedTargets,isAdmin:0,nativeTokenLimitPerTransaction:q(((i=t.nativeTokenLimitPerTransaction)==null?void 0:i.toString())||"0"),permissionEndTimestamp:b(t.permissionEndTimestamp||M()),permissionStartTimestamp:b(t.permissionStartTimestamp||new Date(0)),reqValidityEndTimestamp:b(M()),reqValidityStartTimestamp:0n,signer:e,uid:await it()}}function ta(a){const{contract:e,sessionKeyAddress:t,account:i,permissions:r}=a;return jt({async asyncParams(){const{req:n,signature:c}=await Xt({account:i,contract:e,req:await Qt({permissions:r,target:t})});return{req:n,signature:c}},contract:e})}async function aa(a){var c;const{accountContract:e,sessionKeyAddress:t,newPermissions:i}=a;if(!await z(e))return!0;const n=await zt({contract:e,signer:t});return!!(n.endTimestamp&&n.endTimestamp<Math.floor(Date.now()/1e3)||!ea(n.approvedTargets,i.approvedTargets)||q(((c=i.nativeTokenLimitPerTransaction)==null?void 0:c.toString())??"0")>n.nativeTokenLimitPerTransaction)}function ea(a,e){return e==="*"&&a.length===1&&a[0]===B?!0:e!=="*"?e.map(t=>t.toLowerCase()).every(t=>a.map(i=>i.toLowerCase()).includes(t)):!1}const sa=2n**96n-1n,na="0x35567e1a",ra=[{name:"sender",type:"address"},{name:"key",type:"uint192"}],ia=[{name:"nonce",type:"uint256"}];async function ca(a){return S({contract:a.contract,method:[na,ra,ia],params:[a.sender,a.key]})}const oa="0xa6193531",da=[{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"}],pa=[{type:"bytes32"}];async function ma(a){return S({contract:a.contract,method:[oa,da,pa],params:[a.userOp]})}const ua="0x22cdde4c",ya=[{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"}],la=[{type:"bytes32"}];async function fa(a){return S({contract:a.contract,method:[ua,ya,la],params:[a.userOp]})}function wa(a){return a.factory?E([a.factory,a.factoryData||"0x"]):"0x"}function Aa(a){return E([D(x(BigInt(a.verificationGasLimit)),{size:16}),D(x(BigInt(a.callGasLimit)),{size:16})])}function Ga(a){return E([D(x(BigInt(a.maxPriorityFeePerGas)),{size:16}),D(x(BigInt(a.maxFeePerGas)),{size:16})])}function ga(a){return a.paymaster?E([a.paymaster,D(x(BigInt(a.paymasterVerificationGasLimit||0)),{size:16}),D(x(BigInt(a.paymasterPostOpGasLimit||0)),{size:16}),a.paymasterData||"0x"]):"0x"}const ha=a=>({accountGasLimits:Aa(a),callData:a.callData,gasFees:Ga(a),initCode:wa(a),nonce:BigInt(a.nonce),paymasterAndData:ga(a),preVerificationGas:BigInt(a.preVerificationGas),sender:a.sender,signature:a.signature});async function I(a){var A;const{userOp:e,paymasterOverride:t,client:i,chain:r,entrypointAddress:n}=a;if(t)return t(e);const c={"Content-Type":"application/json"},s=n??C,o=K(r),d={id:1,jsonrpc:"2.0",method:"pm_sponsorUserOperation",params:[vt(e),s]},l=await ct(i)(o,{body:Z(d),headers:c,method:"POST"});if(!l.ok){const G=await l.text()||l.statusText;throw new Error(`Paymaster error: ${l.status} - ${G}`)}const m=await l.json();if(m.result)return typeof m.result=="string"?{paymasterAndData:m.result}:(m.result.reason&&console.warn(`Paymaster policy rejected this transaction with reason: ${m.result.reason} ${m.result.policyId?`(policyId: ${m.result.policyId})`:""}`),{callGasLimit:m.result.callGasLimit?_(m.result.callGasLimit):void 0,paymaster:m.result.paymaster,paymasterAndData:m.result.paymasterAndData,paymasterData:m.result.paymasterData,paymasterPostOpGasLimit:m.result.paymasterPostOpGasLimit?_(m.result.paymasterPostOpGasLimit):void 0,paymasterVerificationGasLimit:m.result.paymasterVerificationGasLimit?_(m.result.paymasterVerificationGasLimit):void 0,preVerificationGas:m.result.preVerificationGas?_(m.result.preVerificationGas):void 0,verificationGasLimit:m.result.verificationGasLimit?_(m.result.verificationGasLimit):void 0});const w=((A=m.error)==null?void 0:A.message)||m.error||l.statusText||"unknown error";throw new Error(`Paymaster error from ${o}: ${w}`)}const k=new Set,H=a=>`${a.chain.id}:${a.address}`,at=a=>{k.add(H(a))},et=a=>{k.delete(H(a))},st=a=>k.has(H(a));async function Ta(a){const e=a.timeoutMs||12e4,t=a.intervalMs||1e3,i=Date.now()+e;for(;Date.now()<i;){const r=await Lt(a);if(r)return r;await new Promise(n=>setTimeout(n,t))}throw new Error(`Timeout waiting for userOp to be mined on chain ${a.chain.id} with UserOp hash: ${a.userOpHash}`)}async function Pa(a){var P;const{transaction:e,accountContract:t,factoryContract:i,adminAddress:r,overrides:n,sponsorGas:c,waitForDeployment:s=!0,isDeployedOverride:o}=a,d=e.chain,y=e.client,l={bundlerUrl:n==null?void 0:n.bundlerUrl,chain:d,client:y,entrypointAddress:n==null?void 0:n.entrypointAddress},m=N(((P=a.overrides)==null?void 0:P.entrypointAddress)||C),[w,A,G,g,f]=await Promise.all([typeof o=="boolean"?o:z(t).then(h=>h||st(t)),$(e),O(e.gas),va({bundlerOptions:l,chain:d,client:y,executeTx:e}),Sa({accountContract:t,chain:d,client:y,entrypointAddress:n==null?void 0:n.entrypointAddress,getNonceOverride:n==null?void 0:n.getAccountNonce})]),{maxFeePerGas:p,maxPriorityFeePerGas:u}=g;return m==="v0.7"?La({accountContract:t,adminAddress:r,bundlerOptions:l,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s}):Oa({accountContract:t,adminAddress:r,bundlerOptions:l,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s})}async function va(a){const{executeTx:e,bundlerOptions:t,chain:i,client:r}=a;let{maxFeePerGas:n,maxPriorityFeePerGas:c}=e;const s=(t==null?void 0:t.bundlerUrl)??K(i);if(dt(s)){const o=await Ot({options:t});n=o.maxFeePerGas,c=o.maxPriorityFeePerGas}else{const[o,d]=await Promise.all([O(n),O(c)]);if(o&&d)n=o,c=d;else{const y=await pt(r,i);c=d??y.maxPriorityFeePerGas??0n,n=o??y.maxFeePerGas??0n}}return{maxFeePerGas:n,maxPriorityFeePerGas:c}}async function La(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:y,maxFeePerGas:l,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g,f;t?(f="0x",w&&await nt(r)):(g=i.address,f=await $(Y({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i})),w&&at(r));const p={callData:d,callGasLimit:y??0n,factory:g,factoryData:f,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:o,paymaster:void 0,paymasterData:"0x",paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n,preVerificationGas:0n,sender:r.address,signature:j,verificationGasLimit:0n};if(c){const u=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:p});if(u.paymaster&&u.paymasterData&&(p.paymaster=u.paymaster,p.paymasterData=u.paymasterData),u.callGasLimit&&u.verificationGasLimit&&u.preVerificationGas&&u.paymasterPostOpGasLimit&&u.paymasterVerificationGasLimit)p.callGasLimit=u.callGasLimit,p.verificationGasLimit=u.verificationGasLimit,p.preVerificationGas=u.preVerificationGas,p.paymasterPostOpGasLimit=u.paymasterPostOpGasLimit,p.paymasterVerificationGasLimit=u.paymasterVerificationGasLimit;else{const P=s!=null&&s.tokenPaymaster?{[s.tokenPaymaster.tokenAddress]:{stateDiff:{[mt(ut([{type:"address"},{type:"uint256"}],[r.address,s.tokenPaymaster.balanceStorageSlot]))]:yt(lt,{size:32})}}}:void 0,h=await U({options:e,userOp:p},P);p.callGasLimit=h.callGasLimit,p.verificationGasLimit=h.verificationGasLimit,p.preVerificationGas=h.preVerificationGas,p.paymasterPostOpGasLimit=s!=null&&s.tokenPaymaster?500000n:h.paymasterPostOpGasLimit||0n,p.paymasterVerificationGasLimit=h.paymasterVerificationGasLimit||0n;const v=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:p});v.paymaster&&v.paymasterData&&(p.paymaster=v.paymaster,p.paymasterData=v.paymasterData)}}else{const u=await U({options:e,userOp:p});p.callGasLimit=u.callGasLimit,p.verificationGasLimit=u.verificationGasLimit,p.preVerificationGas=u.preVerificationGas,p.paymasterPostOpGasLimit=u.paymasterPostOpGasLimit||0n,p.paymasterVerificationGasLimit=u.paymasterVerificationGasLimit||0n}return{...p,signature:"0x"}}async function Oa(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:y,maxFeePerGas:l,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g;t?(g="0x",w&&await nt(r)):(g=await Ca({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i}),w&&at(r));const f={callData:d,callGasLimit:y??0n,initCode:g,maxFeePerGas:l,maxPriorityFeePerGas:m,nonce:o,paymasterAndData:"0x",preVerificationGas:0n,sender:r.address,signature:j,verificationGasLimit:0n};if(c){const p=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:f}),u="paymasterAndData"in p?p.paymasterAndData:"0x";if(u&&u!=="0x"&&(f.paymasterAndData=u),p.callGasLimit&&p.verificationGasLimit&&p.preVerificationGas)f.callGasLimit=p.callGasLimit,f.verificationGasLimit=p.verificationGasLimit,f.preVerificationGas=p.preVerificationGas;else{const P=await U({options:e,userOp:f});if(f.callGasLimit=P.callGasLimit,f.verificationGasLimit=P.verificationGasLimit,f.preVerificationGas=P.preVerificationGas,u&&u!=="0x"){const h=await I({chain:A,client:G,entrypointAddress:s==null?void 0:s.entrypointAddress,paymasterOverride:s==null?void 0:s.paymaster,userOp:f}),v="paymasterAndData"in h?h.paymasterAndData:"0x";v&&v!=="0x"&&(f.paymasterAndData=v)}}}else{const p=await U({options:e,userOp:f});f.callGasLimit=p.callGasLimit,f.verificationGasLimit=p.verificationGasLimit,f.preVerificationGas=p.preVerificationGas}return{...f,signature:"0x"}}async function Da(a){const{userOp:e,chain:t,entrypointAddress:i,adminAccount:r}=a,n=await xa({chain:t,client:a.client,entrypointAddress:i,userOp:e});if(r.signMessage){const c=await r.signMessage({chainId:t.id,message:{raw:ot(n)},originalMessage:Z(e)});return{...e,signature:c}}throw new Error("signMessage not implemented in signingAccount")}async function xa(a){const{userOp:e,chain:t,entrypointAddress:i}=a,r=N(i||C);let n;if(r==="v0.7"){const c=ha(e);n=await fa({contract:L({address:i||J,chain:t,client:a.client}),userOp:c})}else n=await ma({contract:L({address:i||C,chain:t,client:a.client}),userOp:e});return n}async function Ca(a){const{factoryContract:e,adminAddress:t,accountSalt:i,createAccountOverride:r}=a,n=Y({accountSalt:i,adminAddress:t,createAccountOverride:r,factoryContract:e});return E([e.address,await $(n)])}async function Sa(a){const{accountContract:e,chain:t,client:i,entrypointAddress:r,getNonceOverride:n}=a;return n?n(e):await ca({contract:L({address:r||C,chain:t,client:i}),key:Dt(),sender:e.address})}async function nt(a){const e=Date.now();for(;st(a);){if(Date.now()-e>6e4)throw et(a),new Error("Account deployment is taking too long (over 1 minute). Please try again.");await new Promise(t=>setTimeout(t,500))}}const _a=new WeakMap,Ea=new WeakMap;async function Ha(a,e){var m,w,A,G,g,f,p;const{personalAccount:t,client:i}=a;if(!t)throw new Error("No personal account provided for smart account connection");const r=e,n=e.chain,c="gasless"in r?r.gasless:r.sponsorGas;if(await ft(n))return[Ua({chain:n,connectionOptions:a,creationOptions:e,sponsorGas:c}),n];if(r.factoryAddress&&!((m=r.overrides)!=null&&m.entrypointAddress)){const u=await Ia(r.factoryAddress,i,n);u&&(r.overrides={...r.overrides,entrypointAddress:u})}(w=r.overrides)!=null&&w.tokenPaymaster&&!((A=r.overrides)!=null&&A.entrypointAddress)&&(r.overrides={...r.overrides,entrypointAddress:J});const s=r.factoryAddress??wt((G=r.overrides)==null?void 0:G.entrypointAddress),o=L({address:s,chain:n,client:i}),d=await At({accountAddress:(g=r.overrides)==null?void 0:g.accountAddress,accountSalt:(f=r.overrides)==null?void 0:f.accountSalt,adminAddress:t.address,factoryContract:o,predictAddressOverride:(p=r.overrides)==null?void 0:p.predictAddress}).then(u=>u).catch(u=>{throw new Error(`Failed to get account address with factory contract ${o.address} on chain ID ${n.id}: ${(u==null?void 0:u.message)||"unknown error"}`,{cause:u})}),y=L({address:d,chain:n,client:i}),l=await Fa({...r,accountContract:y,chain:n,client:i,factoryContract:o,personalAccount:t,sponsorGas:c});if(_a.set(t,l),Ea.set(l,t),r.sessionKey&&await aa({accountContract:y,newPermissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address})){const u=ta({account:t,contract:y,permissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address});await Gt({account:l,transaction:u})}return[l,n]}async function Fa(a){var n,c;const e=(n=a.overrides)==null?void 0:n.tokenPaymaster;if(e&&N(((c=a.overrides)==null?void 0:c.entrypointAddress)||C)!=="v0.7")throw new Error("Token paymaster is only supported for entrypoint version v0.7");const t=a.sponsorGas;let i=a.accountContract;const r={address:X(i.address),async onTransactionRequested(s){var o,d;return(d=(o=a.personalAccount).onTransactionRequested)==null?void 0:d.call(o,s)},async sendBatchTransaction(s){var m,w;const o=gt({accountContract:i,executeBatchOverride:(m=a.overrides)==null?void 0:m.executeBatch,transactions:s});if(s.length===0)throw new Error("No transactions to send");const d=s[0];if(!d)throw new Error("No transactions to send");const y=F(d.chainId),l=await R({executeTx:o,options:{...a,accountContract:i,chain:y}});return V({chainId:y.id,client:a.client,contractAddress:((w=s[0])==null?void 0:w.to)??void 0,transactionHash:l.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),l},async sendTransaction(s){var m,w,A;let o;if(e){await Va({accountContract:i,erc20Paymaster:e,options:a});const G=async()=>({paymaster:e.paymasterAddress,paymasterData:"0x"});o=((m=a.overrides)==null?void 0:m.paymaster)||G}else o=(w=a.overrides)==null?void 0:w.paymaster;s.chainId!==i.chain.id&&(i=L({address:r.address,chain:F(s.chainId),client:a.client}));const d=Q({accountContract:i,executeOverride:(A=a.overrides)==null?void 0:A.execute,transaction:s}),y=F(s.chainId),l=await R({executeTx:d,options:{...a,accountContract:i,chain:y,overrides:{...a.overrides,paymaster:o}}});return V({chainId:y.id,client:a.client,contractAddress:s.to??void 0,transactionHash:l.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),l},async signMessage({message:s}){var d;if((d=a.overrides)!=null&&d.signMessage)return a.overrides.signMessage({accountContract:i,adminAccount:a.personalAccount,factoryContract:a.factoryContract,message:s});const{smartAccountSignMessage:o}=await T(async()=>{const{smartAccountSignMessage:y}=await import("./thirdweb-Nalfv5nZ.js").then(l=>l.az);return{smartAccountSignMessage:y}},[]);return o({accountContract:i,factoryContract:a.factoryContract,message:s,options:a})},async signTypedData(s){var d;if((d=a.overrides)!=null&&d.signTypedData)return a.overrides.signTypedData({accountContract:i,adminAccount:a.personalAccount,factoryContract:a.factoryContract,typedData:s});const{smartAccountSignTypedData:o}=await T(async()=>{const{smartAccountSignTypedData:y}=await import("./thirdweb-Nalfv5nZ.js").then(l=>l.az);return{smartAccountSignTypedData:y}},[]);return o({accountContract:i,factoryContract:a.factoryContract,options:a,typedData:s})},sendCalls:async s=>{const{inAppWalletSendCalls:o}=await T(async()=>{const{inAppWalletSendCalls:w}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([0,1])),d=s.calls[0];if(!d)throw new Error("No calls to send");const y=d.client,l=d.chain||s.chain,m=await o({account:r,calls:s.calls,chain:l});return{chain:l,client:y,id:m}},getCallsStatus:async s=>{const{inAppWalletGetCallsStatus:o}=await T(async()=>{const{inAppWalletGetCallsStatus:d}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletGetCallsStatus:d}},__vite__mapDeps([0,1]));return o(s)},getCallsStatusRaw:async s=>{const{inAppWalletGetCallsStatusRaw:o}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:d}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletGetCallsStatusRaw:d}},__vite__mapDeps([0,1]));return o(s)},getCapabilities:async s=>({[s.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:t??!1}}})};return r}async function Va(a){var y;const{accountContract:e,erc20Paymaster:t,options:i}=a,r=t.tokenAddress,n=L({address:r,chain:e.chain,client:e.client});if(await Rt({contract:n,owner:e.address,spender:t.paymasterAddress})>0n)return;const s=Mt({amountWei:sa-1n,contract:n,spender:t.paymasterAddress}),o=await ht({from:e.address,transaction:s}),d=Q({accountContract:e,executeOverride:(y=i.overrides)==null?void 0:y.execute,transaction:o});await R({executeTx:d,options:{...i,overrides:{...i.overrides,tokenPaymaster:void 0}}})}function Ua(a){const{creationOptions:e,connectionOptions:t,chain:i}=a,r={address:X(t.personalAccount.address),async onTransactionRequested(n){var c,s;return(s=(c=t.personalAccount).onTransactionRequested)==null?void 0:s.call(c,n)},async sendTransaction(n){var y,l,m,w;const c={chain:F(n.chainId),client:t.client,data:n.data,eip712:n.eip712,to:n.to??void 0,value:n.value??0n};let s=await Et({account:r,transaction:c});if(a.sponsorGas&&!s.paymaster){const A=await xt({options:{bundlerUrl:(y=e.overrides)==null?void 0:y.bundlerUrl,chain:i,client:t.client,entrypointAddress:(l=e.overrides)==null?void 0:l.entrypointAddress},transaction:s});s={...s,...A}}const o=await Ft({account:r,chainId:i.id,eip712Transaction:s}),d=await Ct({options:{bundlerUrl:(m=e.overrides)==null?void 0:m.bundlerUrl,chain:i,client:t.client,entrypointAddress:(w=e.overrides)==null?void 0:w.entrypointAddress},signedTransaction:o,transaction:s});return V({chainId:i.id,client:t.client,contractAddress:n.to??void 0,transactionHash:d.transactionHash,walletAddress:r.address,walletType:"smart"}),{chain:i,client:t.client,transactionHash:d.transactionHash}},async signMessage({message:n}){return t.personalAccount.signMessage({message:n})},async signTypedData(n){const c=Vt(n);return t.personalAccount.signTypedData(c)},sendCalls:async n=>{const{inAppWalletSendCalls:c}=await T(async()=>{const{inAppWalletSendCalls:l}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletSendCalls:l}},__vite__mapDeps([0,1])),s=n.calls[0];if(!s)throw new Error("No calls to send");const o=s.client,d=s.chain||n.chain,y=await c({account:r,calls:n.calls,chain:d});return{chain:d,client:o,id:y}},getCallsStatus:async n=>{const{inAppWalletGetCallsStatus:c}=await T(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([0,1]));return c(n)},getCallsStatusRaw:async n=>{const{inAppWalletGetCallsStatusRaw:c}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-VLzZMUuO.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([0,1]));return c(n)},getCapabilities:async n=>({[n.chainId??1]:{atomic:{status:"unsupported"},paymasterService:{supported:a.sponsorGas??!1}}})};return r}async function R(a){var i,r,n;const{executeTx:e,options:t}=a;try{const c=await Pa({accountContract:t.accountContract,adminAddress:t.personalAccount.address,factoryContract:t.factoryContract,overrides:t.overrides,sponsorGas:t.sponsorGas,transaction:e}),s=await Da({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:(n=t.overrides)==null?void 0:n.entrypointAddress},d=await St({options:o,userOp:s}),y=await Ta({...o,userOpHash:d});return V({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),transactionHash:y.transactionHash,walletAddress:t.accountContract.address,walletType:"smart"}),{chain:t.chain,client:t.client,transactionHash:y.transactionHash}}catch(c){throw Tt(c)&&Pt({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),error:c,transactionValue:await O(e.value),walletAddress:t.accountContract.address}),c}finally{et(t.accountContract)}}async function Ia(a,e,t){const i=L({address:a,chain:t,client:e});try{return await S({contract:i,method:"function entrypoint() public view returns (address)"})}catch{return}}export{Ha as connectSmartAccount,Ia as getEntrypointFromFactory};