diff --git a/.env.dev b/.env.dev index fbf9c74..14a6c3f 100644 --- a/.env.dev +++ b/.env.dev @@ -13,4 +13,4 @@ VUE_APP_MKT_API='https://market-test.kingsome.cn' VUE_APP_NET_ID='13473' VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34' VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39' -VUE_APP_LOCKER_ADDRESS='0x59e751c2037B710090035B6ea928e0cce80aC03f' \ No newline at end of file +VUE_APP_LOCKER_ADDRESS='0xa83e7F65027aE1a8D0687A87dd157394F03456c0' \ No newline at end of file diff --git a/src/components/chain/BlockChain.js b/src/components/chain/BlockChain.js index 7644b72..6e8d8f1 100644 --- a/src/components/chain/BlockChain.js +++ b/src/components/chain/BlockChain.js @@ -8,6 +8,7 @@ import {isTokenExpired, genRefreshToken, cfgChainId, switchEthereumChain} from " import {ImtblMarket} from "@/components/chain/Market"; import { ALL_PROVIDERS } from "@/configs/configchain"; import {Locker} from "@/components/chain/contract/Locker"; +import ConfirmDialog from "@/components/Dialogs/confirmDialog.vue"; export const allProviders = { @@ -65,6 +66,10 @@ export class BlockChain { } } this.store.address = accounts[0]; + if (this.store.walletType == 3) { + this.store.passportAddress = accounts[0]; + this.passportProvider = provider; + } this.store.$persist(); this.market.updateProvider(provider); return provider; @@ -93,6 +98,9 @@ export class BlockChain { this.store.walletType = result.wallet; this.wallet = new allProviders[result.wallet](); await this.updateInfo(result) + if (result.wallet !== 3 && this.store.passportAddress) { + await this.appendPassport(); + } return result.provider } else { console.log(`select result : ${result.errmsg}`); @@ -100,10 +108,21 @@ export class BlockChain { } } + async appendPassport() { + if (this.store.walletType == 3) { + return; + } + let wallet = new PassportWallet(); + const { provider, accounts } = await wallet.web3Provider(); + this.passportProvider = provider; + this.store.passportAddress = accounts[0]; + this.store.$persist(); + } + async token() { const suffix = (this.store.walletType == 2 || this.store.walletType == 1) ? '.cf' : '' let token = this.store.token; - if (!suffix) { + if (!suffix && this.store.walletType == 3) { const res = await this.wallet.getAccessToken(); token = res.token } @@ -112,6 +131,9 @@ export class BlockChain { } async logout() { + if (this.store.walletType != 3 && this.passportProvider) { + new PassportWallet().logout(); + } this.store.reset(); this.store.$persist(); await this.wallet.logout(); @@ -131,5 +153,23 @@ export class BlockChain { } } - + async checkPassportLogin() { + let needLogin = false; + if (this.store.walletType != 3) { + if (!this.store.passportAddress) { + needLogin = true; + } + } + if (needLogin) { + const confirmResult = await createModal(ConfirmDialog, { + title: 'Need login to Passport', + message: 'Are you sure you want to login with Passport?' + }).show() + if (confirmResult.errcode) { + console.log('user cancel') + throw new Error('user cancel') + } + await this.appendPassport(); + } + } } diff --git a/src/components/chain/contract/Locker.js b/src/components/chain/contract/Locker.js index 962b78a..f334a6e 100644 --- a/src/components/chain/contract/Locker.js +++ b/src/components/chain/contract/Locker.js @@ -2,7 +2,7 @@ import { ethers } from 'ethers' const lockAbi = [ - 'function lock(address nft, uint256[] tokenIds) external' + 'function lock(address nft, address to, uint256[] tokenIds) external' ] const erc721Abi = [ @@ -21,8 +21,11 @@ export class Locker { async lock(nft, tokenIds) { // call single method with abi and address console.log('lock nft', nft, tokenIds) + await this.bc.checkPassportLogin(); await this.bc.checkAndChangeChain(); const nftContract = new ethers.Contract(nft, erc721Abi, this.bc.web3Provider.getSigner()) + const address = this.bc.store.passportAddress + console.log('lock', nft, address, tokenIds) for (let tokenId of tokenIds) { const addressApproval = await nftContract.getApproved(tokenId) if ((addressApproval || "").toLowerCase() != lockAddress.toLowerCase()) { @@ -31,8 +34,9 @@ export class Locker { console.debug('approve', resApproval.hash) } } + const contract = new ethers.Contract(lockAddress, lockAbi, this.bc.web3Provider.getSigner()) - const res = await contract.lock(nft, tokenIds) + const res = await contract.lock(nft, address, tokenIds) await this.bc.web3Provider.waitForTransaction(res.hash) return res.hash } diff --git a/src/configs/configchain.js b/src/configs/configchain.js index a3a2006..c705218 100644 --- a/src/configs/configchain.js +++ b/src/configs/configchain.js @@ -1,17 +1,17 @@ export const ALL_PROVIDERS = [ - // { - // id: 1, - // name: "MetaMask", - // logo: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1NSIgdmlld0JveD0iMCAwIDM5NyAzNTUiIHdpZHRoPSIzOTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTIuMDA0NzE3IDEzLjgxMDE5OHYtMTguMDU5NDlsNC4yNDUyODMtNC4yNDkyOTJoMjkuNzE2OTgydjIxLjI0NjQ1OSAxNC44NzI1MjNoLTMxLjgzOTYyNGwtMzkuMjY4ODY4LTE2Ljk5NzE2OXoiIGZpbGw9IiNjZGJkYjIiLz48cGF0aCBkPSJtMTk5LjUyODMwNSAzMjcuMTk1NDcyIDUwLjk0MzM5NyAxMy44MTAxOTh2LTE4LjA1OTQ5bDQuMjQ1MjgzLTQuMjQ5MjkyaDI5LjcxNjk4MXYyMS4yNDY0NTkgMTQuODcyNTIzaC0zMS44Mzk2MjNsLTM5LjI2ODg2OC0xNi45OTcxNjl6IiBmaWxsPSIjY2RiZGIyIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSA0ODMuOTYyMjcgMCkiLz48cGF0aCBkPSJtMTcwLjg3MjY0NCAyODcuODg5NTIzLTQuMjQ1MjgzIDM1LjA1NjY1NyA1LjMwNjYwNC00LjI0OTI5Mmg1NS4xODg2OGw2LjM2NzkyNSA0LjI0OTI5Mi00LjI0NTI4NC0zNS4wNTY2NTctOC40OTA1NjUtNS4zMTE2MTUtNDIuNDUyODMyIDEuMDYyMzIzeiIgZmlsbD0iIzM5MzkzOSIvPjxwYXRoIGQ9Im0xNDIuMjE2OTg0IDUwLjk5MTUwMjIgMjUuNDcxNjk4IDU5LjQ5MDA4NTggMTEuNjc0NTI4IDE3My4xNTg2NDNoNDEuMzkxNTExbDEyLjczNTg0OS0xNzMuMTU4NjQzIDIzLjM0OTA1Ni01OS40OTAwODU4eiIgZmlsbD0iI2Y4OWMzNSIvPjxwYXRoIGQ9Im0zMC43NzgzMDIzIDE4MS42NTcyMjYtMjkuNzE2OTgxNTMgODYuMDQ4MTYxIDc0LjI5MjQ1MzkzLTQuMjQ5MjkzaDQ3Ljc1OTQzNDN2LTM3LjE4MTMwM2wtMi4xMjI2NDEtNzYuNDg3MjUzLTEwLjYxMzIwOCA4LjQ5ODU4M3oiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtODcuMDI4MzAzMiAxOTEuMjE4MTM0IDg3LjAyODMwMjggMi4xMjQ2NDYtOS41NTE4ODYgNDQuNjE3NTYzLTQxLjM5MTUxMS0xMC42MjMyMjl6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkyLjI4MDQ1NyAzNi4wODQ5MDU4IDMzLjk5NDMzNHYzMy45OTQzMzR6IiBmaWxsPSIjZWE4ZDNhIi8+PHBhdGggZD0ibTEyMy4xMTMyMDkgMjI3LjMzNzExNCA0Mi40NTI4MzEgMTAuNjIzMjI5IDEzLjc5NzE3IDQ1LjY3OTg4OC05LjU1MTg4NiA1LjMxMTYxNS00Ni42OTgxMTUtMjcuNjIwMzk4eiIgZmlsbD0iI2Y4OWQzNSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDI2MS4zMzE0NDgtOC40OTA1NjUgNjUuODY0MDI0IDU2LjI1LTM5LjMwNTk0OXoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTc0LjA1NjYwNiAxOTMuMzQyNzggNS4zMDY2MDQgOTAuMjk3NDUxLTE1LjkxOTgxMi00Ni4yMTEwNDl6IiBmaWxsPSIjZWE4ZTNhIi8+PHBhdGggZD0ibTc0LjI5MjQ1MzkgMjYyLjM5Mzc3MSA0OC44MjA3NTUxLTEuMDYyMzIzLTguNDkwNTY1IDY1Ljg2NDAyNHoiIGZpbGw9IiNkODdjMzAiLz48cGF0aCBkPSJtMjQuNDEwMzc3NyAzNTUuODc4MTkzIDkwLjIxMjI2NjMtMjguNjgyNzIxLTQwLjMzMDE5MDEtNjQuODAxNzAxLTczLjIzMTEzMzEzIDUuMzExNjE2eiIgZmlsbD0iI2ViOGYzNSIvPjxwYXRoIGQ9Im0xNjcuNjg4NjgyIDExMC40ODE1ODgtNDUuNjM2NzkzIDM4LjI0MzYyNy0zNS4wMjM1ODU4IDQyLjQ5MjkxOSA4Ny4wMjgzMDI4IDMuMTg2OTY5eiIgZmlsbD0iI2U4ODIxZSIvPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTYuMjUtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIvPjxwYXRoIGQ9Im0yMjkuMjQ1Mjg2IDMyNy4xOTU0NzIgNTUuMTg4NjgtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNTEzLjY3OTI1MiAwKSIvPjxwYXRoIGQ9Im0xMzIuNjY1MDk2IDIxMi40NjQ1OTMtMTEuNjc0NTI4IDI0LjQzMzQyNyA0MS4zOTE1MS0xMC42MjMyMjl6IiBmaWxsPSIjMzkzOTM5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAyODMuMzcyNjQ2IDApIi8+PHBhdGggZD0ibTIzLjM0OTA1NyAxLjA2MjMyMjk2IDE0NC4zMzk2MjUgMTA5LjQxOTI2NTA0LTI0LjQxMDM3OC01OS40OTAwODU4eiIgZmlsbD0iI2U4OGYzNSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5Ni0xOS4xMDM3NzM5MiA1OC40Mjc3NjI5NCAxMC42MTMyMDc3MiA2My43MzkzNzgxLTcuNDI5MjQ1NDEgNC4yNDkyOTIgMTAuNjEzMjA3NzEgOS41NjA5MDYtOC40OTA1NjYxNyA3LjQzNjI2MSAxMS42NzQ1Mjg0NyAxMC42MjMyMjktNy40MjkyNDU0IDYuMzczOTM4IDE2Ljk4MTEzMjMgMjEuMjQ2NDU5IDc5LjU5OTA1NzctMjQuNDMzNDI4YzM4LjkxNTA5Ni0zMS4xNjE0NzMgNTguMDE4ODY5LTQ3LjA5NjMxOCA1Ny4zMTEzMjItNDcuODA0NTMzLS43MDc1NDgtLjcwODIxNS00OC44MjA3NTYtMzcuMTgxMzAzNi0xNDQuMzM5NjI1LTEwOS40MTkyNjUwNHoiIGZpbGw9IiM4ZTVhMzAiLz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAzOTkuMDU2NjExIDApIj48cGF0aCBkPSJtMzAuNzc4MzAyMyAxODEuNjU3MjI2LTI5LjcxNjk4MTUzIDg2LjA0ODE2MSA3NC4yOTI0NTM5My00LjI0OTI5M2g0Ny43NTk0MzQzdi0zNy4xODEzMDNsLTIuMTIyNjQxLTc2LjQ4NzI1My0xMC42MTMyMDggOC40OTg1ODN6IiBmaWxsPSIjZjg5ZDM1Ii8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkxLjIxODEzNCA4Ny4wMjgzMDI4IDIuMTI0NjQ2LTkuNTUxODg2IDQ0LjYxNzU2My00MS4zOTE1MTEtMTAuNjIzMjI5eiIgZmlsbD0iI2Q4N2MzMCIvPjxwYXRoIGQ9Im04Ny4wMjgzMDMyIDE5Mi4yODA0NTcgMzYuMDg0OTA1OCAzMy45OTQzMzR2MzMuOTk0MzM0eiIgZmlsbD0iI2VhOGQzYSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDIyNy4zMzcxMTQgNDIuNDUyODMxIDEwLjYyMzIyOSAxMy43OTcxNyA0NS42Nzk4ODgtOS41NTE4ODYgNS4zMTE2MTUtNDYuNjk4MTE1LTI3LjYyMDM5OHoiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtMTIzLjExMzIwOSAyNjEuMzMxNDQ4LTguNDkwNTY1IDY1Ljg2NDAyNCA1NS4xODg2OC0zOC4yNDM2MjZ6IiBmaWxsPSIjZWI4ZjM1Ii8+PHBhdGggZD0ibTE3NC4wNTY2MDYgMTkzLjM0Mjc4IDUuMzA2NjA0IDkwLjI5NzQ1MS0xNS45MTk4MTItNDYuMjExMDQ5eiIgZmlsbD0iI2VhOGUzYSIvPjxwYXRoIGQ9Im03NC4yOTI0NTM5IDI2Mi4zOTM3NzEgNDguODIwNzU1MS0xLjA2MjMyMy04LjQ5MDU2NSA2NS44NjQwMjR6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTI0LjQxMDM3NzcgMzU1Ljg3ODE5MyA5MC4yMTIyNjYzLTI4LjY4MjcyMS00MC4zMzAxOTAxLTY0LjgwMTcwMS03My4yMzExMzMxMyA1LjMxMTYxNnoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTY3LjY4ODY4MiAxMTAuNDgxNTg4LTQ1LjYzNjc5MyAzOC4yNDM2MjctMzUuMDIzNTg1OCA0Mi40OTI5MTkgODcuMDI4MzAyOCAzLjE4Njk2OXoiIGZpbGw9IiNlODgyMWUiLz48cGF0aCBkPSJtMTMyLjY2NTA5NiAyMTIuNDY0NTkzLTExLjY3NDUyOCAyNC40MzM0MjcgNDEuMzkxNTEtMTAuNjIzMjI5eiIgZmlsbD0iIzM5MzkzOSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMjgzLjM3MjY0NiAwKSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5NiAxNDQuMzM5NjI1IDEwOS40MTkyNjUwNC0yNC40MTAzNzgtNTkuNDkwMDg1OHoiIGZpbGw9IiNlODhmMzUiLz48cGF0aCBkPSJtMjMuMzQ5MDU3IDEuMDYyMzIyOTYtMTkuMTAzNzczOTIgNTguNDI3NzYyOTQgMTAuNjEzMjA3NzIgNjMuNzM5Mzc4MS03LjQyOTI0NTQxIDQuMjQ5MjkyIDEwLjYxMzIwNzcxIDkuNTYwOTA2LTguNDkwNTY2MTcgNy40MzYyNjEgMTEuNjc0NTI4NDcgMTAuNjIzMjI5LTcuNDI5MjQ1NCA2LjM3MzkzOCAxNi45ODExMzIzIDIxLjI0NjQ1OSA3OS41OTkwNTc3LTI0LjQzMzQyOGMzOC45MTUwOTYtMzEuMTYxNDczIDU4LjAxODg2OS00Ny4wOTYzMTggNTcuMzExMzIyLTQ3LjgwNDUzMy0uNzA3NTQ4LS43MDgyMTUtNDguODIwNzU2LTM3LjE4MTMwMzYtMTQ0LjMzOTYyNS0xMDkuNDE5MjY1MDR6IiBmaWxsPSIjOGU1YTMwIi8+PC9nPjwvZz48L3N2Zz4=", - // desc: "Connect to your MetaMask Wallet", - // }, - // { - // id: 2, - // name: "OKX", - // logo: "data:image/png;base64,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", - // desc: "Connect to your OKX Wallet", - // }, + { + id: 1, + name: "MetaMask", + logo: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1NSIgdmlld0JveD0iMCAwIDM5NyAzNTUiIHdpZHRoPSIzOTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTIuMDA0NzE3IDEzLjgxMDE5OHYtMTguMDU5NDlsNC4yNDUyODMtNC4yNDkyOTJoMjkuNzE2OTgydjIxLjI0NjQ1OSAxNC44NzI1MjNoLTMxLjgzOTYyNGwtMzkuMjY4ODY4LTE2Ljk5NzE2OXoiIGZpbGw9IiNjZGJkYjIiLz48cGF0aCBkPSJtMTk5LjUyODMwNSAzMjcuMTk1NDcyIDUwLjk0MzM5NyAxMy44MTAxOTh2LTE4LjA1OTQ5bDQuMjQ1MjgzLTQuMjQ5MjkyaDI5LjcxNjk4MXYyMS4yNDY0NTkgMTQuODcyNTIzaC0zMS44Mzk2MjNsLTM5LjI2ODg2OC0xNi45OTcxNjl6IiBmaWxsPSIjY2RiZGIyIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSA0ODMuOTYyMjcgMCkiLz48cGF0aCBkPSJtMTcwLjg3MjY0NCAyODcuODg5NTIzLTQuMjQ1MjgzIDM1LjA1NjY1NyA1LjMwNjYwNC00LjI0OTI5Mmg1NS4xODg2OGw2LjM2NzkyNSA0LjI0OTI5Mi00LjI0NTI4NC0zNS4wNTY2NTctOC40OTA1NjUtNS4zMTE2MTUtNDIuNDUyODMyIDEuMDYyMzIzeiIgZmlsbD0iIzM5MzkzOSIvPjxwYXRoIGQ9Im0xNDIuMjE2OTg0IDUwLjk5MTUwMjIgMjUuNDcxNjk4IDU5LjQ5MDA4NTggMTEuNjc0NTI4IDE3My4xNTg2NDNoNDEuMzkxNTExbDEyLjczNTg0OS0xNzMuMTU4NjQzIDIzLjM0OTA1Ni01OS40OTAwODU4eiIgZmlsbD0iI2Y4OWMzNSIvPjxwYXRoIGQ9Im0zMC43NzgzMDIzIDE4MS42NTcyMjYtMjkuNzE2OTgxNTMgODYuMDQ4MTYxIDc0LjI5MjQ1MzkzLTQuMjQ5MjkzaDQ3Ljc1OTQzNDN2LTM3LjE4MTMwM2wtMi4xMjI2NDEtNzYuNDg3MjUzLTEwLjYxMzIwOCA4LjQ5ODU4M3oiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtODcuMDI4MzAzMiAxOTEuMjE4MTM0IDg3LjAyODMwMjggMi4xMjQ2NDYtOS41NTE4ODYgNDQuNjE3NTYzLTQxLjM5MTUxMS0xMC42MjMyMjl6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkyLjI4MDQ1NyAzNi4wODQ5MDU4IDMzLjk5NDMzNHYzMy45OTQzMzR6IiBmaWxsPSIjZWE4ZDNhIi8+PHBhdGggZD0ibTEyMy4xMTMyMDkgMjI3LjMzNzExNCA0Mi40NTI4MzEgMTAuNjIzMjI5IDEzLjc5NzE3IDQ1LjY3OTg4OC05LjU1MTg4NiA1LjMxMTYxNS00Ni42OTgxMTUtMjcuNjIwMzk4eiIgZmlsbD0iI2Y4OWQzNSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDI2MS4zMzE0NDgtOC40OTA1NjUgNjUuODY0MDI0IDU2LjI1LTM5LjMwNTk0OXoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTc0LjA1NjYwNiAxOTMuMzQyNzggNS4zMDY2MDQgOTAuMjk3NDUxLTE1LjkxOTgxMi00Ni4yMTEwNDl6IiBmaWxsPSIjZWE4ZTNhIi8+PHBhdGggZD0ibTc0LjI5MjQ1MzkgMjYyLjM5Mzc3MSA0OC44MjA3NTUxLTEuMDYyMzIzLTguNDkwNTY1IDY1Ljg2NDAyNHoiIGZpbGw9IiNkODdjMzAiLz48cGF0aCBkPSJtMjQuNDEwMzc3NyAzNTUuODc4MTkzIDkwLjIxMjI2NjMtMjguNjgyNzIxLTQwLjMzMDE5MDEtNjQuODAxNzAxLTczLjIzMTEzMzEzIDUuMzExNjE2eiIgZmlsbD0iI2ViOGYzNSIvPjxwYXRoIGQ9Im0xNjcuNjg4NjgyIDExMC40ODE1ODgtNDUuNjM2NzkzIDM4LjI0MzYyNy0zNS4wMjM1ODU4IDQyLjQ5MjkxOSA4Ny4wMjgzMDI4IDMuMTg2OTY5eiIgZmlsbD0iI2U4ODIxZSIvPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTYuMjUtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIvPjxwYXRoIGQ9Im0yMjkuMjQ1Mjg2IDMyNy4xOTU0NzIgNTUuMTg4NjgtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNTEzLjY3OTI1MiAwKSIvPjxwYXRoIGQ9Im0xMzIuNjY1MDk2IDIxMi40NjQ1OTMtMTEuNjc0NTI4IDI0LjQzMzQyNyA0MS4zOTE1MS0xMC42MjMyMjl6IiBmaWxsPSIjMzkzOTM5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAyODMuMzcyNjQ2IDApIi8+PHBhdGggZD0ibTIzLjM0OTA1NyAxLjA2MjMyMjk2IDE0NC4zMzk2MjUgMTA5LjQxOTI2NTA0LTI0LjQxMDM3OC01OS40OTAwODU4eiIgZmlsbD0iI2U4OGYzNSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5Ni0xOS4xMDM3NzM5MiA1OC40Mjc3NjI5NCAxMC42MTMyMDc3MiA2My43MzkzNzgxLTcuNDI5MjQ1NDEgNC4yNDkyOTIgMTAuNjEzMjA3NzEgOS41NjA5MDYtOC40OTA1NjYxNyA3LjQzNjI2MSAxMS42NzQ1Mjg0NyAxMC42MjMyMjktNy40MjkyNDU0IDYuMzczOTM4IDE2Ljk4MTEzMjMgMjEuMjQ2NDU5IDc5LjU5OTA1NzctMjQuNDMzNDI4YzM4LjkxNTA5Ni0zMS4xNjE0NzMgNTguMDE4ODY5LTQ3LjA5NjMxOCA1Ny4zMTEzMjItNDcuODA0NTMzLS43MDc1NDgtLjcwODIxNS00OC44MjA3NTYtMzcuMTgxMzAzNi0xNDQuMzM5NjI1LTEwOS40MTkyNjUwNHoiIGZpbGw9IiM4ZTVhMzAiLz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAzOTkuMDU2NjExIDApIj48cGF0aCBkPSJtMzAuNzc4MzAyMyAxODEuNjU3MjI2LTI5LjcxNjk4MTUzIDg2LjA0ODE2MSA3NC4yOTI0NTM5My00LjI0OTI5M2g0Ny43NTk0MzQzdi0zNy4xODEzMDNsLTIuMTIyNjQxLTc2LjQ4NzI1My0xMC42MTMyMDggOC40OTg1ODN6IiBmaWxsPSIjZjg5ZDM1Ii8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkxLjIxODEzNCA4Ny4wMjgzMDI4IDIuMTI0NjQ2LTkuNTUxODg2IDQ0LjYxNzU2My00MS4zOTE1MTEtMTAuNjIzMjI5eiIgZmlsbD0iI2Q4N2MzMCIvPjxwYXRoIGQ9Im04Ny4wMjgzMDMyIDE5Mi4yODA0NTcgMzYuMDg0OTA1OCAzMy45OTQzMzR2MzMuOTk0MzM0eiIgZmlsbD0iI2VhOGQzYSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDIyNy4zMzcxMTQgNDIuNDUyODMxIDEwLjYyMzIyOSAxMy43OTcxNyA0NS42Nzk4ODgtOS41NTE4ODYgNS4zMTE2MTUtNDYuNjk4MTE1LTI3LjYyMDM5OHoiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtMTIzLjExMzIwOSAyNjEuMzMxNDQ4LTguNDkwNTY1IDY1Ljg2NDAyNCA1NS4xODg2OC0zOC4yNDM2MjZ6IiBmaWxsPSIjZWI4ZjM1Ii8+PHBhdGggZD0ibTE3NC4wNTY2MDYgMTkzLjM0Mjc4IDUuMzA2NjA0IDkwLjI5NzQ1MS0xNS45MTk4MTItNDYuMjExMDQ5eiIgZmlsbD0iI2VhOGUzYSIvPjxwYXRoIGQ9Im03NC4yOTI0NTM5IDI2Mi4zOTM3NzEgNDguODIwNzU1MS0xLjA2MjMyMy04LjQ5MDU2NSA2NS44NjQwMjR6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTI0LjQxMDM3NzcgMzU1Ljg3ODE5MyA5MC4yMTIyNjYzLTI4LjY4MjcyMS00MC4zMzAxOTAxLTY0LjgwMTcwMS03My4yMzExMzMxMyA1LjMxMTYxNnoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTY3LjY4ODY4MiAxMTAuNDgxNTg4LTQ1LjYzNjc5MyAzOC4yNDM2MjctMzUuMDIzNTg1OCA0Mi40OTI5MTkgODcuMDI4MzAyOCAzLjE4Njk2OXoiIGZpbGw9IiNlODgyMWUiLz48cGF0aCBkPSJtMTMyLjY2NTA5NiAyMTIuNDY0NTkzLTExLjY3NDUyOCAyNC40MzM0MjcgNDEuMzkxNTEtMTAuNjIzMjI5eiIgZmlsbD0iIzM5MzkzOSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMjgzLjM3MjY0NiAwKSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5NiAxNDQuMzM5NjI1IDEwOS40MTkyNjUwNC0yNC40MTAzNzgtNTkuNDkwMDg1OHoiIGZpbGw9IiNlODhmMzUiLz48cGF0aCBkPSJtMjMuMzQ5MDU3IDEuMDYyMzIyOTYtMTkuMTAzNzczOTIgNTguNDI3NzYyOTQgMTAuNjEzMjA3NzIgNjMuNzM5Mzc4MS03LjQyOTI0NTQxIDQuMjQ5MjkyIDEwLjYxMzIwNzcxIDkuNTYwOTA2LTguNDkwNTY2MTcgNy40MzYyNjEgMTEuNjc0NTI4NDcgMTAuNjIzMjI5LTcuNDI5MjQ1NCA2LjM3MzkzOCAxNi45ODExMzIzIDIxLjI0NjQ1OSA3OS41OTkwNTc3LTI0LjQzMzQyOGMzOC45MTUwOTYtMzEuMTYxNDczIDU4LjAxODg2OS00Ny4wOTYzMTggNTcuMzExMzIyLTQ3LjgwNDUzMy0uNzA3NTQ4LS43MDgyMTUtNDguODIwNzU2LTM3LjE4MTMwMzYtMTQ0LjMzOTYyNS0xMDkuNDE5MjY1MDR6IiBmaWxsPSIjOGU1YTMwIi8+PC9nPjwvZz48L3N2Zz4=", + desc: "Connect to your MetaMask Wallet", + }, + { + id: 2, + name: "OKX", + logo: "data:image/png;base64,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", + desc: "Connect to your OKX Wallet", + }, { id: 3, name: "Passport", diff --git a/src/store/wallet.js b/src/store/wallet.js index d7428db..9c3068d 100644 --- a/src/store/wallet.js +++ b/src/store/wallet.js @@ -9,6 +9,8 @@ export const walletStore = defineStore( const chainId = ref(); const token = ref(); const refreshToken = ref(); + const passportAddress = ref(); + const showAddress = computed(() => { if (address.value.length > 10) { @@ -22,11 +24,13 @@ export const walletStore = defineStore( address.value = ''; chainId.value = ''; token.value = ''; + passportAddress.value = ''; refreshToken.value = ''; } return { walletType, address, + passportAddress, chainId, token, refreshToken,