8 lines
4.0 KiB
JavaScript
8 lines
4.0 KiB
JavaScript
import{a as c}from"./chunk-IPQJEAEV.js";import{a as d}from"./chunk-655YVXZ7.js";import{a as T}from"./chunk-644H2MDT.js";import{b as g,c as h,f as p}from"./chunk-AAPE6FE4.js";import"./chunk-SGNJOSQB.js";import{d as y,e as m}from"./chunk-6MDHMQQH.js";import{a as w}from"./chunk-XIFCFAQW.js";import{b as i}from"./chunk-SE3PRL6Z.js";import"./chunk-NQTLXTUD.js";import"./chunk-E735URDA.js";import"./chunk-YHVKZE66.js";import{o as u,q as l}from"./chunk-QTLWQ5AJ.js";u();l();var C=class extends T{constructor({supportChain:t}){super(),this.chainType=i.EVM,this.supportChain=t&&t.length>0?t:[i.EVM,i.SOLANA],this.initPromise=this.init(),this.solana={}}async init(){let t=this.supportChain.includes(i.SOLANA)?(await import("./Solana-YLA3BQ2D.js")).default:{};this.chainMap={[i.SOLANA]:{...t}},this.solana=t}async getAccount(){let t=await h(),a="",n=t.getAccounts();return this.chainType===i.SOLANA?a=n?.solana:a=n?.eip155,a}async getWalletconnectProvider(){let t=await h(),{provider:a}=t;return this.chainType===i.EVM?new Web3(a):a}chainMethodMap(t){return this.chainMap[t]||{...d}}async getWeb3(){let t=await this.getChainId(),a=await w(t),{rpcUrls:n}=a?.data?.[0]||{};if(n&&n.length>0){let e=n[0];return new Web3(e)}}async sendTransaction({payload:t,cb:a,extraParams:n}){try{let e=await this.getWalletconnectProvider(),s=await this.getAccount(),r=this.chainMethodMap(this.chainType).sendWcTransaction;return await r({provider:e,payload:t,cb:a,extraParams:n,address:s})}catch(e){throw c(e)}}async signMessage({message:t}){try{let a=await this.getWalletconnectProvider(),n=await this.getAccount(),e=this.chainMethodMap(this.chainType).signWcMessage;return await e({provider:a,message:t,address:n})}catch(a){throw c(a)}}async signTypedData({message:t}){let a=await h(),{provider:n}=a,e=await this.getAccount();return await n?.request({method:"eth_signTypedData",params:[e,JSON.stringify(t)]})}async getChainId(){if(this.chainType===i.EVM){let t=await this.getWalletconnectProvider(),a=await d.getChainId({provider:t});return await m(a)}return this.chainType}async setChainType({chainType:t,chainId:a}){let n=t||t==0?t:p(a);this.chainType=n}getSolanaConnection(){return this.solana.getSolanaConnection()}async getLatestBlockhash(){let t=await this.getAccount();return await this.solana.getLatestBlockhash({from:t})}async switchNetwork({chain:t}){if(await this.getChainId()===t)return!0;let n=await y(t);try{let e=await h(),{provider:s}=e;return await s?.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${parseInt(n).toString(16)}`}]}),!0}catch(e){return console.log(e),!1}}async signAllTransactions({transactions:t}){let a=await this.getWalletconnectProvider(),n=await this.getAccount(),e=t.map(s=>this.solana.signWcTransaction({provider:a,payload:{transaction:s},address:n}));try{return await Promise.all(e)}catch(s){throw console.log(s),c(s)}}async sendCustomTransaction(t,a){try{let n=await g(),{sendCustomTransaction:e=()=>{}}=n||{},s=await e(t);return a&&a(s),s}catch(n){throw c(n)}}async okxAppCancelApprove({abi:t,addr:a,operatorAddr:n,cb:e,options:s}){try{let r=await this.getAccount(),o=await this.getWeb3(),A=new o.eth.Contract(t,a),I={from:r,to:a,data:A.methods.approve(n,0).encodeABI()};return await this.sendCustomTransaction({...I,...s},e)}catch(r){throw c(r)}}async getAllChainTypeInfoList(){let t=await this.getAccount(),a=await this.getChainId();return[{address:t,chainType:i.EVM,chainId:a}]}async depositWToken({wTokenAddr:t,wTokenAbi:a,amount:n,cb:e}){let s=await this.getAccount(),r=await this.getWeb3(),o=d.depositWToken({wTokenAddr:t,wTokenAbi:a,amount:n,account:s,web3:r});return this.sendTransaction({payload:o,cb:e})}async withdrawWToken({wTokenAddr:t,wTokenAbi:a,amount:n,cb:e}){let s=await this.getAccount(),r=await this.getWeb3(),o=d.withdrawWToken({wTokenAddr:t,wTokenAbi:a,amount:n,account:s,web3:r});return this.sendTransaction({payload:o,cb:e})}};export{C as WalletConnectAdapter};
|
|
|
|
window.inOKXExtension = true;
|
|
window.inMiniApp = false;
|
|
window.ASSETS_BUILD_TYPE = "publish";
|
|
|
|
//# sourceMappingURL=WalletConnectAdapter-UXAIURIU.js.map
|