Mint
@@ -77,11 +82,18 @@
2、下架
3、使用
-->
-
+
List
Cancel listing
-
Stake
-
Stake
+
+ Loading
+
+
+ Stake
+
+
+ Stake
+
@@ -197,7 +209,7 @@ import ImgCard from "@/components/common/imgCard.vue"
import StarTimer from "@/components/common/starTimer.vue"
import SellDialog from "@/components/Dialogs/sellDialog.vue"
import Footer from "@/components/common/footer.vue"
-import { nftDetail, apiGetPrice } from "@/utils/marketplace"
+import { nftDetail, apiGetPrice, apiTxHash } from "@/utils/marketplace"
import {priceCalculated} from "@/configs/priceCalculate.js"
import { BlockChain } from "@/components/chain/BlockChain"
import {walletStore} from "@/store/wallet";
@@ -336,13 +348,28 @@ const lockToGameConfirm = async () => {
try {
await new BlockChain().locker.lock(detailData.value.nft.contract_address, [detailData.value.nft.token_id])
// message.success('lockToGame success')
+ detailData.value.nft['status'] = 1
const confirmResult = await createModal(ConfirmDialog, {
title: '',
noBtnTitle: '',
message: 'Staking is complete. This process may take 3-4 minutes.'
}).show()
loadingDialogVisible.value = false
- router.go(-1)
+ if(res) {
+ try {
+ const { confirmed } = await apiTxHash(detailData.value.nft.net_id, res)
+ let timer = setInterval( async () => {
+ // message.success('Unstake success.')
+ if(confirmed == 1) {
+ detailData.value.nft['status'] = ''
+ router.go(-1)
+ clearInterval(timer);
+ }
+ }, 2000);
+ } catch (e) {
+ console.log(e)
+ }
+ }
} catch (e) {
if(e.message.indexOf('rejected') > -1) {
message.error('User rejected the request')
@@ -356,16 +383,28 @@ const unlockMainConfirm = async () => {
try {
const bc = new BlockChain()
let res = await bc.locker.lockMain(detailData.value.nft.contract_address, [detailData.value.nft.token_id])
- // message.success('lockToGame success')
+ detailData.value.nft['status'] = 1
const confirmResult = await createModal(ConfirmDialog, {
title: '',
noBtnTitle: '',
message: 'Staking is complete. This process may take 3-4 minutes.'
}).show()
- // router.go(-1)
- emit('renewMyNft')
loadingDialogVisible.value = false
- // router.push('/assets')
+ if(res) {
+ try {
+ const { confirmed } = await apiTxHash(detailData.value.nft.net_id, res)
+ let timer = setInterval( async () => {
+ // message.success('Unstake success.')
+ if(confirmed == 1) {
+ detailData.value.nft['status'] = ''
+ router.go(-1)
+ clearInterval(timer);
+ }
+ }, 2000);
+ } catch (e) {
+ console.log(e)
+ }
+ }
} catch (e) {
if(e.message.indexOf('rejected') > -1) {
message.error('User rejected the request')
@@ -397,18 +436,27 @@ const heroLock = async () => {
try {
const bc = new BlockChain()
let res = await bc.locker.unlockOrMintGameNft(detailData.value.nft.contract_address,[detailData.value.nft.token_id])
+ detailData.value.nft['status'] = 1
+ const confirmResult = await createModal(ConfirmDialog, {
+ title: '',
+ noBtnTitle: '',
+ message: 'Unstake success. It is expected to take 3-4 minutes. Please log in to the original wallet address to check later.'
+ }).show()
+ loadingDialogVisible.value = false
if(res) {
- let timer = setTimeout( async () => {
+ try {
+ const { confirmed } = await apiTxHash(detailData.value.nft.net_id, res)
+ let timer = setInterval( async () => {
// message.success('Unstake success.')
- const confirmResult = await createModal(ConfirmDialog, {
- title: '',
- noBtnTitle: '',
- message: 'Unstake success. It is expected to take 3-4 minutes. Please log in to the original wallet address to check later.'
- }).show()
- loadingDialogVisible.value = false
- router.go(-1)
- clearTimeout(timer);
+ if( confirmed) {
+ detailData.value.nft['status'] = ''
+ router.go(-1)
+ clearInterval(timer);
+ }
}, 2000);
+ } catch (e) {
+ console.log(e)
+ }
}
} catch (e) {
loadingDialogVisible.value = false
@@ -426,18 +474,27 @@ const founderLock = async () => {
try {
const bc = new BlockChain()
let res = await bc.locker.unlockMain(detailData.value.nft.contract_address,[detailData.value.nft.token_id])
+ detailData.value.nft['status'] = 1
+ const confirmResult = await createModal(ConfirmDialog, {
+ title: '',
+ noBtnTitle: '',
+ message: 'Unstake success. It is expected to take 3-4 minutes. Please log in to the original wallet address to check later.'
+ }).show()
+ loadingDialogVisible.value = false
if(res) {
- let timer = setTimeout( async () => {
+ try {
+ const { confirmed } = await apiTxHash(detailData.value.nft.net_id, res)
+ let timer = setInterval( async () => {
// message.success('Unstake success.')
- const confirmResult = await createModal(ConfirmDialog, {
- title: '',
- noBtnTitle: '',
- message: 'Unstake success. It is expected to take 3-4 minutes. Please log in to the original wallet address to check later.'
- }).show()
- loadingDialogVisible.value = false
- router.go(-1)
- clearTimeout(timer);
+ if( confirmed) {
+ detailData.value.nft['status'] = ''
+ router.go(-1)
+ clearInterval(timer);
+ }
}, 2000);
+ } catch (e) {
+ console.log(e)
+ }
}
} catch (e) {
loadingDialogVisible.value = false
@@ -446,7 +503,11 @@ const founderLock = async () => {
} else if (e.message.indexOf('select wallet') > -1) {
message.error('user cancel select wallet')
} else if (e.message.indexOf('eoa address changed') > -1) {
- message.error("It looks like there's an issue with your MetaMask or OKX wallet address. Please check your wallet address and try again")
+ const confirmResult = await createModal(ConfirmDialog, {
+ title: '',
+ noBtnTitle: '',
+ message: "It looks like there's an issue with your MetaMask or OKX wallet address. Please check your wallet address and try again."
+ }).show()
} else {
message.error('Unstake fail')
}