-
-
Sacrafice Reward
-
-
-

-
+
+
-
Clan Reward
-
-
-

-
+
+
+
+
+
+
+
-
+
diff --git a/src/helper/helper.js b/src/helper/helper.js
new file mode 100644
index 0000000..7448db2
--- /dev/null
+++ b/src/helper/helper.js
@@ -0,0 +1,4 @@
+
+export function getImageUrl(url) {
+ return new URL(url, import.meta.url).href;
+}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 0713bce..f215ec8 100644
--- a/src/main.js
+++ b/src/main.js
@@ -14,12 +14,12 @@ import { library } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
/* import specific icons */
-import { faArrowDown, faSpinner ,faPlus } from "@fortawesome/free-solid-svg-icons";
+import { faArrowDown, faSpinner ,faPlus, faCaretLeft, faCaretRight, faBars } from "@fortawesome/free-solid-svg-icons";
import { faDiscord, faTwitter, faTelegram } from "@fortawesome/free-brands-svg-icons";
/* add icons to the library */
-library.add(faArrowDown, faDiscord, faTwitter, faTelegram, faSpinner, faPlus);
+library.add(faArrowDown, faDiscord, faTwitter, faTelegram, faSpinner, faPlus, faCaretLeft, faCaretRight, faBars);
const app = createApp(App)
diff --git a/src/stores/memeburner.js b/src/stores/memeburner.js
new file mode 100644
index 0000000..140c454
--- /dev/null
+++ b/src/stores/memeburner.js
@@ -0,0 +1,18 @@
+import { defineStore } from "pinia";
+import MemeBurnerJson from "@/assets/contracts/MemeBurner.json";
+
+export const useMemeburnerStore = defineStore("memeburner", {
+ state: () => ({
+ config: MemeBurnerJson,
+ contract: null,
+ }),
+ getters: {},
+ actions: {
+ async getCurrentRound() {
+ return await this.contract.methods.currentRound().call();
+ },
+ async getGoal(roundnumber) {
+ return await this.contract.methods.rounds(roundnumber).call();
+ },
+ },
+});
diff --git a/src/stores/rewardlocker.js b/src/stores/rewardlocker.js
new file mode 100644
index 0000000..bd30f47
--- /dev/null
+++ b/src/stores/rewardlocker.js
@@ -0,0 +1,24 @@
+import { defineStore } from "pinia";
+import RewardLockerJson from "@/assets/contracts/RewardLocker.json";
+
+export const useRewardLockerStore = defineStore("rewardlocker", {
+ state: () => ({
+ config: RewardLockerJson,
+ contract: null,
+ }),
+ getters: {},
+ actions: {
+ /*
+ * @param {*} walletAddress
+ * @param {*} roundNumber
+ * @param {*} tokenAddress
+ * @returns Rewards for specific token and specific round
+ */
+ async getRewards(walletAddress, roundNumber, tokenAddress) {
+ return await this.contract.methods.rewards(walletAddress, roundNumber, tokenAddress).call();
+ },
+ async lastCompletedRound() {
+ return await this.contract.methods.lastCompletedRound().call();
+ },
+ },
+});
diff --git a/src/stores/tokens.js b/src/stores/tokens.js
index 1c4111e..ba7642d 100644
--- a/src/stores/tokens.js
+++ b/src/stores/tokens.js
@@ -397,28 +397,52 @@ export const useTokenStore = defineStore("token", {
// ],
// },
{
- name: "Meme1",
+ name: "$PEPE",
+ logo: "/src/assets/img/token/pepe.png",
+ logoMobile: "/src/assets/img/token/pepeMobile.png",
+ vamp: {
+ logo: "/src/assets/img/token/pepevamp.png",
+ name: "$PEPE Vamp Token",
+ },
+ backgroundColor: "#4b8501",
abi: Meme1Json.abi,
contractAddress: Meme1Json.contractAddress,
},
{
- name: "Meme2",
+ name: "$SHIB",
+ logo: "/src/assets/img/token/shib.png",
+ logoMobile: "/src/assets/img/token/shibMobile.png",
+ vamp: {
+ logo: "/src/assets/img/token/shibvamp.png",
+ name: "$SHIBA Vamp Token",
+ },
abi: Meme2Json.abi,
contractAddress: Meme2Json.contractAddress,
},
+ {
+ name: "$ELON",
+ logo: "/src/assets/img/token/elon.png",
+ logoMobile: "/src/assets/img/token/elonMobile.png",
+ vamp: {
+ logo: "/src/assets/img/token/shibvamp.png",
+ name: "$ELON Vamp Token",
+ },
+ abi: null,
+ contractAddress: null,
+ },
],
activeToken: {
address: null,
abi: null,
balance: null,
- contract: null,
- allowance: null,
+ contract: null,
+ allowance: null,
+ },
+ loading: false,
+ memeBurner: {
+ config: MemeBurnerJson,
+ contract: null,
},
- loading: false,
- memeBurner: {
- config: MemeBurnerJson,
- contract: null
- }
}),
getters: {},
actions: {
@@ -428,31 +452,32 @@ export const useTokenStore = defineStore("token", {
this.contract = new web3.eth.Contract(token.abi, token.contractAddress);
const walletStore = useWalletStore();
if (walletStore.connected) {
- this.activeToken.balance = await walletStore.getTokenBalance(token);
- this.activeToken.allowance = await this.allowance();
-
+ this.activeToken.balance = await walletStore.getTokenBalance(token);
+ this.activeToken.allowance = await this.allowance();
}
- },
- async allowance() {
- const walletStore = useWalletStore();
- console.log("walletStore.address", walletStore.address);
- const allowance = await this.contract.methods.allowance(walletStore.address, MemeBurnerJson.contractAddress).call();
- console.log("allowance", allowance);
- return allowance;
- },
- async approveToken(amount) {
+ },
+ async allowance() {
const walletStore = useWalletStore();
- this.loading = true;
+ console.log("walletStore.address", walletStore.address);
+ const allowance = await this.contract.methods
+ .allowance(walletStore.address, MemeBurnerJson.contractAddress)
+ .call();
+ console.log("allowance", allowance);
+ return allowance;
+ },
+ async approveToken(amount) {
+ const walletStore = useWalletStore();
+ this.loading = true;
var approve = await this.contract.methods
.approve(this.memeBurner.config.contractAddress, amount)
- .send({ from: walletStore.address });
- console.log("approve", approve);
- this.loading = false;
- return approve;
+ .send({ from: walletStore.address });
+ console.log("approve", approve);
+ this.loading = false;
+ return approve;
},
- async sacrificeToken(amount) {
- try {
- this.loading = true;
+ async sacrificeToken(amount) {
+ try {
+ this.loading = true;
console.log("this.activeToken.", this.activeToken.contractAddress);
const walletStore = useWalletStore();
console.log("walletStore.address", walletStore.address);
@@ -460,24 +485,23 @@ export const useTokenStore = defineStore("token", {
.sacrificeMeme(this.activeToken.contractAddress, "400000000000000000")
.send({ from: walletStore.address });
console.log("reward", reward);
- } catch (error) {
- error.log(error);
-
- } finally {
- this.loading = false;
- }
- },
- async getRewardsFor(amount) {
+ } catch (error) {
+ error.log(error);
+ } finally {
+ this.loading = false;
+ }
+ },
+ async getRewardsFor(amount) {
const contractsStore = useContractStore();
- var rewards = await contractsStore.list.memeBurnerPublic.methods
+ var rewards = await contractsStore.list.memeBurnerPublic.methods
.getRewardFor(this.activeToken.contractAddress, amount)
- .call();
- return rewards
- },
- getTokenContract(token) {
- console.log("token", token);
+ .call();
+ return rewards;
+ },
+ getTokenContract(token) {
+ console.log("token", token);
const contractAddress = token.contractAddress;
- console.log("contractAddress", contractAddress);
+ console.log("contractAddress", contractAddress);
const activeToken = this.token.find((obj) => obj.contractAddress === contractAddress);
console.log("activeToken", activeToken);
const web3 = new Web3(window.ethereum);
diff --git a/src/stores/wallet.js b/src/stores/wallet.js
index df929c6..1b55af7 100644
--- a/src/stores/wallet.js
+++ b/src/stores/wallet.js
@@ -9,7 +9,6 @@ export const useWalletStore = defineStore("wallet", {
address: null,
}),
getters: {
- double: (state) => state.count * 2,
},
actions: {
increment() {
diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue
index 8f69b09..9877192 100644
--- a/src/views/HomeView.vue
+++ b/src/views/HomeView.vue
@@ -1,4 +1,5 @@