+
-->
+
@@ -16,6 +20,7 @@
+
+
+
+
diff --git a/src/helper/helper.js b/src/helper/helper.js
index f7372a4..0c90a6f 100644
--- a/src/helper/helper.js
+++ b/src/helper/helper.js
@@ -23,7 +23,7 @@ export function getAddressShortName(address) {
}
-export function numberWithCommas(x) {
+export function numberWithCommas(x, ) {
x = x.toString();
var pattern = /(-?\d+)(\d{3})/;
while (pattern.test(x)) x = x.replace(pattern, "$1,$2");
diff --git a/src/router/index.js b/src/router/index.js
index 196093e..7826809 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -53,13 +53,12 @@ router.beforeEach(async (to, from) => {
const walletStore = useWalletStoreV2();
-
//middleware
- if (to.meta.middleware) {
- if (!walletStore.connected) {
- return false;
- }
- }
+ // if (to.meta.middleware) {
+ // if (!walletStore.connected) {
+ // return '/';
+ // }
+ // }
return true;
});
diff --git a/src/stores/memeburner.js b/src/stores/memeburner.js
index 286e8bf..286b3ed 100644
--- a/src/stores/memeburner.js
+++ b/src/stores/memeburner.js
@@ -19,21 +19,21 @@ export const useMemeburnerStore = defineStore("memeburner", {
console.log("-----------init memeburner-------------");
const walletStore = useWalletStoreV2();
// const roundsStore = useRoundsStore();
- console.log("walletStore.walletClient", walletStore.walletClient);
+ console.log("walletStore.walletClient", walletStore.walletClient);
this.contract = getContract({
address: this.config.contractAddress,
- abi: this.config.abi,
- walletClient: walletStore.walletClient || walletStore.publicClient,
- });
- console.log("this.contract", this.contract);
+ abi: this.config.abi,
+ walletClient: walletStore.walletClient || walletStore.publicClient,
+ });
+ console.log("this.contract", this.contract);
},
async getRewardFor(amount) {
const tokenStore = useTokenStore();
- // var rewards = await this.contract.methods
- // .getRewardFor(tokenStore.activeToken.contractAddress, amount)
- // .call();
- const rewards = await this.contract.read.getRewardFor([tokenStore.activeToken.contractAddress, amount]);
- console.log("rewards", rewards);
+ const rewards = await this.contract.read.getRewardForSacrifice([
+ tokenStore.activeToken.contractAddress,
+ amount,
+ ]);
+ console.log("rewards", rewards);
return rewards;
},
async getCurrentRound() {
@@ -47,7 +47,7 @@ export const useMemeburnerStore = defineStore("memeburner", {
return await this.contract.read.getSacrificedMeme([roundnumber, tokenAddress]);
},
async getAmountToReachGoal(tokenAddress) {
- return await this.contract.read.getAmountToReachGoal([tokenAddress]);
+ return await this.contract.read.getAmountToReachGoal([tokenAddress, 0]);
},
async getSacrificedRound(roundnumber) {
console.log("getSacrificedRound", roundnumber);
@@ -58,15 +58,19 @@ export const useMemeburnerStore = defineStore("memeburner", {
console.log("token.contractAddress", token.contractAddress);
console.log("roundnumber", roundnumber);
// contracts.push(this.contract.methods.getSacrificedMeme(roundnumber, token.contractAddress));
- contracts.push({ ...this.contract, functionName: "getSacrificedMeme", args: [roundnumber, token.contractAddress] });
+ contracts.push({
+ ...this.contract,
+ functionName: "getSacrificedMeme",
+ args: [roundnumber, token.contractAddress],
+ });
}
// console.log("this.contract", this.contract);
// const multicallStore = useMultiCallStore();
// return await multicallStore.aggregate(calls);
- const data = await multicall({
+ const data = await multicall({
contracts,
- });
- return data;
+ });
+ return data;
},
async sacrificeMeme(amount) {
const tokenStore = useTokenStore();
@@ -75,25 +79,27 @@ export const useMemeburnerStore = defineStore("memeburner", {
//todo error
console.error("amount is 0 or null or undefined");
return;
- }
+ }
this.loading = true;
const amountDecimal = BigInt(amount * Math.pow(10, tokenStore.activeToken.decimals));
- console.log("this.contract", this.contract);
- console.log("amountDecimal", amountDecimal.toString());
- console.log("tokenStore.activeToken.contractAddress", tokenStore.activeToken.contractAddress);
- var hash = await this.contract.write
- .sacrificeMeme([tokenStore.activeToken.contractAddress, amountDecimal.toString()])
- return hash;
-
+ console.log("this.contract", this.contract);
+ console.log("amountDecimal", amountDecimal.toString());
+ console.log("tokenStore.activeToken.contractAddress", tokenStore.activeToken.contractAddress);
+ var hash = await this.contract.write.sacrificeMeme([
+ tokenStore.activeToken.contractAddress,
+ amountDecimal.toString(),
+ 0
+ ]);
+ return hash;
} catch (error) {
console.error(error);
- throw new Error(error)
+ throw new Error(error);
} finally {
this.loading = false;
}
},
- async getGoalInBLD(roundNumber) {
- return await this.contract.read.getGoalInBLD([roundNumber]);
+ async getGoalInBLOOD(roundNumber) {
+ return await this.contract.read.getGoalInBLOOD([roundNumber]);
},
},
});
diff --git a/src/stores/rounds.js b/src/stores/rounds.js
index 5365bac..546a5c3 100644
--- a/src/stores/rounds.js
+++ b/src/stores/rounds.js
@@ -66,14 +66,22 @@ export const useRoundsStore = defineStore("rounds", {
// this.rounds[index].rewards_total = element.result;
}
},
- async updateCurrentRound(sacrificedToken) {
+ async updateCurrentRound(sacrificedToken) {
+ console.log("updateCurrentRound");
const tokenStore = useTokenStore();
const memeBurnerStore = useMemeburnerStore();
var data = await memeBurnerStore.getSacrificedRound(this.currentRound);
var tokenIndex = this.rounds[this.currentRound].token.findIndex(
(tokenData) => tokenData.contractAddress === sacrificedToken
- );
- this.rounds[this.currentRound].token[tokenIndex].amount = data[tokenIndex].result[1];
+ );
+ const token = tokenStore.getToken(sacrificedToken);
+ // console.log(
+ // "this.rounds[this.currentRound].token[tokenIndex].amount",
+ // this.rounds[this.currentRound].token[tokenIndex].amount
+ // );
+ // console.log("Number(data[tokenIndex].result[1] / BigInt(Math.pow(10, token.decimals))", Number(data[tokenIndex].result[1] / BigInt(Math.pow(10, token.decimals))));
+ this.rounds[this.currentRound].token[tokenIndex].amount =
+ Number(data[tokenIndex].result[1] / BigInt(Math.pow(10, token.decimals)))
},
async fillRound(roundNumber) {
console.log("fillRound");
@@ -117,10 +125,10 @@ export const useRoundsStore = defineStore("rounds", {
tokenData.vampname = token.vamp.name;
// tokenData.amount = data[index].result[1];
tokenData.amount = Number(data[index].result[1]) / Math.pow(10, token.decimals);
- tokenData.getAmountToReachGoal =
- Number(await memeBurnerStore.getAmountToReachGoal(token.contractAddress)) /
- Math.pow(10, token.decimals);
- if (this.currentRound !== roundNumber && walletStore.connected) {
+ // tokenData.getAmountToReachGoal =
+ // Number(await memeBurnerStore.getAmountToReachGoal(token.contractAddress)) /
+ // Math.pow(10, token.decimals);
+ if (this.currentRound !== roundNumber && walletStore.connected) {
console.log("index", index);
console.log("rewardData[index]", rewardData[index]);
const stakeReward = Number(rewardData[index].result[0]);
@@ -145,7 +153,7 @@ export const useRoundsStore = defineStore("rounds", {
tokenArray.push(tokenData);
}
console.log("clanwin123", rewards_clan);
- const goalInBLD = await memeBurnerStore.getGoalInBLD(roundNumber);
+ const goalInBLD = await memeBurnerStore.getGoalInBLOOD(roundNumber);
this.rounds[roundNumber] = {
goal: Number(goal[0]) / Math.pow(10, tokenStore.memeToken.decimals),
goalInBLD: Number(goalInBLD / BigInt(Math.pow(10, tokenStore.memeToken.decimals))),
diff --git a/src/stores/walletV2.js b/src/stores/walletV2.js
index b7ccb7f..5f39a30 100644
--- a/src/stores/walletV2.js
+++ b/src/stores/walletV2.js
@@ -2,7 +2,6 @@ import { defineStore } from "pinia";
import { markRaw } from "vue";
import { useTokenStore } from "./tokens";
import { useRewardLockerStore } from "./rewardlocker";
-import MemeToken from "@/assets/contracts/MemeToken.json";
import {
createConfig,
diff --git a/src/views/CycleView.vue b/src/views/CycleView.vue
index 3533588..abb1ef8 100644
--- a/src/views/CycleView.vue
+++ b/src/views/CycleView.vue
@@ -1,10 +1,9 @@
@@ -116,6 +115,8 @@ const timer = ref(null);
const difference = ref(null);
const target = ref();
const sticking = ref(false);
+const observer = ref(null);
+const observerElement = ref(null);
const memeBurnerStore = useMemeburnerStore();
const rewardLockerStore = useRewardLockerStore();
@@ -140,10 +141,30 @@ onMounted(async () => {
timeBetweenDates(expirationTimestamp);
}, 1000);
}
+
+ const headerEl = document.querySelector(".slider-wrapper");
+ const handler = (entries) => {
+ console.log(entries);
+ // entries is an array of observed dom nodes
+ // we're only interested in the first one at [0]
+ // because that's our .sentinal node.
+ // Here observe whether or not that node is in the viewport
+ if (!entries[0].isIntersecting) {
+ headerEl.classList.add("stuck");
+ } else {
+ headerEl.classList.remove("stuck");
+ }
+ };
+
+ // create the observer
+ observer.value = new window.IntersectionObserver(handler);
+ // give the observer some dom nodes to keep an eye on
+ observer.value.observe(observerElement.value);
});
onBeforeUnmount(() => {
clearInterval(timer.value);
+ observer.value.unobserve(observerElement.value);
});
async function prevSlide() {
@@ -206,10 +227,9 @@ function timeBetweenDates(expirationTimestamp) {
position: sticky
top: 82px
z-index: 3
- background: #2D2D2D
padding: 16px 0
- &:stuck
- background-color: red
+ &.stuck
+ background: #2D2D2D
@media (min-width: 992px)
top: 127px
.slider-text
diff --git a/src/views/ProfileView.vue b/src/views/ProfileView.vue
index 26f567e..869f0ea 100644
--- a/src/views/ProfileView.vue
+++ b/src/views/ProfileView.vue
@@ -2,7 +2,7 @@