From 02faaf2fb6ba25c1240a08dc9ee11df46b1d38f1 Mon Sep 17 00:00:00 2001 From: yuyongdong Date: Wed, 11 Sep 2024 10:23:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E6=8A=BCcec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/chain/abis/RewardTracker.json | 53 +++++++++++++++++++- src/components/chain/contract/Staking.js | 9 ++-- src/components/staking/header.vue | 27 ++++++---- src/components/staking/index.vue | 13 ++--- src/store/staking.js | 6 +-- 5 files changed, 84 insertions(+), 24 deletions(-) diff --git a/src/components/chain/abis/RewardTracker.json b/src/components/chain/abis/RewardTracker.json index 95e7d9a..d649183 100644 --- a/src/components/chain/abis/RewardTracker.json +++ b/src/components/chain/abis/RewardTracker.json @@ -1 +1,52 @@ -["constructor(string,string)","event Approval(address indexed,address indexed,uint256)","event Claim(address,uint256)","event Transfer(address indexed,address indexed,uint256)","function BASIS_POINTS_DIVISOR() view returns (uint256)","function PRECISION() view returns (uint256)","function allowance(address,address) view returns (uint256)","function approve(address,uint256) returns (bool)","function averageStakedAmounts(address) view returns (uint256)","function balanceOf(address) view returns (uint256)","function balances(address) view returns (uint256)","function claim(address) returns (uint256)","function claimForAccount(address,address) returns (uint256)","function claimable(address) view returns (uint256)","function claimableReward(address) view returns (uint256)","function cumulativeRewardPerToken() view returns (uint256)","function cumulativeRewards(address) view returns (uint256)","function decimals() view returns (uint8)","function depositBalances(address,address) view returns (uint256)","function distributor() view returns (address)","function gov() view returns (address)","function inPrivateClaimingMode() view returns (bool)","function inPrivateStakingMode() view returns (bool)","function inPrivateTransferMode() view returns (bool)","function initialize(address[],address)","function isDepositToken(address) view returns (bool)","function isHandler(address) view returns (bool)","function isInitialized() view returns (bool)","function name() view returns (string)","function previousCumulatedRewardPerToken(address) view returns (uint256)","function rewardToken() view returns (address)","function setDepositToken(address,bool)","function setGov(address)","function setHandler(address,bool)","function setInPrivateClaimingMode(bool)","function setInPrivateStakingMode(bool)","function setInPrivateTransferMode(bool)","function stake(address,uint256)","function stakeForAccount(address,address,address,uint256)","function stakedAmounts(address) view returns (uint256)","function symbol() view returns (string)","function tokensPerInterval() view returns (uint256)","function totalDepositSupply(address) view returns (uint256)","function totalSupply() view returns (uint256)","function transfer(address,uint256) returns (bool)","function transferFrom(address,address,uint256) returns (bool)","function unstake(address,uint256)","function unstakeForAccount(address,address,uint256,address)","function updateRewards()","function withdrawToken(address,address,uint256)"] \ No newline at end of file +[ + "constructor(string,string)", + "event Approval(address indexed,address indexed,uint256)", + "event Claim(address,uint256)", + "event Transfer(address indexed,address indexed,uint256)", + "function BASIS_POINTS_DIVISOR() view returns (uint256)", + "function PRECISION() view returns (uint256)", + "function allowance(address,address) view returns (uint256)", + "function approve(address,uint256) returns (bool)", + "function averageStakedAmounts(address) view returns (uint256)", + "function balanceOf(address) view returns (uint256)", + "function balances(address) view returns (uint256)", + "function claim(address) returns (uint256)", + "function claimForAccount(address,address) returns (uint256)", + "function claimable(address) view returns (uint256)", + "function claimableReward(address) view returns (uint256)", + "function cumulativeRewardPerToken() view returns (uint256)", + "function cumulativeRewards(address) view returns (uint256)", + "function decimals() view returns (uint8)", + "function depositBalances(address,address) view returns (uint256)", + "function distributor() view returns (address)", + "function gov() view returns (address)", + "function inPrivateClaimingMode() view returns (bool)", + "function inPrivateStakingMode() view returns (bool)", + "function inPrivateTransferMode() view returns (bool)", + "function initialize(address[],address)", + "function isDepositToken(address) view returns (bool)", + "function isHandler(address) view returns (bool)", + "function isInitialized() view returns (bool)", + "function name() view returns (string)", + "function previousCumulatedRewardPerToken(address) view returns (uint256)", + "function rewardToken() view returns (address)", + "function setDepositToken(address,bool)", + "function setGov(address)", + "function setHandler(address,bool)", + "function setInPrivateClaimingMode(bool)", + "function setInPrivateStakingMode(bool)", + "function setInPrivateTransferMode(bool)", + "function stake(address,uint256)", + "function stakeForAccount(address,address,address,uint256)", + "function stakedAmounts(address) view returns (uint256)", + "function symbol() view returns (string)", + "function tokensPerInterval() view returns (uint256)", + "function totalDepositSupply(address) view returns (uint256)", + "function totalSupply() view returns (uint256)", + "function transfer(address,uint256) returns (bool)", + "function transferFrom(address,address,uint256) returns (bool)", + "function unstake(address,uint256)", + "function unstakeForAccount(address,address,uint256,address)", + "function updateRewards()", + "function withdrawToken(address,address,uint256)" +] \ No newline at end of file diff --git a/src/components/chain/contract/Staking.js b/src/components/chain/contract/Staking.js index 964e229..f67e1b0 100644 --- a/src/components/chain/contract/Staking.js +++ b/src/components/chain/contract/Staking.js @@ -15,7 +15,7 @@ export class Staking { this.stakedEsCecTracker = cfg.stakedEsCecTracker } - async execMethod({provider, address, method, params}) { + async execMethod({provider,account_address, address, method, params}) { this.bc.checkAndChangeChain(chainId, provider); const contract = new Contract(address, routerAbi, provider.getSigner()); const tx = await contract[method](...params); @@ -23,7 +23,7 @@ export class Staking { return tx; } - async queryMethod({provider, address, method, params}) { + async queryMethod({provider,account_address, address, method, params}) { this.bc.checkAndChangeChain(chainId, provider); const contract = new Contract(address, trackerAbi, provider.getSigner()); return contract[method](...params); @@ -33,10 +33,11 @@ export class Staking { * @param {*} amount 质押的数量, 单位为wei * @returns */ - async stakeCec(amount) { + async stakeCec(address, amount) { return this.execMethod({ provider: this.bc.eoaProvider, - address: this.stakedCecRouter, + account_address: this.stakedCecRouter, + address: address, method: 'stakeCec', params: [amount] }); diff --git a/src/components/staking/header.vue b/src/components/staking/header.vue index 8e242d9..0c74b2a 100644 --- a/src/components/staking/header.vue +++ b/src/components/staking/header.vue @@ -14,7 +14,7 @@
CEC
-

{{localWalletStore.cecBalance != 0 ? priceCalculated(cecInfoData.cecBalance,18) : 0 }}

+

{{cecInfoData.cecBalance != '0' ? priceCalculated(cecInfoData.cecBalance,18) : 0 }}

  • @@ -25,7 +25,7 @@
    CEC staking
    -

    {{ cecInfoData.CecStaked }}

    +

    {{ stakingStore.cecInfoData.CecStaked }}

  • @@ -36,7 +36,7 @@
    CEC disarm
    -

    {{ cecInfoData.CecDisarm }}

    +

    {{ stakingStore.cecInfoData.CecDisarm }}

  • @@ -47,7 +47,7 @@
    CEC collection
    -

    {{ cecInfoData.CecCollection }}

    +

    {{ stakingStore.cecInfoData.CecCollection }}

  • @@ -60,7 +60,7 @@
    esCEC
    -

    {{ cecInfoData.esCecBalance }}

    +

    {{ stakingStore.cecInfoData.esCecBalance }}

  • @@ -71,7 +71,7 @@
    esCEC Staking
    -

    {{ cecInfoData.esCecStaked }}

    +

    {{ stakingStore.cecInfoData.esCecStaked }}

  • @@ -82,7 +82,7 @@
    esCEC conversion
    -

    {{ cecInfoData.esCecConversion }}

    +

    {{ stakingStore.cecInfoData.esCecConversion }}

  • @@ -93,7 +93,7 @@
    esCEC collection
    -

    {{ cecInfoData.esCecCollection }}

    +

    {{ stakingStore.cecInfoData.esCecCollection }}

  • @@ -163,6 +163,9 @@ const cecInfoData = ref({ * */ const getCecData = async () => { + let address = localWalletStore.address + if(address) { + const bc = new BlockChain(); // console.log(await bc.staking.queryCECStaked()) // return @@ -175,14 +178,15 @@ const getCecData = async () => { // esCecStaked: 0, // esCecConversion: 0, // esCecCollection: 0, - let address = localWalletStore.address let timer = setInterval( async () => { cecInfoData.value.cecBalance = parseInt(await bc.erc20.balanceOf(address)).toString() cecInfoData.value.esCecBalance = parseInt(await bc.erc20.esCecBalanceOf(address)).toString() cecInfoData.value.CecStaked = parseInt(await bc.staking.queryCECStaked()).toString() cecInfoData.value.esCecStaked = parseInt(await bc.staking.queryEsCECStaked()).toString() + let res = parseInt(await bc.staking.queryClaimableByCEC()) // let ClaimableByCEC = await bc.staking.queryCumulativeByCEC() // let ClaimableByEsCEC = await bc.staking.queryClaimableByEsCEC() + console.log(cecInfoData.value.CecStaked,res) clearInterval(timer); }, 2000); // let cec = await bc.staking.queryCECStaked() @@ -190,6 +194,7 @@ const getCecData = async () => { // } catch (e) { // console.log(e) // } +} } @@ -199,7 +204,9 @@ const vipHandleClose = () => { onMounted(() => { - getCecData() + if(localWalletStore.address) { + getCecData() + } }) diff --git a/src/components/staking/index.vue b/src/components/staking/index.vue index d726db3..68050e3 100644 --- a/src/components/staking/index.vue +++ b/src/components/staking/index.vue @@ -145,6 +145,7 @@ import { BlockChain } from "@/components/chain/BlockChain" const localWalletStore = walletStore() const stakingStore = useStakingStore() + const bc = new BlockChain(); const chainId = parseInt(import.meta.env.VUE_APP_STAKING_CHAIN); const cecDialogVisible = ref(false) @@ -153,22 +154,22 @@ const handleClose = () => { } const dialogUnstakeText = ref({ - title: "Unstake CEC", - typeLabel: "Unstake", + title: "Stake CEC", + typeLabel: "Stake", // tips: "1111", - typeName: "es CEC", + typeName: "CEC", // conversion: "Reveres conversion esCEC", // conversionName: "CEC" }) const unCecStaked = async () => { - console.log(localWalletStore.address, STAKING_ADDRESSES[chainId].stakedCecTracker,(1*1e18).toString()) + console.log(localWalletStore.address, STAKING_ADDRESSES[chainId].stakedCecTracker,stakingStore.cecInfoData.cecBalance) // try{ - // let res = await bc.erc20.approve(localWalletStore.address, STAKING_ADDRESSES[chainId].stakedCecTracker,(1*1e18).toString()) + // let res = await bc.erc20.approve(STAKING_ADDRESSES[chainId].stakedCecTracker, STAKING_ADDRESSES[chainId].cec,(1*1e18).toString()) // } catch (e) { // console.log(e) // } - let res = await bc.staking.stakeCec((1*1e18).toString()) + let res = await bc.staking.stakeCec(localWalletStore.address,(1*1e18).toString()) console.log(res) } diff --git a/src/store/staking.js b/src/store/staking.js index 973105b..9543cf0 100644 --- a/src/store/staking.js +++ b/src/store/staking.js @@ -18,9 +18,9 @@ export const useStakingStore = defineStore('staking', () => { - // const updateOverviewStatus = (_connected) => { - // overview.value = _connected; - // } + const updateCecInfoDataStatus = (_connected) => { + cecInfoData.value = _connected; + }