update bigint + smaller style issues fixes

This commit is contained in:
EmberSpirit
2023-10-17 22:19:52 +02:00
parent fedcd0314d
commit 32ababbb39
19 changed files with 271 additions and 178 deletions
+31 -30
View File
@@ -21,36 +21,31 @@
</div> -->
<div class="rewards-list">
<rewards-wrapper
v-if="getCurrentCycleData?.rewards_sacrifice !== undefined"
title="Sacrafice Reward"
coin="$BLOOD"
:amount="formatNumber(getCurrentCycleData?.rewards_sacrifice / 10n ** tokenStore.memeToken.decimals)"
:amount="formatNumber(rewardsSacrifice)"
image="/assets/img/vampir.png"
/>
<rewards-wrapper
v-if="getCurrentCycleData?.rewards_staking !== undefined"
title="Staking Bonus"
coin="$BLOOD"
:amount="formatNumber(getCurrentCycleData?.rewards_staking / 10n ** tokenStore.memeToken.decimals)"
info="max: 312m"
:amount="formatNumber(rewardsStaking)"
image="/assets/img/vampir.png"
/>
<rewards-wrapper
v-if="getCurrentCycleData?.rewards_clan !== undefined"
title="Clan Bonus"
coin="$BLOOD"
:amount="formatNumber(getCurrentCycleData?.rewards_clan / 10n ** tokenStore.memeToken.decimals)"
:amount="formatNumber(rewardsClan)"
image="/assets/img/vampir.png"
/>
</div>
<div class="rewards-total-wrapper">
<div class="rewards-total-headline sub-header">Total Reward</div>
<div class="rewards-total-inner bloodline-border bloodline-border--variant1">
<token-name-price
v-if="getCurrentCycleData?.rewards_total !== undefined"
name="$BLOOD"
:price="formatNumber(getCurrentCycleData?.rewards_total / 10n ** tokenStore.memeToken.decimals)"
></token-name-price>
<div
class="rewards-total-inner bloodline-border bloodline-border--variant1"
:class="{ purple: rewardsTotal > 0 && activeCycle !== currentCycle }"
>
<token-name-price name="$BLOOD" :price="formatNumber(rewardsTotal)"></token-name-price>
<token-logo img="/assets/img/vampir.png" :alt="'vampire'"></token-logo>
</div>
</div>
@@ -61,7 +56,7 @@
<template v-else-if="activeCycle === currentCycle">
<button class="btn btn-immortal sub-header" @click="router.push({ name: 'home' })">Sacrifice</button>
</template>
<template v-else-if="getCurrentCycleData?.rewards_total > 0">
<template v-else-if="rewardsTotal > 0">
<Transition name="smooth">
<div class="stake-buttons" v-show="!stakeMenu">
<div class="btn btn-immortal" v-if="stateClaimedComp === 0" @click="claimRewards">Claim</div>
@@ -77,7 +72,7 @@
v-model="tokenNumber"
@close="stakeMenu = false"
:stake="stake"
:amount="getCurrentCycleData?.rewards_total"
:amount="rewardsTotal"
v-if="stakeMenu"
>
<template v-slot:body>
@@ -139,7 +134,8 @@ const tokenStore = useTokenStore();
const cycleStore = useCycleStore();
const router = useRouter();
const { activeCycle, currentCycle, getCurrentCycleData } = storeToRefs(cycleStore);
const { activeCycle, currentCycle, getCurrentCycleData, rewardsSacrifice, rewardsStaking, rewardsClan, rewardsTotal } =
storeToRefs(cycleStore);
const stakeMenu = ref(false);
const stake = ref(null);
@@ -149,13 +145,16 @@ const stateStakeClaim = ref(0);
async function stakeAndClaim() {
try {
console.log("stakeAndClaim");
console.log(tokenNumber.value);
console.log(getCurrentCycleData.value.rewards_total);
const coefficient = (10000 * tokenNumber.value) / getCurrentCycleData.value.rewards_total;
console.log(rewardsTotal.value);
stateStakeClaim.value = 2;
console.log("hier1");
const coefficient = (10000n * BigInt(tokenNumber.value)) / rewardsTotal.value;
var hash = await rewardLockerStore.stakeAndClaimCycle(coefficient, cycleStore.activeCycle);
console.log("hash");
console.log("hier2");
stateStakeClaim.value = 3;
console.log("hash");
const data = await waitForTransaction({
hash: hash,
});
@@ -176,8 +175,8 @@ async function stakeAndClaim() {
//
console.log("rewardData", rewardData);
console.log("stakeData", stakeData);
const outputClaim = Number(rewardData?.topics[2]) / 10 ** tokenStore.memeToken.decimals;
const outputStaked = Number(stakeData?.topics[3]) / 10 ** tokenStore.memeToken.decimals;
const outputClaim = BigInt(rewardData?.topics[2]) / 10n ** tokenStore.memeToken.decimals;
const outputStaked = BigInt(stakeData?.topics[3]) / 10n ** tokenStore.memeToken.decimals;
showSuccessToast(
formatNumber(outputClaim + outputStaked),
"Success!",
@@ -186,13 +185,15 @@ async function stakeAndClaim() {
);
tokenNumber.value = 0;
stakeMenu.value = false;
await cycleStore.fillCycle(activeCycle.value, true);
await walletStore.loadWalletData();
} catch (error) {
console.error("stakeAndClaim", error);
} finally {
const walletStore = useWalletStoreV2();
await walletStore.loadWalletData();
console.log("finally1");
await cycleStore.fillCycle(activeCycle.value, true);
console.log("finally2");
stateStakeClaim.value = 1;
}
}
@@ -254,19 +255,19 @@ const stateClaimedComp = computed(() => {
const stateStakeClaimComp = computed(() => {
console.log("stateStakeClaimComp");
let returnState = 0;
if (
tokenNumber.value === null ||
tokenNumber.value === "" ||
tokenNumber.value === 0 ||
tokenNumber.value > walletStore.memeToken?.unclaimedRewards
) {
returnState = 0;
} else if (stateStakeClaim.value === 2) {
if (stateStakeClaim.value === 2) {
returnState = 2;
} else if (stateStakeClaim.value === 3) {
returnState = 3;
} else if (tokenNumber.value !== null || tokenNumber.value !== "" || tokenNumber.value > 0) {
returnState = 1;
} else if (
tokenNumber.value === null ||
tokenNumber.value === "" ||
tokenNumber.value === 0 ||
tokenNumber.value > walletStore.unclaimedRewards
) {
returnState = 0;
}
return returnState;
});