贡献值已完成
This commit is contained in:
parent
6f2cd47476
commit
1a8f90a5e5
1
.env.dev
1
.env.dev
@ -15,6 +15,7 @@ VUE_APP_NET_ID='13473'
|
|||||||
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
||||||
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
||||||
VUE_APP_LOCKER_ADDRESS='0xC8607507451059CfAe6Ca4D07EC6f631ce8ef9f9'
|
VUE_APP_LOCKER_ADDRESS='0xC8607507451059CfAe6Ca4D07EC6f631ce8ef9f9'
|
||||||
|
VUE_APP_FOUNDER_ADDRESS='0x7f2b4db626d878778e178b4f0c7ba3a2870c6dd0'
|
||||||
VUE_APP_EXPLORER_URL='https://explorer.testnet.immutable.com'
|
VUE_APP_EXPLORER_URL='https://explorer.testnet.immutable.com'
|
||||||
VUE_APP_PRODUCTION=sandbox
|
VUE_APP_PRODUCTION=sandbox
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ VUE_APP_NET_ID='13473'
|
|||||||
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
|
||||||
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
||||||
VUE_APP_LOCKER_ADDRESS='0xC8607507451059CfAe6Ca4D07EC6f631ce8ef9f9'
|
VUE_APP_LOCKER_ADDRESS='0xC8607507451059CfAe6Ca4D07EC6f631ce8ef9f9'
|
||||||
|
VUE_APP_FOUNDER_ADDRESS='0x7f2b4db626d878778e178b4f0c7ba3a2870c6dd0'
|
||||||
VUE_APP_EXPLORER_URL='https://explorer.testnet.immutable.com'
|
VUE_APP_EXPLORER_URL='https://explorer.testnet.immutable.com'
|
||||||
VUE_APP_PRODUCTION=sandbox
|
VUE_APP_PRODUCTION=sandbox
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ VUE_APP_NET_ID='13371'
|
|||||||
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
|
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
|
||||||
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
||||||
VUE_APP_LOCKER_ADDRESS='0x2034e51e1a24f8b488610aBBDCc74F3e0cA833df'
|
VUE_APP_LOCKER_ADDRESS='0x2034e51e1a24f8b488610aBBDCc74F3e0cA833df'
|
||||||
|
VUE_APP_FOUNDER_ADDRESS='0x7f2b4db626d878778e178b4f0c7ba3a2870c6dd0'
|
||||||
VUE_APP_EXPLORER_URL='https://explorer.immutable.com'
|
VUE_APP_EXPLORER_URL='https://explorer.immutable.com'
|
||||||
VUE_APP_PRODUCTION=production
|
VUE_APP_PRODUCTION=production
|
||||||
|
|
||||||
|
@ -15,5 +15,6 @@ VUE_APP_NET_ID='13371'
|
|||||||
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
|
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
|
||||||
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'
|
||||||
VUE_APP_LOCKER_ADDRESS='0x2034e51e1a24f8b488610aBBDCc74F3e0cA833df'
|
VUE_APP_LOCKER_ADDRESS='0x2034e51e1a24f8b488610aBBDCc74F3e0cA833df'
|
||||||
|
VUE_APP_FOUNDER_ADDRESS='0x7f2b4db626d878778e178b4f0c7ba3a2870c6dd0'
|
||||||
VUE_APP_EXPLORER_URL='https://explorer.immutable.com'
|
VUE_APP_EXPLORER_URL='https://explorer.immutable.com'
|
||||||
VUE_APP_PRODUCTION=production
|
VUE_APP_PRODUCTION=production
|
BIN
src/assets/img/marketplace/hero/Golden_GIF.gif
Normal file
BIN
src/assets/img/marketplace/hero/Golden_GIF.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 MiB |
BIN
src/assets/img/marketplace/hero/Normal_GIF.gif
Normal file
BIN
src/assets/img/marketplace/hero/Normal_GIF.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 MiB |
BIN
src/assets/img/marketplace/hero/Purple_GIF.gif
Normal file
BIN
src/assets/img/marketplace/hero/Purple_GIF.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 MiB |
@ -8,8 +8,8 @@
|
|||||||
<div class="assets-user-name">
|
<div class="assets-user-name">
|
||||||
<div>{{ localWalletStore.showAddress ? localWalletStore.showAddress : 'User Address' }}</div>
|
<div>{{ localWalletStore.showAddress ? localWalletStore.showAddress : 'User Address' }}</div>
|
||||||
<div class="total">
|
<div class="total">
|
||||||
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
|
||||||
<p>Total Contribution Credits: {{ contributionPointTotal }}</p>
|
<p>Total Contribution Credits: {{ contributionPointTotal }}</p>
|
||||||
|
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="day">
|
<div class="day">
|
||||||
<p>Daily Expected: <span>+{{ contributionPoint }}/d</span></p>
|
<p>Daily Expected: <span>+{{ contributionPoint }}/d</span></p>
|
||||||
@ -72,6 +72,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<span v-if="item.desc == 'uaw'">Hill's Treasure Hunt</span>
|
<span v-if="item.desc == 'uaw'">Hill's Treasure Hunt</span>
|
||||||
<span v-else-if="item.desc == 'p2a'">Wheel of Fortune</span>
|
<span v-else-if="item.desc == 'p2a'">Wheel of Fortune</span>
|
||||||
|
<span v-else-if="item.desc == 'game test parse 1'">P2E Season 1</span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{{ item.earnTime }}
|
{{ item.earnTime }}
|
||||||
@ -448,7 +449,7 @@ onMounted(() => {
|
|||||||
img {
|
img {
|
||||||
width: 27px;
|
width: 27px;
|
||||||
height: 23px;
|
height: 23px;
|
||||||
margin-right: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.day {
|
.day {
|
||||||
|
@ -25,21 +25,18 @@
|
|||||||
</span>
|
</span>
|
||||||
<img :src="icon" alt="">
|
<img :src="icon" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()">
|
<div v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase() || FOUNDER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()">
|
||||||
<span class="expected">+{{contribution(nftData.detail.quality)}}/d</span>
|
<span class="expected" v-if="nftData.type == 13">+{{contribution(nftData.quality, nftData.type)}}/d</span>
|
||||||
|
<span class="expected" v-if="nftData.type == 1 || nftData.type == 12">+{{contribution(nftData.detail.quality, nftData.type)}}/d</span>
|
||||||
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()" class="link-staking" @click="unStake(nftData)">
|
<div v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase() || FOUNDER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()" class="link-staking" @click="unStake(nftData)">
|
||||||
<img src="@/assets/img/marketplace/Staking.png" alt="">
|
<img src="@/assets/img/marketplace/Staking.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-if="LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase() && nftData.type == 11 && nftData.on_sale == 0" class="enabled" @click="lockToGame('redeem')">
|
|
||||||
Redeem
|
|
||||||
</div> -->
|
|
||||||
<div v-if="LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase() && (nftData.type == 1 || nftData.type == 12) && nftData.on_sale == 0" class="link-below" @click="lockToGame('convert')">
|
<div v-if="LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase() && (nftData.type == 1 || nftData.type == 12) && nftData.on_sale == 0" class="link-below" @click="lockToGame('convert')">
|
||||||
Stake
|
Stake
|
||||||
</div>
|
</div>
|
||||||
<!-- <div>{{ nftData.owner_address.substr(0,6) }}...{{ nftData.owner_address.substr(-6) }}</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-btn" v-if="nftData.type != 13 && LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase()">
|
<div class="card-btn" v-if="nftData.type != 13 && LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase()">
|
||||||
@ -47,8 +44,8 @@
|
|||||||
<div class="card-cancel" v-if="nftData.on_sale == 1" @click="cancelNft(nftData)">Cancel listing</div>
|
<div class="card-cancel" v-if="nftData.on_sale == 1" @click="cancelNft(nftData)">Cancel listing</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-btn" v-else>
|
<div class="card-btn" v-else>
|
||||||
<div class="card-cancel" v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()" @click="unStake(nftData)">Unstake</div>
|
<div class="card-cancel" v-if="LOCKER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase() || FOUNDER_ADDRESS.toLowerCase() == nftData.owner_address.toLowerCase()" @click="unStake(nftData)">Unstake</div>
|
||||||
<div class="card-sell" v-if="LOCKER_ADDRESS.toLowerCase() != nftData.owner_address.toLowerCase()" @click="lockToGame('founder')">Stake</div>
|
<div class="card-sell" v-else @click="lockToGame('founder')">Stake</div>
|
||||||
</div>
|
</div>
|
||||||
<SellDialog :sellDialogVisible="sellDialogVisible" :floorPrice="floorPrice" :sellDataArr="sellDataArr" @handleClose="sellHandleClose" />
|
<SellDialog :sellDialogVisible="sellDialogVisible" :floorPrice="floorPrice" :sellDataArr="sellDataArr" @handleClose="sellHandleClose" />
|
||||||
<LoadingDialog :loadingDialogVisible="loadingDialogVisible" />
|
<LoadingDialog :loadingDialogVisible="loadingDialogVisible" />
|
||||||
@ -84,6 +81,7 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
const LOCKER_ADDRESS = ref(import.meta.env.VUE_APP_LOCKER_ADDRESS)
|
const LOCKER_ADDRESS = ref(import.meta.env.VUE_APP_LOCKER_ADDRESS)
|
||||||
|
const FOUNDER_ADDRESS = ref(import.meta.env.VUE_APP_FOUNDER_ADDRESS)
|
||||||
|
|
||||||
// 获取地板价
|
// 获取地板价
|
||||||
const floorPrice = ref('0')
|
const floorPrice = ref('0')
|
||||||
@ -225,35 +223,64 @@ const cardPrice = async (val) => {
|
|||||||
|
|
||||||
// 赎回
|
// 赎回
|
||||||
const unStake = async (data) => {
|
const unStake = async (data) => {
|
||||||
console.log(marketplaceStore.userGold)
|
|
||||||
if(marketplaceStore.userGold < 0) {
|
if(marketplaceStore.userGold < 0) {
|
||||||
const confirmResult = await createModal(ConfirmDialog, {
|
const confirmResult = await createModal(ConfirmDialog, {
|
||||||
title: '',
|
title: '',
|
||||||
message: 'Unstake Failed - Negative in-game gold balance. Please adjust your balance to continue.'
|
message: 'Unstake Failed - Negative in-game gold balance. Please adjust your balance to continue.'
|
||||||
}).show()
|
}).show()
|
||||||
} else {
|
} else {
|
||||||
try {
|
if(toRaw(data).type == 13) {
|
||||||
const bc = new BlockChain()
|
founderLock(toRaw(data))
|
||||||
let res = await bc.locker.unlockOrMintGameNft(toRaw(data).contract_address,[toRaw(data).token_id])
|
} else if(toRaw(data).type == 1 || toRaw(data).type == 12) {
|
||||||
if(res) {
|
heroLock(data)
|
||||||
let timer = setTimeout(() => {
|
|
||||||
message.success('Unstake success.')
|
|
||||||
emit('renewMyNft')
|
|
||||||
clearTimeout(timer);
|
|
||||||
}, 2000);
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e)
|
|
||||||
if(e.message.indexOf('rejected') > -1) {
|
|
||||||
message.error('User rejected the request')
|
|
||||||
} else if (e.message.indexOf('select wallet') > -1) {
|
|
||||||
message.error('user cancel select wallet')
|
|
||||||
} else {
|
|
||||||
message.error('Unstake fail')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const heroLock = async (data) => {
|
||||||
|
try {
|
||||||
|
const bc = new BlockChain()
|
||||||
|
let res = await bc.locker.unlockOrMintGameNft(toRaw(data).contract_address,[toRaw(data).token_id])
|
||||||
|
if(res) {
|
||||||
|
let timer = setTimeout(() => {
|
||||||
|
message.success('Unstake success.')
|
||||||
|
emit('renewMyNft')
|
||||||
|
clearTimeout(timer);
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
if(e.message.indexOf('rejected') > -1) {
|
||||||
|
message.error('User rejected the request')
|
||||||
|
} else if (e.message.indexOf('select wallet') > -1) {
|
||||||
|
message.error('user cancel select wallet')
|
||||||
|
} else {
|
||||||
|
message.error('Unstake fail')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const founderLock = async (data) => {
|
||||||
|
console.log(data)
|
||||||
|
try {
|
||||||
|
const bc = new BlockChain()
|
||||||
|
let res = await bc.locker.unlockMain(toRaw(data).contract_address,[toRaw(data).token_id])
|
||||||
|
if(res) {
|
||||||
|
let timer = setTimeout(() => {
|
||||||
|
message.success('Unstake success.')
|
||||||
|
emit('renewMyNft')
|
||||||
|
clearTimeout(timer);
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
if(e.message.indexOf('rejected') > -1) {
|
||||||
|
message.error('User rejected the request')
|
||||||
|
} else if (e.message.indexOf('select wallet') > -1) {
|
||||||
|
message.error('user cancel select wallet')
|
||||||
|
} else {
|
||||||
|
message.error('Unstake fail')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 去详情页面
|
// 去详情页面
|
||||||
const toDetail = () => {
|
const toDetail = () => {
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="card-img-common">
|
<div class="card-img-common">
|
||||||
<li v-if="props.nftData.type == 13">
|
<li v-if="props.nftData.type == 13">
|
||||||
<LazyLoadImg class="founder" :src="props.nftData.image" :src-placeholder="placeholderImg" alt="图片"/>
|
<img v-if="props.nftData.quality == 1" class="founder" src="@/assets/img/marketplace/hero/Normal_GIF.gif" alt="">
|
||||||
|
<img v-else-if="props.nftData.quality == 2" class="founder" src="@/assets/img/marketplace/hero/Purple_GIF.gif" alt="">
|
||||||
|
<img v-else-if="props.nftData.quality == 3" class="founder" src="@/assets/img/marketplace/hero/Golden_GIF.gif" alt="">
|
||||||
</li>
|
</li>
|
||||||
<li v-else-if="props.nftData.type == 1 || props.nftData.type == 12">
|
<li v-else-if="props.nftData.type == 1 || props.nftData.type == 12">
|
||||||
<LazyLoadImg :src="props.nftData.image" :src-placeholder="placeholderImg" alt="图片"/>
|
<LazyLoadImg :src="props.nftData.image" :src-placeholder="placeholderImg" alt="图片"/>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<a-radio value="0">All</a-radio>
|
<a-radio value="0">All</a-radio>
|
||||||
<a-radio value="1">Listed</a-radio>
|
<a-radio value="1">Listed</a-radio>
|
||||||
<a-radio value="2">Unlisted</a-radio>
|
<a-radio value="2">Unlisted</a-radio>
|
||||||
<!-- <a-radio value="3">Staking</a-radio> -->
|
<a-radio value="3">Staking</a-radio>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -54,18 +54,28 @@ export const showTime = (time) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理贡献值
|
// 处理贡献值
|
||||||
export const contribution = (quality) => {
|
export const contribution = (quality, type) => {
|
||||||
let str
|
let str
|
||||||
if(quality == 1) {
|
if(type == 13) {
|
||||||
str = 10
|
if(quality == 1) {
|
||||||
} else if(quality == 2) {
|
str = 20
|
||||||
str = 20
|
} else if(quality == 2) {
|
||||||
} else if(quality == 3) {
|
str = 40
|
||||||
str = 30
|
} else if(quality == 3) {
|
||||||
} else if(quality == 4) {
|
str = 100
|
||||||
str = 40
|
}
|
||||||
} else if(quality == 5) {
|
} else {
|
||||||
str = 160
|
if(quality == 1) {
|
||||||
|
str = 10
|
||||||
|
} else if(quality == 2) {
|
||||||
|
str = 20
|
||||||
|
} else if(quality == 3) {
|
||||||
|
str = 40
|
||||||
|
} else if(quality == 4) {
|
||||||
|
str = 80
|
||||||
|
} else if(quality == 5) {
|
||||||
|
str = 160
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return str
|
return str
|
||||||
}
|
}
|
||||||
|
@ -32,22 +32,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
<div class="back-time" v-if="localWalletStore.token && LOCKER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase()">
|
<div class="back-time" v-if="FOUNDER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase() || LOCKER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase()">
|
||||||
<div>
|
<div>
|
||||||
<img src="@/assets/img/marketplace/time.png" alt="">
|
<img src="@/assets/img/marketplace/time.png" alt="">
|
||||||
<span>Time remaining :
|
<span>Time remaining :
|
||||||
{{ timeStaking(detailData.nft.last_lock_time)[0] }}:d
|
{{ timeStaking(detailData.nft.last_lock_time)[0] }}d:
|
||||||
{{ timeStaking(detailData.nft.last_lock_time)[1] }}:h
|
{{ timeStaking(detailData.nft.last_lock_time)[1] }}h:
|
||||||
{{ timeStaking(detailData.nft.last_lock_time)[2] }}:m
|
{{ timeStaking(detailData.nft.last_lock_time)[2] }}m
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>+{{ contribution(detailData.nft.detail.quality) }}/d</span>
|
<span class="expected" v-if="detailData.nft.type == 1 || detailData.nft.type == 12">+{{contribution(detailData.nft.detail.quality, detailData.nft.type)}}/d</span>
|
||||||
|
<span class="expected" v-if="detailData.nft.type == 13">+{{contribution(detailData.nft.quality, detailData.nft.type)}}/d</span>
|
||||||
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
<img src="@/assets/img/marketplace/totalContribution.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-right-btns">
|
<div class="top-right-btns">
|
||||||
<div v-if="localWalletStore.token && LOCKER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase()">
|
<div v-if="FOUNDER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase() || LOCKER_ADDRESS.toLowerCase() == detailData.nft.owner_address.toLowerCase()">
|
||||||
<div class="cancel" @click="localWalletStore.token == '' ? cardLogin() : backStaking()">Unstake</div>
|
<div class="cancel" @click="localWalletStore.token == '' ? cardLogin() : backStaking()">Unstake</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="(detailData.nft.type == 1 && !detailData.nft.contract_address) && LOCKER_ADDRESS.toLowerCase() != detailData.nft.owner_address.toLowerCase()">
|
<div v-if="(detailData.nft.type == 1 && !detailData.nft.contract_address) && LOCKER_ADDRESS.toLowerCase() != detailData.nft.owner_address.toLowerCase()">
|
||||||
@ -225,7 +226,7 @@ const usd = ref('')
|
|||||||
const price = ref('')
|
const price = ref('')
|
||||||
const loadingDialogVisible = ref(false)
|
const loadingDialogVisible = ref(false)
|
||||||
const LOCKER_ADDRESS = ref(import.meta.env.VUE_APP_LOCKER_ADDRESS)
|
const LOCKER_ADDRESS = ref(import.meta.env.VUE_APP_LOCKER_ADDRESS)
|
||||||
|
const FOUNDER_ADDRESS = ref(import.meta.env.VUE_APP_FOUNDER_ADDRESS)
|
||||||
|
|
||||||
// 登录
|
// 登录
|
||||||
const cardLogin = async () => {
|
const cardLogin = async () => {
|
||||||
@ -373,24 +374,53 @@ const backStaking = async () => {
|
|||||||
message: 'Unstake Failed - Negative in-game gold balance. Please adjust your balance to continue.'
|
message: 'Unstake Failed - Negative in-game gold balance. Please adjust your balance to continue.'
|
||||||
}).show()
|
}).show()
|
||||||
} else {
|
} else {
|
||||||
try {
|
if(detailData.value.nft.type == 13) {
|
||||||
const bc = new BlockChain()
|
founderLock()
|
||||||
let res = await bc.locker.unlockOrMintGameNft(detailData.value.nft.contract_address,[detailData.value.nft.token_id])
|
} else if(detailData.value.nft.type == 1 || detailData.value.nft.type == 12) {
|
||||||
if(res) {
|
heroLock()
|
||||||
let timer = setTimeout(() => {
|
}
|
||||||
message.success('Unstake success.')
|
}
|
||||||
router.go(-1)
|
}
|
||||||
clearTimeout(timer);
|
|
||||||
}, 2000);
|
const heroLock = async () => {
|
||||||
}
|
try {
|
||||||
} catch (e) {
|
const bc = new BlockChain()
|
||||||
if(e.message.indexOf('rejected') > -1) {
|
let res = await bc.locker.unlockOrMintGameNft(detailData.value.nft.contract_address,[detailData.value.nft.token_id])
|
||||||
message.error('User rejected the request')
|
if(res) {
|
||||||
} else if (e.message.indexOf('select wallet') > -1) {
|
let timer = setTimeout(() => {
|
||||||
message.error('user cancel select wallet')
|
message.success('Unstake success.')
|
||||||
} else {
|
router.go(-1)
|
||||||
message.error('Unstake fail')
|
clearTimeout(timer);
|
||||||
}
|
}, 2000);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
if(e.message.indexOf('rejected') > -1) {
|
||||||
|
message.error('User rejected the request')
|
||||||
|
} else if (e.message.indexOf('select wallet') > -1) {
|
||||||
|
message.error('user cancel select wallet')
|
||||||
|
} else {
|
||||||
|
message.error('Unstake fail')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const founderLock = async () => {
|
||||||
|
try {
|
||||||
|
const bc = new BlockChain()
|
||||||
|
let res = await bc.locker.unlockMain(detailData.value.nft.contract_address,[detailData.value.nft.token_id])
|
||||||
|
if(res) {
|
||||||
|
let timer = setTimeout(() => {
|
||||||
|
message.success('Unstake success.')
|
||||||
|
router.go(-1)
|
||||||
|
clearTimeout(timer);
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
if(e.message.indexOf('rejected') > -1) {
|
||||||
|
message.error('User rejected the request')
|
||||||
|
} else if (e.message.indexOf('select wallet') > -1) {
|
||||||
|
message.error('user cancel select wallet')
|
||||||
|
} else {
|
||||||
|
message.error('Unstake fail')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -686,6 +716,7 @@ onMounted(() => {
|
|||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
color: #9A50FF;
|
color: #9A50FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
span {
|
span {
|
||||||
@ -694,6 +725,9 @@ onMounted(() => {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #F3F0FF;
|
color: #F3F0FF;
|
||||||
}
|
}
|
||||||
|
.expected {
|
||||||
|
color: #00DEFF;
|
||||||
|
}
|
||||||
img {
|
img {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user