@dcl/auth-site 4.11.1 → 4.11.2-22147838408.commit-6a0fdff
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-D3z0Ivcf.js → ConstantsUtil-C_K1SnKP.js} +1 -1
- package/assets/{ContentfulRichText-CwpvNDfp.js → ContentfulRichText-D7cvqZqg.js} +1 -1
- package/assets/{ExchangeController-CTLvTe3M.js → ExchangeController-BKXFD5n3.js} +1 -1
- package/assets/{HelpersUtil-DH_bWYgR.js → HelpersUtil-DhM-iGQ8.js} +1 -1
- package/assets/{NetworkUtil-CvUeN6SC.js → NetworkUtil-CqZCcssm.js} +1 -1
- package/assets/{SwapController-VNxvM-ru.js → SwapController-DVI2as9x.js} +1 -1
- package/assets/{biconomy-uWrBqu14.js → biconomy-_l5k1QFR.js} +1 -1
- package/assets/{ccip-Ck0vdRb6.js → ccip-Db3Qm8Vz.js} +1 -1
- package/assets/{data-capture-DxdkC-zs.js → data-capture-CGm5GYdr.js} +1 -1
- package/assets/{email-m-hvq9yR.js → email-NPKm8bgI.js} +1 -1
- package/assets/{embedded-wallet-DXYZl8dW.js → embedded-wallet-CKcD2_oV.js} +1 -1
- package/assets/{engine-BP9MbTaa.js → engine-BushGAHS.js} +1 -1
- package/assets/{extractIPFS-BlR9XZBt.js → extractIPFS-CqyC14nL.js} +1 -1
- package/assets/{features-DjfnSO5o.js → features-CntsZnkL.js} +1 -1
- package/assets/{fortmatic-D4w5-MB9.js → fortmatic-Bt8Fcu-T.js} +1 -1
- package/assets/{getInstalledModules-BA7RCafO.js → getInstalledModules-DEFUlnhB.js} +1 -1
- package/assets/{if-defined-c44XlOr2.js → if-defined-D_hYwNPf.js} +1 -1
- package/assets/{in-app-wallet-calls-DWwXEW-I.js → in-app-wallet-calls-DbPzZopg.js} +1 -1
- package/assets/{index-Bn3JX8yK.js → index-70czSl7P.js} +1 -1
- package/assets/index-85xIh8VB.css +1 -0
- package/assets/{index-DJBFB3mB.js → index-B3wiCJNu.js} +1 -1
- package/assets/{index-CjVg1Y56.js → index-BBqQD5Df.js} +1 -1
- package/assets/{index-Dg3K1Vw3.js → index-BJsO_lau.js} +4 -4
- package/assets/{index-B4r2T0V7.js → index-BQkvzpAz.js} +1 -1
- package/assets/{index-CMByj6EO.js → index-BTVrkTvz.js} +1 -1
- package/assets/{index-CQ3wP0_P.js → index-BVnlkGy_.js} +1 -1
- package/assets/{index-z_PZPv2z.js → index-BcPJh_uW.js} +1 -1
- package/assets/{index-C5HCss9t.js → index-BiEDTNxz.js} +1 -1
- package/assets/{index-Du-zsiof.js → index-BrktIKr6.js} +1 -1
- package/assets/{index-B8V_Gua3.js → index-BvEQCU2R.js} +1 -1
- package/assets/{index-ooAMiJ4y.js → index-C1vclBA-.js} +1 -1
- package/assets/{index-DXE0HB_s.js → index-CLl82xyi.js} +1 -1
- package/assets/index-CPD4QoJl.js +1 -0
- package/assets/{index-rUP73pzB.js → index-CVHrGrAd.js} +180 -176
- package/assets/{index-BK4EaQoQ.js → index-CW-NyuqI.js} +1 -1
- package/assets/{index-hv8BmCVq.js → index-CeX3QpcR.js} +1 -1
- package/assets/{index-B7S3qNGA.js → index-Cgket37h.js} +1 -1
- package/assets/{index-BpA6Si5_.js → index-CgtPi5eV.js} +1 -1
- package/assets/{index-B_hPWAv-.js → index-CkUSAaWv.js} +3 -3
- package/assets/{index-CZXXMblS.js → index-CpYCQTz1.js} +1 -1
- package/assets/{index-CkBzHXTa.js → index-CrJ0KZX-.js} +1 -1
- package/assets/{index-ByvTWpYB.js → index-Cuz4eb5l.js} +1 -1
- package/assets/{index-BSDoeqBk.js → index-CzizMSLh.js} +1 -1
- package/assets/{index-BkHQ3jRF.js → index-D4BkODlj.js} +1 -1
- package/assets/{index-DtxEqR9I.js → index-DCs1R-5H.js} +1 -1
- package/assets/{index-CI9qYMNa.js → index-DTXV3RIH.js} +1 -1
- package/assets/{index-DrzZEjxU.js → index-DUYQUJtF.js} +2 -2
- package/assets/{index-LXq3A1tO.js → index-D_K6LAzY.js} +1 -1
- package/assets/{index-COGXVD6s.js → index-DuLpoTCS.js} +1 -1
- package/assets/{index-BTpLgKXg.js → index-DzNC2WEc.js} +1 -1
- package/assets/{index-BHPGJDn1.js → index-Lmx9xS3j.js} +1 -1
- package/assets/{index-DXxU6Q6U.js → index-O2-NnXm1.js} +1 -1
- package/assets/{index-C5UHmImP.js → index-RLQ8trXC.js} +1 -1
- package/assets/{index-CWtZsUgg.js → index-UlZA1Kcj.js} +1 -1
- package/assets/{index-BfOpfRfr.js → index-VV3QxQlT.js} +1 -1
- package/assets/{index-DgLFkUD1.js → index-Z2tzVExf.js} +1 -1
- package/assets/{index-DxwRNqgX.js → index-fovbPRLG.js} +1 -1
- package/assets/{index-lGPNwbxe.js → index-kIUXSgnA.js} +1 -1
- package/assets/{index-Db4gjeSL.js → index-z2k9-LrZ.js} +1 -1
- package/assets/{networks-D_o5yDwd.js → networks-CJcotx5e.js} +1 -1
- package/assets/{onramp-IF4ngNfj.js → onramp-DD-HHTU2.js} +1 -1
- package/assets/{openzeppelin-Dx6i2B2r.js → openzeppelin-BJrVwg-K.js} +1 -1
- package/assets/{parse-typed-data-DFH4Wadf.js → parse-typed-data-B4oF8vZ-.js} +1 -1
- package/assets/{passkeys-B7dJQJDN.js → passkeys-DnaNEVFD.js} +1 -1
- package/assets/{pay-with-exchange-e-xM6cxq.js → pay-with-exchange-DJW46eff.js} +1 -1
- package/assets/{receive-DcGe3k64.js → receive-CHThFYLO.js} +1 -1
- package/assets/{ref-tRykIzet.js → ref-BIMXqnvv.js} +1 -1
- package/assets/{resolveImplementation-CY2AZ4BU.js → resolveImplementation-BrMPklf8.js} +1 -1
- package/assets/{secp256k1-BNq3uWuW.js → secp256k1-DSxHFf2j.js} +1 -1
- package/assets/{send-WJTqnbjw.js → send-BVdA5jqJ.js} +1 -1
- package/assets/{send-eip712-transaction-CwY5vZTA.js → send-eip712-transaction-B0Ed5W9G.js} +1 -1
- package/assets/{send-gasless-transaction-Hnb2WBcO.js → send-gasless-transaction-B_LrslW2.js} +2 -2
- package/assets/{socials-BQk98Z9K.js → socials-DfDHhY30.js} +1 -1
- package/assets/{swaps-DyVYpdw2.js → swaps-BuSfLQpv.js} +1 -1
- package/assets/{thirdweb-D6clKR4w.js → thirdweb-DVPvYSAe.js} +3 -3
- package/assets/{transactions-Bl3b8qIX.js → transactions-qYSa16pm.js} +1 -1
- package/assets/{ui-byNMPSE1.css → ui-Cg2KU6mE.css} +3 -3
- package/assets/{ui-DNHWrHSH.js → ui-xtM5k7h3.js} +5 -5
- package/assets/{vendor-BgiNx-Ph.js → vendor-BFHicODy.js} +1 -1
- package/assets/{verifyHash-B-nU7EV3.js → verifyHash-Cq1jWSNg.js} +3 -3
- package/assets/{w3m-modal-B205prEk.js → w3m-modal-Br99BBQB.js} +1 -1
- package/assets/{web-connector-BKWKHTzg.js → web-connector-CQnOoVv7.js} +3 -3
- package/index.html +6 -6
- package/package.json +3 -3
- package/assets/index-B6Hui9GU.js +0 -5
- package/assets/index-BEPqkRql.js +0 -1
- package/assets/index-CY-fRScv.css +0 -1
- package/assets/index-dCX8yVbC.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as l,r as p,k as h,l as b,m as y}from"./index-
|
|
1
|
+
import{j as l,r as p,k as h,l as b,m as y}from"./index-BJsO_lau.js";import{n as r,c as f}from"./index-fovbPRLG.js";import{o as v}from"./if-defined-D_hYwNPf.js";const m=l`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as u,r as h,k as f,l as p,m as g}from"./index-
|
|
1
|
+
import{j as u,r as h,k as f,l as p,m as g}from"./index-BJsO_lau.js";import{n as d,c as m}from"./index-fovbPRLG.js";import{o as b}from"./if-defined-D_hYwNPf.js";const y=u`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
justify-content: center;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as m,r as c,l as f,m as d}from"./index-
|
|
1
|
+
import{n as m,r as c,l as f,m as d}from"./index-BJsO_lau.js";import{n as u,c as b}from"./index-fovbPRLG.js";import{o as h}from"./if-defined-D_hYwNPf.js";import"./index-BiEDTNxz.js";const v=m`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
display: inline-block;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as p,r as d,l as f,m as c}from"./index-
|
|
1
|
+
import{j as p,r as d,l as f,m as c}from"./index-BJsO_lau.js";import{n as m,c as h}from"./index-fovbPRLG.js";const x=p`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
display: flex;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/in-app-wallet-calls-
|
|
2
|
-
import{I as A,y as M,j as R,i as g,J as I,K as P,M as U,N as B,O as H,P as y,Q as W,R as V,S as O,_ as b,T as L,k as F,m as h,r as D,B as N,U as $,o as k,b as z}from"./thirdweb-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/in-app-wallet-calls-DbPzZopg.js","assets/thirdweb-DVPvYSAe.js","assets/index-DUYQUJtF.js","assets/send-eip712-transaction-B0Ed5W9G.js","assets/parse-typed-data-B4oF8vZ-.js","assets/types-DC0Zmj1B.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{I as A,y as M,j as R,i as g,J as I,K as P,M as U,N as B,O as H,P as y,Q as W,R as V,S as O,_ as b,T as L,k as F,m as h,r as D,B as N,U as $,o as k,b as z}from"./thirdweb-DVPvYSAe.js";import{s as j}from"./types-DC0Zmj1B.js";function q(n){let e;return()=>(e||(e=n()),e)}function K(n={}){return A({filters:n,signature:"event UserOperationRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)"})}function Z(n={}){return A({filters:n,signature:"event PostOpRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)"})}function J(n){const{receipt:e}=n,t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs,status:e.status,to:e.to?e.to:null,transactionHash:e.transactionHash,transactionIndex:e.transactionIndex,type:e.type};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),{...n,actualGasCost:BigInt(n.actualGasCost),actualGasUsed:BigInt(n.actualGasUsed),nonce:BigInt(n.nonce),receipt:t,userOpHash:n.userOpHash}}const fe=()=>{const n=BigInt(Math.floor(Math.random()*4294967296)),e=BigInt(Math.floor(Math.random()*4294967296)),t=BigInt(Math.floor(Math.random()*4294967296)),r=BigInt(Math.floor(Math.random()*4294967296)),o=BigInt(Math.floor(Math.random()*4294967296)),p=BigInt(Math.floor(Math.random()*4294967296));return n<<BigInt(160)|e<<BigInt(128)|t<<BigInt(96)|r<<BigInt(64)|o<<BigInt(32)|p};function E(n){return Object.fromEntries(Object.entries(n).map(([e,t])=>[e,t==null||R(t)?t:M(t)]))}async function ge(n){return d({...n,operation:"eth_sendUserOperation",params:[E(n.userOp),n.options.entrypointAddress??U]})}async function we(n,e){const t=await d({...n,operation:"eth_estimateUserOperationGas",params:[E(n.userOp),n.options.entrypointAddress??U,e??{}]});return{callGasLimit:y(t.callGasLimit)+W,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit!==void 0?y(t.paymasterPostOpGasLimit):void 0,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit!==void 0?y(t.paymasterVerificationGasLimit):void 0,preVerificationGas:y(t.preVerificationGas),verificationGas:t.verificationGas!==void 0?y(t.verificationGas):void 0,verificationGasLimit:y(t.verificationGasLimit)}}async function Se(n){const e=await d({...n,operation:"thirdweb_getUserOperationGasPrice",params:[]});return{maxFeePerGas:y(e.maxFeePerGas),maxPriorityFeePerGas:y(e.maxPriorityFeePerGas)}}async function Le(n){var t,r;const e=await Q(n);if(e){if(e.success===!1){const p=(r=(t=B({events:[K(),Z()],logs:e.logs})[0])==null?void 0:t.args)==null?void 0:r.revertReason;if(!p)throw new Error(`UserOp failed at txHash: ${e.receipt.transactionHash}`);const a=H({data:p});throw new Error(`UserOp failed with reason: '${a.args.join(",")}' at txHash: ${e.receipt.transactionHash}`)}return e.receipt}}async function Q(n){const e=await d({operation:"eth_getUserOperationReceipt",options:n,params:[n.userOpHash]});if(e)return J(e)}async function ve(n){const e=await d({operation:"zk_paymasterData",options:n.options,params:[n.transaction]});return{paymaster:e.paymaster,paymasterInput:e.paymasterInput}}async function Y(n){const e=await d({...n,operation:"tw_execute",params:[n.eoaAddress,n.wrappedCalls,n.signature,n.authorization]});if(!e.queueId)throw new Error(`Error executing 7702 transaction: ${g(e)}`);return{transactionId:e.queueId}}async function X(n){return{transactionHash:(await d({...n,operation:"tw_getTransactionHash",params:[n.transactionId]})).transactionHash}}async function xe(n){return{transactionHash:(await d({operation:"zk_broadcastTransaction",options:n.options,params:[{...n.transaction,signedTransaction:n.signedTransaction}]})).transactionHash}}async function d(n){const{options:e,operation:t,params:r}=n,o=e.bundlerUrl??I(e.chain),a=await P(e.client)(o,{useAuthToken:!0,body:g({id:1,jsonrpc:"2.0",method:t,params:r}),headers:{"Content-Type":"application/json"},method:"POST"}),i=await a.json();if(!a.ok||i.error){let s=i.error||a.statusText;typeof s=="object"&&(s=g(s));const u=i.code||"UNKNOWN";throw new Error(`${t} error: ${s}
|
|
3
3
|
Status: ${a.status}
|
|
4
|
-
Code: ${u}`)}return i.result}const ee=V({blockExplorers:[{name:"Etherscan",url:"https://etherscan.io"}],id:1,name:"Ethereum",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"}}),te="0x3f707e6b",ne=[{type:"tuple[]",name:"calls",components:[{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}]}],ae=[];function ie(n){const e=q(async()=>"asyncParams"in n?await n.asyncParams():n);return O({contract:n.contract,method:[te,ne,ae],params:async()=>[(await e()).calls],value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value},accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},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},nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList}})}async function se(n){const{client:e,chain:t,bundlerUrl:r}=n,o=r??I(t),p=`delegation-contract:${o}`;return $(async()=>{var u;const i=await P(e)(o,{useAuthToken:!0,body:g({id:1,jsonrpc:"2.0",method:"tw_getDelegationContract",params:[]}),headers:{"Content-Type":"application/json"},method:"POST"});if(!i.ok)throw new Error(`Failed to fetch delegation contract: ${i.status} ${i.statusText}`);const s=await i.json();if(s.error)throw new Error(`Delegation contract RPC error: ${JSON.stringify(s.error)}`);if(!((u=s.result)!=null&&u.delegationContract))throw new Error("Invalid response: missing delegationContract in result");return s.result.delegationContract},{cacheKey:p,cacheTime:1440*60*1e3})}const re=n=>{const{client:e,adminAccount:t,sponsorGas:r}=n,o=async a=>{var v,x,C;const i=a[0];if(!i)throw new Error("No transactions provided");const s=L(i.chainId),u=F({address:t.address,chain:s,client:e,abi:ce});let c=(v=i.authorizationList)==null?void 0:v[0];const m=await se({client:e,chain:s});if(c&&((x=c.address)==null?void 0:x.toLowerCase())!==m.toLowerCase())throw new Error(`Authorization address does not match expected delegation contract address. Expected ${m} but got ${c.address}`);if(!c&&!await pe(u,m)){let T=i.nonce?BigInt(i.nonce):BigInt(await oe({client:e,address:t.address,chain:s}));T+=r?0n:1n;const f=await((C=t.signAuthorization)==null?void 0:C.call(t,{address:h(m),chainId:i.chainId,nonce:T}));if(!f)throw new Error("Failed to sign authorization");c=f}if(r){const l={calls:a.map(S=>({data:S.data??"0x",target:h(S.to??""),value:S.value??0n})),uid:D()},T=await t.signTypedData({domain:{chainId:i.chainId,name:"MinimalAccount",verifyingContract:u.address,version:"1"},message:l,primaryType:"WrappedCalls",types:{Call:[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],WrappedCalls:[{name:"calls",type:"Call[]"},{name:"uid",type:"bytes32"}]}}),f=await Y({authorization:c,eoaAddress:h(t.address),options:{chain:L(i.chainId),client:e},signature:T,wrappedCalls:l});return{transactionHash:await ue({options:{chain:L(i.chainId),client:e},transactionId:f.transactionId})}}const w=ie({calls:a.map(l=>({data:l.data??"0x",target:h(l.to??""),value:l.value??0n})),contract:u,overrides:{authorizationList:c?[c]:void 0,value:a.reduce((l,T)=>l+(T.value??0n),0n)}}),_=await N({from:t.address,transaction:w});return t.sendTransaction(_)},p={address:t.address,sendBatchTransaction:async a=>o(a),sendTransaction:async a=>o([a]),signMessage:({message:a,originalMessage:i,chainId:s})=>t.signMessage({chainId:s,message:a,originalMessage:i}),signTypedData:a=>t.signTypedData(a),sendCalls:async a=>{const{inAppWalletSendCalls:i}=await b(async()=>{const{inAppWalletSendCalls:w}=await import("./in-app-wallet-calls-DWwXEW-I.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([0,1])),s=a.calls[0];if(!s)throw new Error("No calls to send");const u=s.client,c=s.chain||a.chain,m=await i({account:p,calls:a.calls,chain:c});return{chain:c,client:u,id:m}},getCallsStatus:async a=>{const{inAppWalletGetCallsStatus:i}=await b(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-DWwXEW-I.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([0,1]));return i(a)},getCallsStatusRaw:async a=>{const{inAppWalletGetCallsStatusRaw:i}=await b(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-DWwXEW-I.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([0,1]));return i(a)},getCapabilities:async a=>({[a.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:r??!1}}})};return p};async function oe(n){const{client:e,address:t,chain:r}=n,o=z({chain:r,client:e});return await b(async()=>{const{eth_getTransactionCount:a}=await import("./thirdweb-D6clKR4w.js").then(i=>i.ax);return{eth_getTransactionCount:a}},[]).then(({eth_getTransactionCount:a})=>a(o,{address:h(t),blockTag:"pending"}))}async function pe(n,e){const t=await k(n),r=t.length>0&&t.startsWith("0xef0100"),o=`0x${t.slice(8,48)}`;return r&&o.toLowerCase()===e.toLowerCase()}async function ue(n){const e=n.timeoutMs||3e5,t=n.intervalMs||1e3,r=Date.now()+e;for(;Date.now()<r;){const o=await X({options:n.options,transactionId:n.transactionId});if(o.transactionHash)return o.transactionHash;await new Promise(p=>setTimeout(p,t))}throw new Error(`Timeout waiting for transaction to be mined on chain ${n.options.chain.id} with transactionId: ${n.transactionId}`)}const ce=[{type:"receive",stateMutability:"payable"},{type:"function",name:"createSessionWithSig",inputs:[{name:"sessionSpec",type:"tuple",internalType:"struct SessionLib.SessionSpec",components:[{name:"signer",type:"address",internalType:"address"},{name:"isWildcard",type:"bool",internalType:"bool"},{name:"expiresAt",type:"uint256",internalType:"uint256"},{name:"callPolicies",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]},{name:"transferPolicies",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]},{name:"signature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"eip712Domain",inputs:[],outputs:[{name:"fields",type:"bytes1",internalType:"bytes1"},{name:"name",type:"string",internalType:"string"},{name:"version",type:"string",internalType:"string"},{name:"chainId",type:"uint256",internalType:"uint256"},{name:"verifyingContract",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"extensions",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{type:"function",name:"execute",inputs:[{name:"calls",type:"tuple[]",internalType:"struct Call[]",components:[{name:"target",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeWithSig",inputs:[{name:"wrappedCalls",type:"tuple",internalType:"struct WrappedCalls",components:[{name:"calls",type:"tuple[]",internalType:"struct Call[]",components:[{name:"target",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]},{name:"signature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"getCallPoliciesForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]}],stateMutability:"view"},{type:"function",name:"getSessionExpirationForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getSessionStateForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct SessionLib.SessionState",components:[{name:"transferValue",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]},{name:"callValue",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]},{name:"callParams",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"view"},{type:"function",name:"getTransferPoliciesForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"view"},{type:"function",name:"isWildcardSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"onERC1155BatchReceived",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256[]",internalType:"uint256[]"},{name:"",type:"uint256[]",internalType:"uint256[]"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"onERC1155Received",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"onERC721Received",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"event",name:"Executed",inputs:[{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"SessionCreated",inputs:[{name:"signer",type:"address",indexed:!0,internalType:"address"},{name:"sessionSpec",type:"tuple",indexed:!1,internalType:"struct SessionLib.SessionSpec",components:[{name:"signer",type:"address",internalType:"address"},{name:"isWildcard",type:"bool",internalType:"bool"},{name:"expiresAt",type:"uint256",internalType:"uint256"},{name:"callPolicies",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]},{name:"transferPolicies",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]}],anonymous:!1},{type:"event",name:"ValueReceived",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AllowanceExceeded",inputs:[{name:"allowanceUsage",type:"uint256",internalType:"uint256"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint64",internalType:"uint64"}]},{type:"error",name:"CallPolicyViolated",inputs:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"CallReverted",inputs:[]},{type:"error",name:"ConditionFailed",inputs:[{name:"param",type:"bytes32",internalType:"bytes32"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"condition",type:"uint8",internalType:"uint8"}]},{type:"error",name:"InvalidDataLength",inputs:[{name:"actualLength",type:"uint256",internalType:"uint256"},{name:"expectedLength",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSignature",inputs:[{name:"msgSender",type:"address",internalType:"address"},{name:"thisAddress",type:"address",internalType:"address"}]},{type:"error",name:"LifetimeUsageExceeded",inputs:[{name:"lifetimeUsage",type:"uint256",internalType:"uint256"},{name:"limit",type:"uint256",internalType:"uint256"}]},{type:"error",name:"MaxValueExceeded",inputs:[{name:"value",type:"uint256",internalType:"uint256"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"}]},{type:"error",name:"NoCallsToExecute",inputs:[]},{type:"error",name:"SessionExpired",inputs:[]},{type:"error",name:"SessionExpiresTooSoon",inputs:[]},{type:"error",name:"SessionZeroSigner",inputs:[]},{type:"error",name:"TransferPolicyViolated",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"UIDAlreadyProcessed",inputs:[]}];async function le(n,e,t){var p,a,i,s;if(((p=e==null?void 0:e.auth)==null?void 0:p.mode)!=="popup"&&((a=e==null?void 0:e.auth)==null?void 0:a.mode)!==void 0&&t.authenticateWithRedirect){const u=n.strategy;j.includes(u)&&await t.authenticateWithRedirect(u,(i=e==null?void 0:e.auth)==null?void 0:i.mode,(s=e==null?void 0:e.auth)==null?void 0:s.redirectUrl)}const o=(await t.connect(n)).user.account;return G({authAccount:o,client:n.client,createOptions:e,desiredChain:n.chain})}async function ye(n,e,t){n.authResult&&t.loginWithAuthToken&&await t.loginWithAuthToken(n.authResult);const r=await me(t);if(!r)throw new Error("Failed to authenticate user.");const o=r.account;return G({authAccount:o,client:n.client,createOptions:e,desiredChain:n.chain})}async function de(n){const{connectSmartAccount:e}=await b(async()=>{const{connectSmartAccount:t}=await import("./index-DrzZEjxU.js");return{connectSmartAccount:t}},__vite__mapDeps([2,1,3,4,5]));return e({chain:n.chain,client:n.client,personalAccount:n.authAccount},n.smartAccountOptions)}async function me(n){const e=await n.getUser();switch(e.status){case"Logged In, Wallet Initialized":return e}}async function G(n){const{createOptions:e,authAccount:t,desiredChain:r,client:o}=n;let p,a;const i=e&&"executionMode"in e?e.executionMode:void 0;if(i&&(i.mode==="EIP4337"?p=i.smartAccount:i.mode==="EIP7702"&&(a=i)),e&&"smartAccount"in e&&(e!=null&&e.smartAccount)&&(p=e.smartAccount),p){const[s,u]=await de({authAccount:t,chain:r,client:o,smartAccountOptions:p});return{account:s,adminAccount:t,chain:u}}if(a){const s=r;if(!s)throw new Error("Chain is required for EIP-7702 execution, pass a chain when connecting the inAppWallet.");return{account:re({adminAccount:t,client:o,sponsorGas:a.sponsorGas}),adminAccount:t,chain:s}}return{account:t,chain:r||ee}}const Ce=Object.freeze(Object.defineProperty({__proto__:null,autoConnectInAppWallet:ye,connectInAppWallet:le},Symbol.toStringTag,{value:"Module"}));export{Se as a,fe as b,ve as c,xe as d,we as e,ge as f,Le as g,E as h,Ce as i,q as o};
|
|
4
|
+
Code: ${u}`)}return i.result}const ee=V({blockExplorers:[{name:"Etherscan",url:"https://etherscan.io"}],id:1,name:"Ethereum",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"}}),te="0x3f707e6b",ne=[{type:"tuple[]",name:"calls",components:[{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}]}],ae=[];function ie(n){const e=q(async()=>"asyncParams"in n?await n.asyncParams():n);return O({contract:n.contract,method:[te,ne,ae],params:async()=>[(await e()).calls],value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.value},accessList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.accessList},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},nonce:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.nonce},extraGas:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.extraGas},erc20Value:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.erc20Value},authorizationList:async()=>{var t;return(t=(await e()).overrides)==null?void 0:t.authorizationList}})}async function se(n){const{client:e,chain:t,bundlerUrl:r}=n,o=r??I(t),p=`delegation-contract:${o}`;return $(async()=>{var u;const i=await P(e)(o,{useAuthToken:!0,body:g({id:1,jsonrpc:"2.0",method:"tw_getDelegationContract",params:[]}),headers:{"Content-Type":"application/json"},method:"POST"});if(!i.ok)throw new Error(`Failed to fetch delegation contract: ${i.status} ${i.statusText}`);const s=await i.json();if(s.error)throw new Error(`Delegation contract RPC error: ${JSON.stringify(s.error)}`);if(!((u=s.result)!=null&&u.delegationContract))throw new Error("Invalid response: missing delegationContract in result");return s.result.delegationContract},{cacheKey:p,cacheTime:1440*60*1e3})}const re=n=>{const{client:e,adminAccount:t,sponsorGas:r}=n,o=async a=>{var v,x,C;const i=a[0];if(!i)throw new Error("No transactions provided");const s=L(i.chainId),u=F({address:t.address,chain:s,client:e,abi:ce});let c=(v=i.authorizationList)==null?void 0:v[0];const m=await se({client:e,chain:s});if(c&&((x=c.address)==null?void 0:x.toLowerCase())!==m.toLowerCase())throw new Error(`Authorization address does not match expected delegation contract address. Expected ${m} but got ${c.address}`);if(!c&&!await pe(u,m)){let T=i.nonce?BigInt(i.nonce):BigInt(await oe({client:e,address:t.address,chain:s}));T+=r?0n:1n;const f=await((C=t.signAuthorization)==null?void 0:C.call(t,{address:h(m),chainId:i.chainId,nonce:T}));if(!f)throw new Error("Failed to sign authorization");c=f}if(r){const l={calls:a.map(S=>({data:S.data??"0x",target:h(S.to??""),value:S.value??0n})),uid:D()},T=await t.signTypedData({domain:{chainId:i.chainId,name:"MinimalAccount",verifyingContract:u.address,version:"1"},message:l,primaryType:"WrappedCalls",types:{Call:[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],WrappedCalls:[{name:"calls",type:"Call[]"},{name:"uid",type:"bytes32"}]}}),f=await Y({authorization:c,eoaAddress:h(t.address),options:{chain:L(i.chainId),client:e},signature:T,wrappedCalls:l});return{transactionHash:await ue({options:{chain:L(i.chainId),client:e},transactionId:f.transactionId})}}const w=ie({calls:a.map(l=>({data:l.data??"0x",target:h(l.to??""),value:l.value??0n})),contract:u,overrides:{authorizationList:c?[c]:void 0,value:a.reduce((l,T)=>l+(T.value??0n),0n)}}),_=await N({from:t.address,transaction:w});return t.sendTransaction(_)},p={address:t.address,sendBatchTransaction:async a=>o(a),sendTransaction:async a=>o([a]),signMessage:({message:a,originalMessage:i,chainId:s})=>t.signMessage({chainId:s,message:a,originalMessage:i}),signTypedData:a=>t.signTypedData(a),sendCalls:async a=>{const{inAppWalletSendCalls:i}=await b(async()=>{const{inAppWalletSendCalls:w}=await import("./in-app-wallet-calls-DbPzZopg.js");return{inAppWalletSendCalls:w}},__vite__mapDeps([0,1])),s=a.calls[0];if(!s)throw new Error("No calls to send");const u=s.client,c=s.chain||a.chain,m=await i({account:p,calls:a.calls,chain:c});return{chain:c,client:u,id:m}},getCallsStatus:async a=>{const{inAppWalletGetCallsStatus:i}=await b(async()=>{const{inAppWalletGetCallsStatus:s}=await import("./in-app-wallet-calls-DbPzZopg.js");return{inAppWalletGetCallsStatus:s}},__vite__mapDeps([0,1]));return i(a)},getCallsStatusRaw:async a=>{const{inAppWalletGetCallsStatusRaw:i}=await b(async()=>{const{inAppWalletGetCallsStatusRaw:s}=await import("./in-app-wallet-calls-DbPzZopg.js");return{inAppWalletGetCallsStatusRaw:s}},__vite__mapDeps([0,1]));return i(a)},getCapabilities:async a=>({[a.chainId??1]:{atomic:{status:"supported"},paymasterService:{supported:r??!1}}})};return p};async function oe(n){const{client:e,address:t,chain:r}=n,o=z({chain:r,client:e});return await b(async()=>{const{eth_getTransactionCount:a}=await import("./thirdweb-DVPvYSAe.js").then(i=>i.ax);return{eth_getTransactionCount:a}},[]).then(({eth_getTransactionCount:a})=>a(o,{address:h(t),blockTag:"pending"}))}async function pe(n,e){const t=await k(n),r=t.length>0&&t.startsWith("0xef0100"),o=`0x${t.slice(8,48)}`;return r&&o.toLowerCase()===e.toLowerCase()}async function ue(n){const e=n.timeoutMs||3e5,t=n.intervalMs||1e3,r=Date.now()+e;for(;Date.now()<r;){const o=await X({options:n.options,transactionId:n.transactionId});if(o.transactionHash)return o.transactionHash;await new Promise(p=>setTimeout(p,t))}throw new Error(`Timeout waiting for transaction to be mined on chain ${n.options.chain.id} with transactionId: ${n.transactionId}`)}const ce=[{type:"receive",stateMutability:"payable"},{type:"function",name:"createSessionWithSig",inputs:[{name:"sessionSpec",type:"tuple",internalType:"struct SessionLib.SessionSpec",components:[{name:"signer",type:"address",internalType:"address"},{name:"isWildcard",type:"bool",internalType:"bool"},{name:"expiresAt",type:"uint256",internalType:"uint256"},{name:"callPolicies",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]},{name:"transferPolicies",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]},{name:"signature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"eip712Domain",inputs:[],outputs:[{name:"fields",type:"bytes1",internalType:"bytes1"},{name:"name",type:"string",internalType:"string"},{name:"version",type:"string",internalType:"string"},{name:"chainId",type:"uint256",internalType:"uint256"},{name:"verifyingContract",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"extensions",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{type:"function",name:"execute",inputs:[{name:"calls",type:"tuple[]",internalType:"struct Call[]",components:[{name:"target",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"executeWithSig",inputs:[{name:"wrappedCalls",type:"tuple",internalType:"struct WrappedCalls",components:[{name:"calls",type:"tuple[]",internalType:"struct Call[]",components:[{name:"target",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]},{name:"signature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"getCallPoliciesForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]}],stateMutability:"view"},{type:"function",name:"getSessionExpirationForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getSessionStateForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct SessionLib.SessionState",components:[{name:"transferValue",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]},{name:"callValue",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]},{name:"callParams",type:"tuple[]",internalType:"struct SessionLib.LimitState[]",components:[{name:"remaining",type:"uint256",internalType:"uint256"},{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"index",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"view"},{type:"function",name:"getTransferPoliciesForSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}],stateMutability:"view"},{type:"function",name:"isWildcardSigner",inputs:[{name:"signer",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"onERC1155BatchReceived",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256[]",internalType:"uint256[]"},{name:"",type:"uint256[]",internalType:"uint256[]"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"onERC1155Received",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"onERC721Received",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"event",name:"Executed",inputs:[{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"SessionCreated",inputs:[{name:"signer",type:"address",indexed:!0,internalType:"address"},{name:"sessionSpec",type:"tuple",indexed:!1,internalType:"struct SessionLib.SessionSpec",components:[{name:"signer",type:"address",internalType:"address"},{name:"isWildcard",type:"bool",internalType:"bool"},{name:"expiresAt",type:"uint256",internalType:"uint256"},{name:"callPolicies",type:"tuple[]",internalType:"struct SessionLib.CallSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]},{name:"constraints",type:"tuple[]",internalType:"struct SessionLib.Constraint[]",components:[{name:"condition",type:"uint8",internalType:"enum SessionLib.Condition"},{name:"index",type:"uint64",internalType:"uint64"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"limit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]}]},{name:"transferPolicies",type:"tuple[]",internalType:"struct SessionLib.TransferSpec[]",components:[{name:"target",type:"address",internalType:"address"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"},{name:"valueLimit",type:"tuple",internalType:"struct SessionLib.UsageLimit",components:[{name:"limitType",type:"uint8",internalType:"enum SessionLib.LimitType"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint256",internalType:"uint256"}]}]},{name:"uid",type:"bytes32",internalType:"bytes32"}]}],anonymous:!1},{type:"event",name:"ValueReceived",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AllowanceExceeded",inputs:[{name:"allowanceUsage",type:"uint256",internalType:"uint256"},{name:"limit",type:"uint256",internalType:"uint256"},{name:"period",type:"uint64",internalType:"uint64"}]},{type:"error",name:"CallPolicyViolated",inputs:[{name:"target",type:"address",internalType:"address"},{name:"selector",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"CallReverted",inputs:[]},{type:"error",name:"ConditionFailed",inputs:[{name:"param",type:"bytes32",internalType:"bytes32"},{name:"refValue",type:"bytes32",internalType:"bytes32"},{name:"condition",type:"uint8",internalType:"uint8"}]},{type:"error",name:"InvalidDataLength",inputs:[{name:"actualLength",type:"uint256",internalType:"uint256"},{name:"expectedLength",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSignature",inputs:[{name:"msgSender",type:"address",internalType:"address"},{name:"thisAddress",type:"address",internalType:"address"}]},{type:"error",name:"LifetimeUsageExceeded",inputs:[{name:"lifetimeUsage",type:"uint256",internalType:"uint256"},{name:"limit",type:"uint256",internalType:"uint256"}]},{type:"error",name:"MaxValueExceeded",inputs:[{name:"value",type:"uint256",internalType:"uint256"},{name:"maxValuePerUse",type:"uint256",internalType:"uint256"}]},{type:"error",name:"NoCallsToExecute",inputs:[]},{type:"error",name:"SessionExpired",inputs:[]},{type:"error",name:"SessionExpiresTooSoon",inputs:[]},{type:"error",name:"SessionZeroSigner",inputs:[]},{type:"error",name:"TransferPolicyViolated",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"UIDAlreadyProcessed",inputs:[]}];async function le(n,e,t){var p,a,i,s;if(((p=e==null?void 0:e.auth)==null?void 0:p.mode)!=="popup"&&((a=e==null?void 0:e.auth)==null?void 0:a.mode)!==void 0&&t.authenticateWithRedirect){const u=n.strategy;j.includes(u)&&await t.authenticateWithRedirect(u,(i=e==null?void 0:e.auth)==null?void 0:i.mode,(s=e==null?void 0:e.auth)==null?void 0:s.redirectUrl)}const o=(await t.connect(n)).user.account;return G({authAccount:o,client:n.client,createOptions:e,desiredChain:n.chain})}async function ye(n,e,t){n.authResult&&t.loginWithAuthToken&&await t.loginWithAuthToken(n.authResult);const r=await me(t);if(!r)throw new Error("Failed to authenticate user.");const o=r.account;return G({authAccount:o,client:n.client,createOptions:e,desiredChain:n.chain})}async function de(n){const{connectSmartAccount:e}=await b(async()=>{const{connectSmartAccount:t}=await import("./index-DUYQUJtF.js");return{connectSmartAccount:t}},__vite__mapDeps([2,1,3,4,5]));return e({chain:n.chain,client:n.client,personalAccount:n.authAccount},n.smartAccountOptions)}async function me(n){const e=await n.getUser();switch(e.status){case"Logged In, Wallet Initialized":return e}}async function G(n){const{createOptions:e,authAccount:t,desiredChain:r,client:o}=n;let p,a;const i=e&&"executionMode"in e?e.executionMode:void 0;if(i&&(i.mode==="EIP4337"?p=i.smartAccount:i.mode==="EIP7702"&&(a=i)),e&&"smartAccount"in e&&(e!=null&&e.smartAccount)&&(p=e.smartAccount),p){const[s,u]=await de({authAccount:t,chain:r,client:o,smartAccountOptions:p});return{account:s,adminAccount:t,chain:u}}if(a){const s=r;if(!s)throw new Error("Chain is required for EIP-7702 execution, pass a chain when connecting the inAppWallet.");return{account:re({adminAccount:t,client:o,sponsorGas:a.sponsorGas}),adminAccount:t,chain:s}}return{account:t,chain:r||ee}}const Ce=Object.freeze(Object.defineProperty({__proto__:null,autoConnectInAppWallet:ye,connectInAppWallet:le},Symbol.toStringTag,{value:"Module"}));export{Se as a,fe as b,ve as c,xe as d,we as e,ge as f,Le as g,E as h,Ce as i,q as o};
|
|
@@ -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-Dg3K1Vw3.js";import{r as h,c as H}from"./index-DxwRNqgX.js";import{o as Y}from"./if-defined-c44XlOr2.js";import"./index-BSDoeqBk.js";import"./index-BK4EaQoQ.js";import"./index-CWtZsUgg.js";import"./index-C5UHmImP.js";import"./index-CMByj6EO.js";import"./index-B8V_Gua3.js";import"./index-CI9qYMNa.js";import"./index-BpA6Si5_.js";import"./index-BTpLgKXg.js";import{C as g}from"./NetworkUtil-CvUeN6SC.js";import"./index-lGPNwbxe.js";import"./thirdweb-D6clKR4w.js";import"./index-rUP73pzB.js";import"./ui-DNHWrHSH.js";import"./vendor-BgiNx-Ph.js";import"./index-hv8BmCVq.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-BJsO_lau.js";import{r as h,c as H}from"./index-fovbPRLG.js";import{o as Y}from"./if-defined-D_hYwNPf.js";import"./index-CzizMSLh.js";import"./index-CW-NyuqI.js";import"./index-UlZA1Kcj.js";import"./index-RLQ8trXC.js";import"./index-BTVrkTvz.js";import"./index-BvEQCU2R.js";import"./index-DTXV3RIH.js";import"./index-CgtPi5eV.js";import"./index-DzNC2WEc.js";import{C as g}from"./NetworkUtil-CqZCcssm.js";import"./index-kIUXSgnA.js";import"./thirdweb-DVPvYSAe.js";import"./index-CVHrGrAd.js";import"./ui-xtM5k7h3.js";import"./vendor-BFHicODy.js";import"./index-CeX3QpcR.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);
|