@dcl/account-site 6.4.1 → 6.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/{ConstantsUtil-DAlK9cbP.js → ConstantsUtil-C65qLg9H.js} +1 -1
- package/assets/{ExchangeController-CSobTIN3.js → ExchangeController-4bTbfXop.js} +1 -1
- package/assets/{HelpersUtil-LoXn6_a9.js → HelpersUtil-CMuaKvr0.js} +1 -1
- package/assets/{NetworkUtil-D7oIM7ZR.js → NetworkUtil-D77Jgx6s.js} +1 -1
- package/assets/{SwapController-DgIPmsS0.js → SwapController-B-cT0HaV.js} +1 -1
- package/assets/{biconomy-Cd_cGJnS.js → biconomy-C13HiZKh.js} +1 -1
- package/assets/{ccip-BSsJ40KM.js → ccip-BUGHDwrn.js} +1 -1
- package/assets/{ccip-BeMRlRG6.js → ccip-DXvrQeZe.js} +1 -1
- package/assets/{chains-hIiZgy8u.js → chains-CewUlEiN.js} +1 -1
- package/assets/{common-B6DEpf0d.js → common-DEDzDfZK.js} +1 -1
- package/assets/{controller-CuDfLRRv.js → controller-DNPxyM0w.js} +2 -2
- package/assets/{data-capture-UMtJXiUu.js → data-capture-DI_V8eEB.js} +1 -1
- package/assets/decimals-2D-Y9cW-.js +1 -0
- package/assets/{decimals-DOYR5J7r.js → decimals-BvtkSwrR.js} +1 -1
- package/assets/{detectExtension-Cx6QckBV.js → detectExtension-B8HFcF7g.js} +1 -1
- package/assets/{email-HyF8d31i.js → email-4msbmfxW.js} +1 -1
- package/assets/{embedded-wallet-Dj8lw64G.js → embedded-wallet-DO1o5bel.js} +1 -1
- package/assets/{engine-yPbc6kua.js → engine-BvEVVPO2.js} +1 -1
- package/assets/{estimate-l1-fee-3ZvALnoT.js → estimate-l1-fee-DYkQJOay.js} +1 -1
- package/assets/eth_estimateGas-D2ryZZPl.js +1 -0
- package/assets/{eth_getStorageAt-DKz_yEDy.js → eth_getStorageAt-GEFAClkO.js} +1 -1
- package/assets/{eth_getTransactionCount-D49xmvBM.js → eth_getTransactionCount-C3JnIYXb.js} +1 -1
- package/assets/{ethereum-CNH2Sem3.js → ethereum-C_Cy8XKf.js} +1 -1
- package/assets/{extractIPFS-PcxBlJd1.js → extractIPFS-ClmYMTcl.js} +1 -1
- package/assets/{features-BHAaOwHA.js → features-D8Pi0wtw.js} +1 -1
- package/assets/{fetchTokenMetadata-C3z4b5X9.js → fetchTokenMetadata-QxcG1_Db.js} +2 -2
- package/assets/{fortmatic-D5NEr47B.js → fortmatic-CKI3vz2q.js} +1 -1
- package/assets/{get-ecosystem-wallet-info-BaurHiI0.js → get-ecosystem-wallet-info-DZaItz06.js} +1 -1
- package/assets/{getBalance-Clxu7Rba.js → getBalance-DnUZbXB_.js} +2 -2
- package/assets/{getInstalledModules-Dq-Sc-5S.js → getInstalledModules-D9jzoYzG.js} +1 -1
- package/assets/{getNFT-ThvGwtMC.js → getNFT-BWlrX7BO.js} +2 -2
- package/assets/{getNFT-B7aS-Cml.js → getNFT-DZtuF0Qb.js} +1 -1
- package/assets/{hashTypedData-DgpCHXeW.js → hashTypedData-DBp5vFy4.js} +1 -1
- package/assets/{if-defined-Dkmiq4D-.js → if-defined-DxgE-evn.js} +1 -1
- package/assets/{in-app-wallet-calls-DbKbmK-Y.js → in-app-wallet-calls-C3_9LLpN.js} +1 -1
- package/assets/{index-DgtkWFoE.js → index-3_gX-aBQ.js} +1 -1
- package/assets/{index-DXw54YOI.js → index-BFDVyHZp.js} +1 -1
- package/assets/{index-Wpszpw0y.js → index-BLW01gt5.js} +1 -1
- package/assets/{index-9PsuzUrA.js → index-BPFffsgB.js} +1 -1
- package/assets/{index-B2sb_WVn.js → index-BZcpG6tT.js} +1 -1
- package/assets/{index-RdxK08_7.js → index-BZhrEz4k.js} +2 -2
- package/assets/{index-BqHyC1cF.js → index-B_eiQKAu.js} +1 -1
- package/assets/{index-Oy9Zk8Im.js → index-BciRn1i6.js} +1 -1
- package/assets/{index-qDowJ7_N.js → index-BklFrcZw.js} +1 -1
- package/assets/{index-KRS-uzDQ.js → index-BlQHD0NB.js} +1 -1
- package/assets/{index-2_tg7ntR.js → index-Bp7JvHeI.js} +1 -1
- package/assets/{index-C5Mndy14.js → index-BpYijg-9.js} +1 -1
- package/assets/{index-D_sOL50h.js → index-BrSxWtTK.js} +1 -1
- package/assets/{index-DSkrpllW.js → index-C-6kSUz0.js} +1 -1
- package/assets/{index-DkGkQYWL.js → index-C3_Vdp-K.js} +1 -1
- package/assets/{index-BkK4bCOM.js → index-CJSrkfvs.js} +1 -1
- package/assets/{index-CJMoiuMb.css → index-CODceU7b.css} +3 -3
- package/assets/{index-BKSeuHAx.js → index-CQ65bXVv.js} +1 -1
- package/assets/{index-BiNk8IdC.js → index-CTY8gJAp.js} +1 -1
- package/assets/{index-CrlKVJaS.js → index-C_6SxrOL.js} +1 -1
- package/assets/{index-BYnzQeZQ.js → index-C_KXbDr5.js} +2 -2
- package/assets/{index-DIGdbhMA.js → index-CawoDqBV.js} +4 -4
- package/assets/{index-C0DSH9UE.js → index-CfcNhWEg.js} +1 -1
- package/assets/{index-DAZxg2j9.js → index-ChsPLSWT.js} +1 -1
- package/assets/{index-D7tY9ND1.js → index-CsxIMu1J.js} +1 -1
- package/assets/{index-DVBhvBRU.js → index-Cx-bBVtG.js} +1 -1
- package/assets/{index-BNh9F8w5.js → index-DAR-5YLY.js} +1 -1
- package/assets/{index-Bp_3ZVNR.js → index-DcRvDVZ1.js} +1 -1
- package/assets/{index-DLmguShE.js → index-DdEEbDq0.js} +1 -1
- package/assets/{index-CJXaU_uj.js → index-DdoNSnPZ.js} +10 -10
- package/assets/{index-Dmu4eyxj.js → index-DjKx0U6o.js} +1 -1
- package/assets/{index-BzvYrb-G.js → index-DtMyNBRR.js} +1 -1
- package/assets/{index--jadAGtc.js → index-DtWapT_q.js} +1 -1
- package/assets/{index-DGGTT6qz.js → index-DvygrAbU.js} +1 -1
- package/assets/{index-CK54lS7p.js → index-DztUGues.js} +1 -1
- package/assets/{index-CM5u4pln.js → index-GkDjeW87.js} +1 -1
- package/assets/{index-C5H4fI5z.js → index-HAFKHNrB.js} +1 -1
- package/assets/{index-CvFuMuSJ.js → index-Uuvg_32q.js} +1 -1
- package/assets/{index-BwivyfoP.js → index-XZrkqNWI.js} +1 -1
- package/assets/{index-Ct-s5kqz.js → index-goUhewij.js} +1 -1
- package/assets/{index-ClGvvj_d.js → index-iAuyHihw.js} +1 -1
- package/assets/{index-CU3o29pL.js → index-lQAVUcJ_.js} +1 -1
- package/assets/{index-EW7NHQDe.js → index-raWj9ugs.js} +1 -1
- package/assets/{index.es-DvYSf29G.js → index.es-CZG_xqg1.js} +1 -1
- package/assets/{index.es-BNSVOI_t.js → index.es-CZb_6NO4.js} +1 -1
- package/assets/{index.es-ChtY_pBo.js → index.es-ccu72RLB.js} +1 -1
- package/assets/{native-p-GVuhgB.js → native-DZFSJ4i3.js} +1 -1
- package/assets/{networks-JK_0UU6S.js → networks-0i4bnC2P.js} +1 -1
- package/assets/{onramp-BErKzfhZ.js → onramp-vM5KdI1r.js} +1 -1
- package/assets/{openzeppelin-BdGoNY5H.js → openzeppelin-B8QUtuwi.js} +1 -1
- package/assets/{ownerOf-gbkJe0ar.js → ownerOf-DAy84guz.js} +1 -1
- package/assets/{parseNft-CEsKOn2B.js → parseNft-BmhktdtS.js} +2 -2
- package/assets/{parseSignature-BnIazbEy.js → parseSignature-pe5xOrUo.js} +3 -3
- package/assets/{pay-with-exchange-B3Mp96JM.js → pay-with-exchange-VEz5NF62.js} +1 -1
- package/assets/{qr-overlay-DJOJV5WK.js → qr-overlay-BjpCgPqe.js} +1 -1
- package/assets/{receive-5VeEorgq.js → receive-7ceseJMP.js} +1 -1
- package/assets/{ref-BamtHe-n.js → ref-C54w4b0j.js} +1 -1
- package/assets/{resolveImplementation-Cu-fVaM1.js → resolveImplementation-DUlZ-rCt.js} +1 -1
- package/assets/{rpc-B9MyqPd_.js → rpc-BGBe81Ju.js} +1 -1
- package/assets/{secp256k1-v5Z_H0Qa.js → secp256k1-CBOPmL7c.js} +1 -1
- package/assets/{send-BCp16qi0.js → send--yEjr9IG.js} +1 -1
- package/assets/{send-batch-transaction-DoGIZz6s.js → send-batch-transaction-BHCPQqMU.js} +1 -1
- package/assets/{send-eip712-transaction-BMsuLCly.js → send-eip712-transaction-BZPqvG7o.js} +2 -2
- package/assets/{send-gasless-transaction-DXCR-MjU.js → send-gasless-transaction-qd4_Tx37.js} +2 -2
- package/assets/{session-proposal-CoxZYbce.js → session-proposal-0wiDsNgD.js} +1 -1
- package/assets/{session-request-VqY6bnIV.js → session-request-CZavuRgD.js} +2 -2
- package/assets/{sha256-BA2Xp5jF.js → sha256-DgLKZ9Bx.js} +1 -1
- package/assets/{signing-dsmCbu8X.js → signing-WcNp-1pu.js} +5 -5
- package/assets/{socials-CEl5e3er.js → socials-OZ-9Vq_T.js} +1 -1
- package/assets/{swaps-CHh8IHbf.js → swaps-CxXfFAWo.js} +1 -1
- package/assets/{thirdweb-DcqlAq95.js → thirdweb-BQL6aWra.js} +3 -3
- package/assets/{totalSupply-DUxl9c2a.js → totalSupply-Bc4pGc4c.js} +1 -1
- package/assets/{transactionReceipt-CZFYT8pE.js → transactionReceipt-Ufygp-9B.js} +1 -1
- package/assets/{transactions-DmFe0uqW.js → transactions-ClBg7e6V.js} +1 -1
- package/assets/{utils-D4etFqNl.js → utils-3XaFMbFH.js} +1 -1
- package/assets/{verifyHash-FEyr57Yr.js → verifyHash-DWUT00B8.js} +3 -3
- package/assets/{w3m-modal-kvjqzGhs.js → w3m-modal-BAoOk02r.js} +1 -1
- package/assets/{wait-for-tx-receipt-DcqetGky.js → wait-for-tx-receipt-BD1QxGfa.js} +1 -1
- package/assets/{wallets-B-14wOwY.js → wallets-BHgcP8rz.js} +6 -6
- package/assets/{web-connector-tx4aQlJV.js → web-connector-DZYEnUXN.js} +3 -3
- package/assets/{zora-sepolia-D5VCXxH6.js → zora-sepolia-B3X_ihxr.js} +1 -1
- package/index.html +3 -2
- package/package.json +3 -3
- package/assets/decimals-Bv_RfCT9.js +0 -1
- package/assets/eth_estimateGas-BF7gwBZi.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{w as d,p as h,s as f,i as g,j as w,l as b,m as y}from"./index-
|
|
1
|
+
import{w as d,p as h,s as f,i as g,j as w,l as b,m as y}from"./index-CawoDqBV.js";import{r as m,c as v}from"./index-DtWapT_q.js";const o=h({message:"",open:!1,triggerRect:{width:0,height:0,top:0,left:0},variant:"shade"}),x={state:o,subscribe(t){return g(o,()=>t(o))},subscribeKey(t,e){return f(o,t,e)},showTooltip({message:t,triggerRect:e,variant:i}){o.open=!0,o.message=t,o.triggerRect=e,o.variant=i},hide(){o.open=!1,o.message="",o.triggerRect={width:0,height:0,top:0,left:0}}},s=d(x),$=w`
|
|
2
2
|
:host {
|
|
3
3
|
pointer-events: none;
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as u,r as p,l as m,m as h}from"./index-
|
|
1
|
+
import{j as u,r as p,l as m,m as h}from"./index-CawoDqBV.js";import{n as o,c as f}from"./index-DtWapT_q.js";import"./index-ChsPLSWT.js";import"./index-Bp7JvHeI.js";const w=u`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
background-color: ${({tokens:e})=>e.theme.foregroundTertiary};
|
|
@@ -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,D as Z}from"./index-DIGdbhMA.js";import{r as h,c as H}from"./index--jadAGtc.js";import{o as Y}from"./if-defined-Dkmiq4D-.js";import"./index-Bp_3ZVNR.js";import"./index-Wpszpw0y.js";import"./index-Dmu4eyxj.js";import"./index-DAZxg2j9.js";import"./index-BzvYrb-G.js";import"./index-ClGvvj_d.js";import"./index-Oy9Zk8Im.js";import"./index-EW7NHQDe.js";import"./index-BiNk8IdC.js";import{C as g}from"./NetworkUtil-D7oIM7ZR.js";import"./index-CM5u4pln.js";import"./index-CJXaU_uj.js";import"./index.es-DvYSf29G.js";import"./hmac-Bk4Z90TB.js";import"./index.es-BNSVOI_t.js";import"./index-2_tg7ntR.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,D as Z}from"./index-CawoDqBV.js";import{r as h,c as H}from"./index-DtWapT_q.js";import{o as Y}from"./if-defined-DxgE-evn.js";import"./index-DcRvDVZ1.js";import"./index-BLW01gt5.js";import"./index-DjKx0U6o.js";import"./index-ChsPLSWT.js";import"./index-DtMyNBRR.js";import"./index-iAuyHihw.js";import"./index-BciRn1i6.js";import"./index-raWj9ugs.js";import"./index-CTY8gJAp.js";import{C as g}from"./NetworkUtil-D77Jgx6s.js";import"./index-GkDjeW87.js";import"./index-DdoNSnPZ.js";import"./index.es-CZG_xqg1.js";import"./hmac-Bk4Z90TB.js";import"./index.es-CZb_6NO4.js";import"./index-Bp7JvHeI.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,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/decimals-
|
|
2
|
-
import{_ as T}from"./index-CJXaU_uj.js";import{r as C,ab as q,ac as ct,ad as B,Z as z,ae as K,G as E,U as D,R as x,j as Z,h as _,w as $,x as O,S as ot,af as dt,g as L,ag as j,q as pt,e as mt,V as ut,ah as lt,ai as yt,aj as ft,v as wt,a as Y,l as V,ak as X,al as At,t as Gt,am as gt,an as ht}from"./signing-dsmCbu8X.js";import{c as Tt,i as Pt,a as F}from"./utils-D4etFqNl.js";import{R as J,r as vt,S as Q,T as Lt,U as S,W as k,X as Ot,Z as Dt,_ as xt,$ as U,a0 as tt,a1 as at,a2 as St,p as Ct,a3 as _t,a4 as Et,a5 as Ft}from"./wallets-B-14wOwY.js";import{a6 as ja}from"./wallets-B-14wOwY.js";import{t as Vt,p as Ut,s as It}from"./send-eip712-transaction-BMsuLCly.js";import"./hashTypedData-DgpCHXeW.js";import"./index.es-DvYSf29G.js";import"./ethereum-CNH2Sem3.js";import"./sha256-BA2Xp5jF.js";const bt="0xdd62ed3e",Rt=[{name:"owner",type:"address"},{name:"spender",type:"address"}],Nt=[{type:"uint256"}];async function $t(a){return C({contract:a.contract,method:[bt,Rt,Nt],params:[a.owner,a.spender]})}const kt="0x095ea7b3",Ht=[{name:"spender",type:"address"},{name:"value",type:"uint256"}],Mt=[{type:"bool"}];function Wt(a){const e=J(async()=>"asyncParams"in a?await a.asyncParams():a);return q({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,Ht,Mt],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 qt(a){return Wt({asyncParams:async()=>{let e;if("amount"in a){const{decimals:t}=await T(async()=>{const{decimals:r}=await import("./decimals-Bv_RfCT9.js");return{decimals:r}},__vite__mapDeps([0,1,2,3,4,5])),i=await t(a).catch(()=>18);e=ct(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 Bt="0xf15d424e",zt=[{name:"signer",type:"address"}],Kt=[{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 C({contract:a.contract,method:[Bt,zt,Kt],params:[a.signer]})}const jt="0x5892e236",Yt=[{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"}],Xt=[];function Jt(a){const e=J(async()=>"asyncParams"in a?await a.asyncParams():a);return q({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:[jt,Yt,Xt],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 W(){return new Date(Date.now()+1e3*60*60*24*365*10)}function b(a){return Vt(Math.floor(a.getTime()/1e3))}const Qt=[{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 ta(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:Qt}});return{req:i,signature:r}}async function aa(a){var i;const{target:e,permissions:t}=a;return{approvedTargets:t.approvedTargets==="*"?[z]:t.approvedTargets,isAdmin:0,nativeTokenLimitPerTransaction:B(((i=t.nativeTokenLimitPerTransaction)==null?void 0:i.toString())||"0"),permissionEndTimestamp:b(t.permissionEndTimestamp||W()),permissionStartTimestamp:b(t.permissionStartTimestamp||new Date(0)),reqValidityEndTimestamp:b(W()),reqValidityStartTimestamp:0n,signer:e,uid:await vt()}}function ea(a){const{contract:e,sessionKeyAddress:t,account:i,permissions:r}=a;return Jt({async asyncParams(){const{req:n,signature:c}=await ta({account:i,contract:e,req:await aa({permissions:r,target:t})});return{req:n,signature:c}},contract:e})}async function sa(a){var c;const{accountContract:e,sessionKeyAddress:t,newPermissions:i}=a;if(!await K(e))return!0;const n=await Zt({contract:e,signer:t});return!!(n.endTimestamp&&n.endTimestamp<Math.floor(Date.now()/1e3)||!na(n.approvedTargets,i.approvedTargets)||B(((c=i.nativeTokenLimitPerTransaction)==null?void 0:c.toString())??"0")>n.nativeTokenLimitPerTransaction)}function na(a,e){return e==="*"&&a.length===1&&a[0]===z?!0:e!=="*"?e.map(t=>t.toLowerCase()).every(t=>a.map(i=>i.toLowerCase()).includes(t)):!1}const ra=2n**96n-1n,ia="0x35567e1a",ca=[{name:"sender",type:"address"},{name:"key",type:"uint192"}],oa=[{name:"nonce",type:"uint256"}];async function da(a){return C({contract:a.contract,method:[ia,ca,oa],params:[a.sender,a.key]})}const pa="0xa6193531",ma=[{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"}],ua=[{type:"bytes32"}];async function la(a){return C({contract:a.contract,method:[pa,ma,ua],params:[a.userOp]})}const ya="0x22cdde4c",fa=[{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"}],wa=[{type:"bytes32"}];async function Aa(a){return C({contract:a.contract,method:[ya,fa,wa],params:[a.userOp]})}function Ga(a){return a.factory?E([a.factory,a.factoryData||"0x"]):"0x"}function ga(a){return E([D(x(BigInt(a.verificationGasLimit)),{size:16}),D(x(BigInt(a.callGasLimit)),{size:16})])}function ha(a){return E([D(x(BigInt(a.maxPriorityFeePerGas)),{size:16}),D(x(BigInt(a.maxFeePerGas)),{size:16})])}function Ta(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 Pa=a=>({accountGasLimits:ga(a),callData:a.callData,gasFees:ha(a),initCode:Ga(a),nonce:BigInt(a.nonce),paymasterAndData:Ta(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??S,o=Q(r),d={id:1,jsonrpc:"2.0",method:"pm_sponsorUserOperation",params:[Lt(e),s]},y=await Tt(i)(o,{body:Z(d),headers:c,method:"POST"});if(!y.ok){const G=await y.text()||y.statusText;throw new Error(`Paymaster error: ${y.status} - ${G}`)}const m=await y.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||y.statusText||"unknown error";throw new Error(`Paymaster error from ${o}: ${w}`)}const H=new Set,M=a=>`${a.chain.id}:${a.address}`,et=a=>{H.add(M(a))},st=a=>{H.delete(M(a))},nt=a=>H.has(M(a));async function va(a){const e=a.timeoutMs||12e4,t=a.intervalMs||1e3,i=Date.now()+e;for(;Date.now()<i;){const r=await Ot(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 La(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,l=e.client,y={bundlerUrl:n==null?void 0:n.bundlerUrl,chain:d,client:l,entrypointAddress:n==null?void 0:n.entrypointAddress},m=k(((P=a.overrides)==null?void 0:P.entrypointAddress)||S),[w,A,G,g,f]=await Promise.all([typeof o=="boolean"?o:K(t).then(h=>h||nt(t)),$(e),O(e.gas),Oa({bundlerOptions:y,chain:d,client:l,executeTx:e}),Ea({accountContract:t,chain:d,client:l,entrypointAddress:n==null?void 0:n.entrypointAddress,getNonceOverride:n==null?void 0:n.getAccountNonce})]),{maxFeePerGas:p,maxPriorityFeePerGas:u}=g;return m==="v0.7"?Da({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s}):xa({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s})}async function Oa(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)??Q(i);if(Pt(s)){const o=await Dt({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 l=await dt(r,i);c=d??l.maxPriorityFeePerGas??0n,n=o??l.maxFeePerGas??0n}}return{maxFeePerGas:n,maxPriorityFeePerGas:c}}async function Da(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g,f;t?(f="0x",w&&await rt(r)):(g=i.address,f=await $(j({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i})),w&&et(r));const p={callData:d,callGasLimit:l??0n,factory:g,factoryData:f,maxFeePerGas:y,maxPriorityFeePerGas:m,nonce:o,paymaster:void 0,paymasterData:"0x",paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n,preVerificationGas:0n,sender:r.address,signature:tt,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:{[pt(mt([{type:"address"},{type:"uint256"}],[r.address,s.tokenPaymaster.balanceStorageSlot]))]:ut(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 xa(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g;t?(g="0x",w&&await rt(r)):(g=await _a({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i}),w&&et(r));const f={callData:d,callGasLimit:l??0n,initCode:g,maxFeePerGas:y,maxPriorityFeePerGas:m,nonce:o,paymasterAndData:"0x",preVerificationGas:0n,sender:r.address,signature:tt,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 Sa(a){const{userOp:e,chain:t,entrypointAddress:i,adminAccount:r}=a,n=await Ca({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 Ca(a){const{userOp:e,chain:t,entrypointAddress:i}=a,r=k(i||S);let n;if(r==="v0.7"){const c=Pa(e);n=await Aa({contract:L({address:i||at,chain:t,client:a.client}),userOp:c})}else n=await la({contract:L({address:i||S,chain:t,client:a.client}),userOp:e});return n}async function _a(a){const{factoryContract:e,adminAddress:t,accountSalt:i,createAccountOverride:r}=a,n=j({accountSalt:i,adminAddress:t,createAccountOverride:r,factoryContract:e});return E([e.address,await $(n)])}async function Ea(a){const{accountContract:e,chain:t,client:i,entrypointAddress:r,getNonceOverride:n}=a;return n?n(e):await da({contract:L({address:r||S,chain:t,client:i}),key:xt(),sender:e.address})}async function rt(a){const e=Date.now();for(;nt(a);){if(Date.now()-e>6e4)throw st(a),new Error("Account deployment is taking too long (over 1 minute). Please try again.");await new Promise(t=>setTimeout(t,500))}}const it=new WeakMap,R=new WeakMap;async function Ba(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 yt(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:at});const s=r.factoryAddress??St((G=r.overrides)==null?void 0:G.entrypointAddress),o=L({address:s,chain:n,client:i}),d=await ft({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})}),l=L({address:d,chain:n,client:i}),y=await Fa({...r,accountContract:l,chain:n,client:i,factoryContract:o,personalAccount:t,sponsorGas:c});if(it.set(t,y),R.set(y,t),r.sessionKey&&await sa({accountContract:l,newPermissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address})){const u=ea({account:t,contract:l,permissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address});await wt({account:y,transaction:u})}return[y,n]}async function za(a){const e=R.get(a);e&&(it.delete(e),R.delete(a))}async function Fa(a){var n,c;const e=(n=a.overrides)==null?void 0:n.tokenPaymaster;if(e&&k(((c=a.overrides)==null?void 0:c.entrypointAddress)||S)!=="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:Y(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=At({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 l=F(d.chainId),y=await N({executeTx:o,options:{...a,accountContract:i,chain:l}});return V({chainId:l.id,client:a.client,contractAddress:((w=s[0])==null?void 0:w.to)??void 0,transactionHash:y.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),y},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=X({accountContract:i,executeOverride:(A=a.overrides)==null?void 0:A.execute,transaction:s}),l=F(s.chainId),y=await N({executeTx:d,options:{...a,accountContract:i,chain:l,overrides:{...a.overrides,paymaster:o}}});return V({chainId:l.id,client:a.client,contractAddress:s.to??void 0,transactionHash:y.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),y},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:l}=await import("./signing-dsmCbu8X.js").then(y=>y.cX);return{smartAccountSignMessage:l}},__vite__mapDeps([5,1,2,3]));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:l}=await import("./signing-dsmCbu8X.js").then(y=>y.cX);return{smartAccountSignTypedData:l}},__vite__mapDeps([5,1,2,3]));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-DbKbmK-Y.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14])),d=s.calls[0];if(!d)throw new Error("No calls to send");const l=d.client,y=d.chain||s.chain,m=await o({account:r,calls:s.calls,chain:y});return{chain:y,client:l,id:m}},getCallsStatus:async s=>{const{inAppWalletGetCallsStatus:o}=await T(async()=>{const{inAppWalletGetCallsStatus:d}=await import("./in-app-wallet-calls-DbKbmK-Y.js");return{inAppWalletGetCallsStatus:d}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return o(s)},getCallsStatusRaw:async s=>{const{inAppWalletGetCallsStatusRaw:o}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:d}=await import("./in-app-wallet-calls-DbKbmK-Y.js");return{inAppWalletGetCallsStatusRaw:d}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return o(s)},getCapabilities:async s=>({[s.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:t??!1}}})};return r}async function Va(a){var l;const{accountContract:e,erc20Paymaster:t,options:i}=a,r=t.tokenAddress,n=L({address:r,chain:e.chain,client:e.client});if(await $t({contract:n,owner:e.address,spender:t.paymasterAddress})>0n)return;const s=qt({amountWei:ra-1n,contract:n,spender:t.paymasterAddress}),o=await Gt({from:e.address,transaction:s}),d=X({accountContract:e,executeOverride:(l=i.overrides)==null?void 0:l.execute,transaction:o});await N({executeTx:d,options:{...i,overrides:{...i.overrides,tokenPaymaster:void 0}}})}function Ua(a){const{creationOptions:e,connectionOptions:t,chain:i}=a,r={address:Y(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 l,y,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 Ut({account:r,transaction:c});if(a.sponsorGas&&!s.paymaster){const A=await _t({options:{bundlerUrl:(l=e.overrides)==null?void 0:l.bundlerUrl,chain:i,client:t.client,entrypointAddress:(y=e.overrides)==null?void 0:y.entrypointAddress},transaction:s});s={...s,...A}}const o=await It({account:r,chainId:i.id,eip712Transaction:s}),d=await Et({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=Ct(n);return t.personalAccount.signTypedData(c)},sendCalls:async n=>{const{inAppWalletSendCalls:c}=await T(async()=>{const{inAppWalletSendCalls:y}=await import("./in-app-wallet-calls-DbKbmK-Y.js");return{inAppWalletSendCalls:y}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14])),s=n.calls[0];if(!s)throw new Error("No calls to send");const o=s.client,d=s.chain||n.chain,l=await c({account:r,calls:n.calls,chain:d});return{chain:d,client:o,id:l}},getCallsStatus:async n=>{const{inAppWalletGetCallsStatus:c}=await T(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-DbKbmK-Y.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return c(n)},getCallsStatusRaw:async n=>{const{inAppWalletGetCallsStatusRaw:c}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-DbKbmK-Y.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return c(n)},getCapabilities:async n=>({[n.chainId??1]:{atomic:{status:"unsupported"},paymasterService:{supported:a.sponsorGas??!1}}})};return r}async function N(a){var i,r,n;const{executeTx:e,options:t}=a;try{const c=await La({accountContract:t.accountContract,adminAddress:t.personalAccount.address,factoryContract:t.factoryContract,overrides:t.overrides,sponsorGas:t.sponsorGas,transaction:e}),s=await Sa({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 Ft({options:o,userOp:s}),l=await va({...o,userOpHash:d});return V({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),transactionHash:l.transactionHash,walletAddress:t.accountContract.address,walletType:"smart"}),{chain:t.chain,client:t.client,transactionHash:l.transactionHash}}catch(c){throw gt(c)&&ht({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{st(t.accountContract)}}async function Ia(a,e,t){const i=L({address:a,chain:t,client:e});try{return await C({contract:i,method:"function entrypoint() public view returns (address)"})}catch{return}}export{Ba as connectSmartAccount,za as disconnectSmartAccount,Ia as getEntrypointFromFactory,ja as isSmartWallet};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/decimals-2D-Y9cW-.js","assets/utils-3XaFMbFH.js","assets/index-DdoNSnPZ.js","assets/index-CODceU7b.css","assets/decimals-BvtkSwrR.js","assets/signing-WcNp-1pu.js","assets/in-app-wallet-calls-C3_9LLpN.js","assets/wait-for-tx-receipt-BD1QxGfa.js","assets/transactionReceipt-Ufygp-9B.js","assets/sleep-mAKpSMLY.js","assets/send-batch-transaction-BHCPQqMU.js","assets/wallets-BHgcP8rz.js","assets/hashTypedData-DBp5vFy4.js","assets/index.es-CZG_xqg1.js","assets/ethereum-C_Cy8XKf.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as T}from"./index-DdoNSnPZ.js";import{r as C,ab as q,ac as ct,ad as B,Z as z,ae as K,G as E,U as D,R as x,j as Z,h as _,w as $,x as O,S as ot,af as dt,g as L,ag as j,q as pt,e as mt,V as ut,ah as lt,ai as yt,aj as ft,v as wt,a as Y,l as V,ak as X,al as At,t as Gt,am as gt,an as ht}from"./signing-WcNp-1pu.js";import{c as Tt,i as Pt,a as F}from"./utils-3XaFMbFH.js";import{R as J,r as vt,S as Q,T as Lt,U as S,W as k,X as Ot,Z as Dt,_ as xt,$ as U,a0 as tt,a1 as at,a2 as St,p as Ct,a3 as _t,a4 as Et,a5 as Ft}from"./wallets-BHgcP8rz.js";import{a6 as ja}from"./wallets-BHgcP8rz.js";import{t as Vt,p as Ut,s as It}from"./send-eip712-transaction-BZPqvG7o.js";import"./hashTypedData-DBp5vFy4.js";import"./index.es-CZG_xqg1.js";import"./ethereum-C_Cy8XKf.js";import"./sha256-DgLKZ9Bx.js";const bt="0xdd62ed3e",Rt=[{name:"owner",type:"address"},{name:"spender",type:"address"}],Nt=[{type:"uint256"}];async function $t(a){return C({contract:a.contract,method:[bt,Rt,Nt],params:[a.owner,a.spender]})}const kt="0x095ea7b3",Ht=[{name:"spender",type:"address"},{name:"value",type:"uint256"}],Mt=[{type:"bool"}];function Wt(a){const e=J(async()=>"asyncParams"in a?await a.asyncParams():a);return q({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,Ht,Mt],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 qt(a){return Wt({asyncParams:async()=>{let e;if("amount"in a){const{decimals:t}=await T(async()=>{const{decimals:r}=await import("./decimals-2D-Y9cW-.js");return{decimals:r}},__vite__mapDeps([0,1,2,3,4,5])),i=await t(a).catch(()=>18);e=ct(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 Bt="0xf15d424e",zt=[{name:"signer",type:"address"}],Kt=[{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 C({contract:a.contract,method:[Bt,zt,Kt],params:[a.signer]})}const jt="0x5892e236",Yt=[{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"}],Xt=[];function Jt(a){const e=J(async()=>"asyncParams"in a?await a.asyncParams():a);return q({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:[jt,Yt,Xt],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 W(){return new Date(Date.now()+1e3*60*60*24*365*10)}function b(a){return Vt(Math.floor(a.getTime()/1e3))}const Qt=[{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 ta(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:Qt}});return{req:i,signature:r}}async function aa(a){var i;const{target:e,permissions:t}=a;return{approvedTargets:t.approvedTargets==="*"?[z]:t.approvedTargets,isAdmin:0,nativeTokenLimitPerTransaction:B(((i=t.nativeTokenLimitPerTransaction)==null?void 0:i.toString())||"0"),permissionEndTimestamp:b(t.permissionEndTimestamp||W()),permissionStartTimestamp:b(t.permissionStartTimestamp||new Date(0)),reqValidityEndTimestamp:b(W()),reqValidityStartTimestamp:0n,signer:e,uid:await vt()}}function ea(a){const{contract:e,sessionKeyAddress:t,account:i,permissions:r}=a;return Jt({async asyncParams(){const{req:n,signature:c}=await ta({account:i,contract:e,req:await aa({permissions:r,target:t})});return{req:n,signature:c}},contract:e})}async function sa(a){var c;const{accountContract:e,sessionKeyAddress:t,newPermissions:i}=a;if(!await K(e))return!0;const n=await Zt({contract:e,signer:t});return!!(n.endTimestamp&&n.endTimestamp<Math.floor(Date.now()/1e3)||!na(n.approvedTargets,i.approvedTargets)||B(((c=i.nativeTokenLimitPerTransaction)==null?void 0:c.toString())??"0")>n.nativeTokenLimitPerTransaction)}function na(a,e){return e==="*"&&a.length===1&&a[0]===z?!0:e!=="*"?e.map(t=>t.toLowerCase()).every(t=>a.map(i=>i.toLowerCase()).includes(t)):!1}const ra=2n**96n-1n,ia="0x35567e1a",ca=[{name:"sender",type:"address"},{name:"key",type:"uint192"}],oa=[{name:"nonce",type:"uint256"}];async function da(a){return C({contract:a.contract,method:[ia,ca,oa],params:[a.sender,a.key]})}const pa="0xa6193531",ma=[{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"}],ua=[{type:"bytes32"}];async function la(a){return C({contract:a.contract,method:[pa,ma,ua],params:[a.userOp]})}const ya="0x22cdde4c",fa=[{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"}],wa=[{type:"bytes32"}];async function Aa(a){return C({contract:a.contract,method:[ya,fa,wa],params:[a.userOp]})}function Ga(a){return a.factory?E([a.factory,a.factoryData||"0x"]):"0x"}function ga(a){return E([D(x(BigInt(a.verificationGasLimit)),{size:16}),D(x(BigInt(a.callGasLimit)),{size:16})])}function ha(a){return E([D(x(BigInt(a.maxPriorityFeePerGas)),{size:16}),D(x(BigInt(a.maxFeePerGas)),{size:16})])}function Ta(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 Pa=a=>({accountGasLimits:ga(a),callData:a.callData,gasFees:ha(a),initCode:Ga(a),nonce:BigInt(a.nonce),paymasterAndData:Ta(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??S,o=Q(r),d={id:1,jsonrpc:"2.0",method:"pm_sponsorUserOperation",params:[Lt(e),s]},y=await Tt(i)(o,{body:Z(d),headers:c,method:"POST"});if(!y.ok){const G=await y.text()||y.statusText;throw new Error(`Paymaster error: ${y.status} - ${G}`)}const m=await y.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||y.statusText||"unknown error";throw new Error(`Paymaster error from ${o}: ${w}`)}const H=new Set,M=a=>`${a.chain.id}:${a.address}`,et=a=>{H.add(M(a))},st=a=>{H.delete(M(a))},nt=a=>H.has(M(a));async function va(a){const e=a.timeoutMs||12e4,t=a.intervalMs||1e3,i=Date.now()+e;for(;Date.now()<i;){const r=await Ot(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 La(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,l=e.client,y={bundlerUrl:n==null?void 0:n.bundlerUrl,chain:d,client:l,entrypointAddress:n==null?void 0:n.entrypointAddress},m=k(((P=a.overrides)==null?void 0:P.entrypointAddress)||S),[w,A,G,g,f]=await Promise.all([typeof o=="boolean"?o:K(t).then(h=>h||nt(t)),$(e),O(e.gas),Oa({bundlerOptions:y,chain:d,client:l,executeTx:e}),Ea({accountContract:t,chain:d,client:l,entrypointAddress:n==null?void 0:n.entrypointAddress,getNonceOverride:n==null?void 0:n.getAccountNonce})]),{maxFeePerGas:p,maxPriorityFeePerGas:u}=g;return m==="v0.7"?Da({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s}):xa({accountContract:t,adminAddress:r,bundlerOptions:y,callData:A,callGasLimit:G,factoryContract:i,isDeployed:w,maxFeePerGas:p,maxPriorityFeePerGas:u,nonce:f,overrides:n,sponsorGas:c,waitForDeployment:s})}async function Oa(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)??Q(i);if(Pt(s)){const o=await Dt({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 l=await dt(r,i);c=d??l.maxPriorityFeePerGas??0n,n=o??l.maxFeePerGas??0n}}return{maxFeePerGas:n,maxPriorityFeePerGas:c}}async function Da(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g,f;t?(f="0x",w&&await rt(r)):(g=i.address,f=await $(j({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i})),w&&et(r));const p={callData:d,callGasLimit:l??0n,factory:g,factoryData:f,maxFeePerGas:y,maxPriorityFeePerGas:m,nonce:o,paymaster:void 0,paymasterData:"0x",paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n,preVerificationGas:0n,sender:r.address,signature:tt,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:{[pt(mt([{type:"address"},{type:"uint256"}],[r.address,s.tokenPaymaster.balanceStorageSlot]))]:ut(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 xa(a){const{bundlerOptions:e,isDeployed:t,factoryContract:i,accountContract:r,adminAddress:n,sponsorGas:c,overrides:s,nonce:o,callData:d,callGasLimit:l,maxFeePerGas:y,maxPriorityFeePerGas:m,waitForDeployment:w}=a,{chain:A,client:G}=e;let g;t?(g="0x",w&&await rt(r)):(g=await _a({accountSalt:s==null?void 0:s.accountSalt,adminAddress:n,createAccountOverride:s==null?void 0:s.createAccount,factoryContract:i}),w&&et(r));const f={callData:d,callGasLimit:l??0n,initCode:g,maxFeePerGas:y,maxPriorityFeePerGas:m,nonce:o,paymasterAndData:"0x",preVerificationGas:0n,sender:r.address,signature:tt,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 Sa(a){const{userOp:e,chain:t,entrypointAddress:i,adminAccount:r}=a,n=await Ca({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 Ca(a){const{userOp:e,chain:t,entrypointAddress:i}=a,r=k(i||S);let n;if(r==="v0.7"){const c=Pa(e);n=await Aa({contract:L({address:i||at,chain:t,client:a.client}),userOp:c})}else n=await la({contract:L({address:i||S,chain:t,client:a.client}),userOp:e});return n}async function _a(a){const{factoryContract:e,adminAddress:t,accountSalt:i,createAccountOverride:r}=a,n=j({accountSalt:i,adminAddress:t,createAccountOverride:r,factoryContract:e});return E([e.address,await $(n)])}async function Ea(a){const{accountContract:e,chain:t,client:i,entrypointAddress:r,getNonceOverride:n}=a;return n?n(e):await da({contract:L({address:r||S,chain:t,client:i}),key:xt(),sender:e.address})}async function rt(a){const e=Date.now();for(;nt(a);){if(Date.now()-e>6e4)throw st(a),new Error("Account deployment is taking too long (over 1 minute). Please try again.");await new Promise(t=>setTimeout(t,500))}}const it=new WeakMap,R=new WeakMap;async function Ba(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 yt(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:at});const s=r.factoryAddress??St((G=r.overrides)==null?void 0:G.entrypointAddress),o=L({address:s,chain:n,client:i}),d=await ft({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})}),l=L({address:d,chain:n,client:i}),y=await Fa({...r,accountContract:l,chain:n,client:i,factoryContract:o,personalAccount:t,sponsorGas:c});if(it.set(t,y),R.set(y,t),r.sessionKey&&await sa({accountContract:l,newPermissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address})){const u=ea({account:t,contract:l,permissions:r.sessionKey.permissions,sessionKeyAddress:r.sessionKey.address});await wt({account:y,transaction:u})}return[y,n]}async function za(a){const e=R.get(a);e&&(it.delete(e),R.delete(a))}async function Fa(a){var n,c;const e=(n=a.overrides)==null?void 0:n.tokenPaymaster;if(e&&k(((c=a.overrides)==null?void 0:c.entrypointAddress)||S)!=="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:Y(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=At({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 l=F(d.chainId),y=await N({executeTx:o,options:{...a,accountContract:i,chain:l}});return V({chainId:l.id,client:a.client,contractAddress:((w=s[0])==null?void 0:w.to)??void 0,transactionHash:y.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),y},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=X({accountContract:i,executeOverride:(A=a.overrides)==null?void 0:A.execute,transaction:s}),l=F(s.chainId),y=await N({executeTx:d,options:{...a,accountContract:i,chain:l,overrides:{...a.overrides,paymaster:o}}});return V({chainId:l.id,client:a.client,contractAddress:s.to??void 0,transactionHash:y.transactionHash,walletAddress:a.accountContract.address,walletType:"smart"}),y},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:l}=await import("./signing-WcNp-1pu.js").then(y=>y.cX);return{smartAccountSignMessage:l}},__vite__mapDeps([5,1,2,3]));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:l}=await import("./signing-WcNp-1pu.js").then(y=>y.cX);return{smartAccountSignTypedData:l}},__vite__mapDeps([5,1,2,3]));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-C3_9LLpN.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14])),d=s.calls[0];if(!d)throw new Error("No calls to send");const l=d.client,y=d.chain||s.chain,m=await o({account:r,calls:s.calls,chain:y});return{chain:y,client:l,id:m}},getCallsStatus:async s=>{const{inAppWalletGetCallsStatus:o}=await T(async()=>{const{inAppWalletGetCallsStatus:d}=await import("./in-app-wallet-calls-C3_9LLpN.js");return{inAppWalletGetCallsStatus:d}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return o(s)},getCallsStatusRaw:async s=>{const{inAppWalletGetCallsStatusRaw:o}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:d}=await import("./in-app-wallet-calls-C3_9LLpN.js");return{inAppWalletGetCallsStatusRaw:d}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return o(s)},getCapabilities:async s=>({[s.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:t??!1}}})};return r}async function Va(a){var l;const{accountContract:e,erc20Paymaster:t,options:i}=a,r=t.tokenAddress,n=L({address:r,chain:e.chain,client:e.client});if(await $t({contract:n,owner:e.address,spender:t.paymasterAddress})>0n)return;const s=qt({amountWei:ra-1n,contract:n,spender:t.paymasterAddress}),o=await Gt({from:e.address,transaction:s}),d=X({accountContract:e,executeOverride:(l=i.overrides)==null?void 0:l.execute,transaction:o});await N({executeTx:d,options:{...i,overrides:{...i.overrides,tokenPaymaster:void 0}}})}function Ua(a){const{creationOptions:e,connectionOptions:t,chain:i}=a,r={address:Y(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 l,y,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 Ut({account:r,transaction:c});if(a.sponsorGas&&!s.paymaster){const A=await _t({options:{bundlerUrl:(l=e.overrides)==null?void 0:l.bundlerUrl,chain:i,client:t.client,entrypointAddress:(y=e.overrides)==null?void 0:y.entrypointAddress},transaction:s});s={...s,...A}}const o=await It({account:r,chainId:i.id,eip712Transaction:s}),d=await Et({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=Ct(n);return t.personalAccount.signTypedData(c)},sendCalls:async n=>{const{inAppWalletSendCalls:c}=await T(async()=>{const{inAppWalletSendCalls:y}=await import("./in-app-wallet-calls-C3_9LLpN.js");return{inAppWalletSendCalls:y}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14])),s=n.calls[0];if(!s)throw new Error("No calls to send");const o=s.client,d=s.chain||n.chain,l=await c({account:r,calls:n.calls,chain:d});return{chain:d,client:o,id:l}},getCallsStatus:async n=>{const{inAppWalletGetCallsStatus:c}=await T(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-C3_9LLpN.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return c(n)},getCallsStatusRaw:async n=>{const{inAppWalletGetCallsStatusRaw:c}=await T(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-C3_9LLpN.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([6,7,8,5,1,2,3,9,10,11,12,13,14]));return c(n)},getCapabilities:async n=>({[n.chainId??1]:{atomic:{status:"unsupported"},paymasterService:{supported:a.sponsorGas??!1}}})};return r}async function N(a){var i,r,n;const{executeTx:e,options:t}=a;try{const c=await La({accountContract:t.accountContract,adminAddress:t.personalAccount.address,factoryContract:t.factoryContract,overrides:t.overrides,sponsorGas:t.sponsorGas,transaction:e}),s=await Sa({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 Ft({options:o,userOp:s}),l=await va({...o,userOpHash:d});return V({chainId:t.chain.id,client:t.client,contractAddress:await O(e.to??void 0),transactionHash:l.transactionHash,walletAddress:t.accountContract.address,walletType:"smart"}),{chain:t.chain,client:t.client,transactionHash:l.transactionHash}}catch(c){throw gt(c)&&ht({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{st(t.accountContract)}}async function Ia(a,e,t){const i=L({address:a,chain:t,client:e});try{return await C({contract:i,method:"function entrypoint() public view returns (address)"})}catch{return}}export{Ba as connectSmartAccount,za as disconnectSmartAccount,Ia as getEntrypointFromFactory,ja as isSmartWallet};
|