staking
BIN
src/assets/img/staking/Arrows_img.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src/assets/img/staking/CEC ICON 02.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/img/staking/CECcollection.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
src/assets/img/staking/CECdisarm.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
src/assets/img/staking/CECstaking ICON .png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
src/assets/img/staking/esCEC ICON 02.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/img/staking/esCEC.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/img/staking/esCECcollection.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src/assets/img/staking/esCECconversion.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
src/assets/img/staking/esCECstaking ICON .png
Normal file
After Width: | Height: | Size: 4.9 KiB |
@ -19,7 +19,6 @@ export class ERC20 {
|
||||
async balanceOf( address) {
|
||||
let provider = await this.bc.eoaProvider
|
||||
// let addressT = provider.getSigner().getAddress();
|
||||
console.log(provider)
|
||||
const contract = new Contract(this.tokenAddress, erc20Abi, provider.getSigner());
|
||||
return contract.balanceOf(address);
|
||||
}
|
||||
|
@ -1,110 +1,103 @@
|
||||
<template>
|
||||
<div class="staking-header">
|
||||
<div class="staking-header-left">
|
||||
<h1>质押总览</h1>
|
||||
<div class="staking-header-tit">
|
||||
<h1>STAKING OVERVIEW</h1>
|
||||
</div>
|
||||
<div class="staking-header-con">
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
<div class="content">
|
||||
<div class="staking-header-con">
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/marketplace/CECIcon.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
<div class="right">
|
||||
<div>CEC</div>
|
||||
<p>{{ cecInfoData.cecBalance }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/CECstaking ICON .png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
<div class="right">
|
||||
<div>CEC staking</div>
|
||||
<p>{{ cecInfoData.CecStaked }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/CECdisarm.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
<div class="right">
|
||||
<div>CEC disarm</div>
|
||||
<p>{{ cecInfoData.CecDisarm }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/CECcollection.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
11
|
||||
<div>
|
||||
<img src="" alt="">
|
||||
<div class="right">
|
||||
<div>CEC collection</div>
|
||||
<p>{{ cecInfoData.CecCollection }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/esCEC.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>esCEC</div>
|
||||
<p>{{ cecInfoData.esCecBalance }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/esCECstaking ICON .png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>esCEC Staking</div>
|
||||
<p>{{ cecInfoData.esCecStaked }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/esCECconversion.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>esCEC conversion</div>
|
||||
<p>{{ cecInfoData.esCecConversion }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="left">
|
||||
<div>
|
||||
<img src="@/assets/img/staking/esCECcollection.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>esCEC collection</div>
|
||||
<p>{{ cecInfoData.esCecCollection }}</p>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
<div class="staking-header-right">
|
||||
<div class="logo">
|
||||
<img src="@/assets/img/staking/VIP1.png" alt="">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>空闲的CEC</div>
|
||||
<p>1111.231</p>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
<div class="staking-header-right">
|
||||
pp
|
||||
<div class="logo">
|
||||
<img src="" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -119,12 +112,13 @@ const localWalletStore = walletStore()
|
||||
|
||||
const cecInfoData = ref({
|
||||
cecBalance: 0,
|
||||
cesCecBalance: 0,
|
||||
CECStaked: 0,
|
||||
EsCECStaked: 0,
|
||||
Vested: 0,
|
||||
claimable: 0,
|
||||
claimableTotal: 0,
|
||||
CecStaked: 0,
|
||||
CecDisarm: 0,
|
||||
CecCollection: 0,
|
||||
esCecBalance: 0,
|
||||
esCecStaked: 0,
|
||||
esCecConversion: 0,
|
||||
esCecCollection: 0,
|
||||
})
|
||||
|
||||
/**
|
||||
@ -158,15 +152,20 @@ const getCecData = async () => {
|
||||
// try {
|
||||
// const {provider} = await bc.web3Provider
|
||||
// let tokenAddress = import.meta.env.VUE_APP_LOCKER_ADDRESS_MAIN
|
||||
// CecDisarm: 0,
|
||||
// CecCollection: 0,
|
||||
// esCecBalance: 0,
|
||||
// esCecStaked: 0,
|
||||
// esCecConversion: 0,
|
||||
// esCecCollection: 0,
|
||||
let address = localWalletStore.address
|
||||
let timer = setInterval( async () => {
|
||||
let cec = await bc.erc20.balanceOf(address)
|
||||
console.log(cec)
|
||||
// let CECStaked = await bc.staking.queryCECStaked()
|
||||
// let EsCECStaked = await bc.staking.queryEsCECStaked()
|
||||
cecInfoData.value.cecBalance = parseInt(await bc.erc20.balanceOf(address))
|
||||
cecInfoData.value.CecStaked = parseInt(await bc.staking.queryCECStaked())
|
||||
cecInfoData.value.esCecStaked = parseInt(await bc.staking.queryEsCECStaked())
|
||||
// let ClaimableByCEC = await bc.staking.queryCumulativeByCEC()
|
||||
// let ClaimableByEsCEC = await bc.staking.queryClaimableByEsCEC()
|
||||
// console.log( parseInt(CECStaked),parseInt(EsCECStaked),parseInt(ClaimableByCEC),parseInt(ClaimableByEsCEC))
|
||||
console.log( cecInfoData.value.cecBalance,cecInfoData.value.CecStaked)
|
||||
clearInterval(timer);
|
||||
}, 2000);
|
||||
// let cec = await bc.staking.queryCECStaked()
|
||||
@ -186,32 +185,86 @@ onMounted(() => {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.staking-header {
|
||||
width: 1120px;
|
||||
height: 120px;
|
||||
width: 1348px;
|
||||
margin: 0 auto;
|
||||
margin-top: 50px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
background: #2d2738;
|
||||
padding: 20px;
|
||||
border-radius: 15px;
|
||||
.staking-header-left {
|
||||
width: 120px;
|
||||
.staking-header-tit {
|
||||
padding-left: 54px;
|
||||
line-height: 22px;
|
||||
margin-bottom: 16px;
|
||||
h1 {
|
||||
|
||||
font-family: 'Poppins';
|
||||
font-weight: bold;
|
||||
font-size: 32px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.staking-header-con {
|
||||
.content {
|
||||
height: 178px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
clear: both;
|
||||
li {
|
||||
width: 230px;
|
||||
justify-content: space-between;
|
||||
background: #2d2738;
|
||||
padding: 27px 58px 25px 54px;
|
||||
border-radius: 15px;
|
||||
// .staking-header-left {
|
||||
// width: 120px;
|
||||
// h1 {
|
||||
|
||||
// }
|
||||
// }
|
||||
.staking-header-con {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
clear: both;
|
||||
li {
|
||||
width: 280px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left {
|
||||
margin-right: 22px;
|
||||
div {
|
||||
width: 58px;
|
||||
height: 44px;
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.right {
|
||||
div {
|
||||
font-family: 'Poppins-Regular';
|
||||
font-weight: 400;
|
||||
font-size: 18px;
|
||||
color: #BB7FFF;
|
||||
}
|
||||
p {
|
||||
font-family: 'Poppins';
|
||||
font-weight: 600;
|
||||
font-size: 18px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
&:nth-child(1) {
|
||||
.left {
|
||||
div {
|
||||
width: 44px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&:nth-child(5) {
|
||||
.left {
|
||||
div {
|
||||
width: 44px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.staking-header-right {
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
.staking-header-right {
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
</style>
|