initial commit

This commit is contained in:
Michel Fromme
2023-06-10 12:14:46 +02:00
commit 879e30d250
37 changed files with 13394 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
<template>
<div>
<button @click="mintToken">mint</button>
<button @click="sacrificeMeme">sacrifice Meme</button>
<button @click="approveMeme1">approve Meme1</button>
<button @click="tokenStore.approveToken(MemeBurnerJson, 10)">wallet approve</button>
</div>
</template>
<script setup>
import { onMounted, ref } from "vue";
import Web3 from "web3";
import Meme1Json from "@/assets/contracts/Meme1.json";
import Meme2Json from "@/assets/contracts/Meme2.json";
import MemeBurnerJson from "@/assets/contracts/MemeBurner.json";
import MemeTokenJson from "@/assets/contracts/MemeToken.json";
import RewardLockerJson from "@/assets/contracts/RewardLocker.json";
import { useTokenStore } from "@/stores/tokens";
const tokenStore = useTokenStore();
console.log("Meme1Json", Meme1Json);
console.log("Meme2Json", Meme2Json);
console.log("MemeBurnerJson", MemeBurnerJson);
console.log("MemeTokenJson", MemeTokenJson);
console.log("RewardLockerJson", RewardLockerJson);
// let web3 = new Web3(
// "https://eth-goerli.g.alchemy.com/v2/0-W9tOm6v_QP1PfRV8RuBCpWr-qoEbkN"
// );
// console.log("balanceOf", balanceOf);
const web3 = ref(null);
const contractMeme1 = ref(null);
const contractBurner = ref(null);
onMounted(async () => {
web3.value = new Web3(window.ethereum);
// const contract = new web3.value.eth.Contract(Meme1Json.abi, Meme1Json.contractAddress);
console.log("web3", web3.value);
const accounts = await web3.value.eth.getAccounts();
console.log("accounts", accounts);
web3.value.eth.Contract.defaultAccount = accounts[0];
contractMeme1.value = new web3.value.eth.Contract(Meme1Json.abi, Meme1Json.contractAddress);
contractBurner.value = new web3.value.eth.Contract(MemeBurnerJson.abi, MemeBurnerJson.contractAddress);
});
async function approveMeme1() {
var approve = await contractMeme1.value.methods
.approve(MemeBurnerJson.contractAddress, 10)
.send({ from: web3.value.eth.Contract.defaultAccount });
console.log("approve", approve);
}
// async function approveMeme2() {
// var approve = await contractMeme1.value.methods.approve(web3.value.eth.Contract.defaultAccount, 10).send({ from: web3.value.eth.Contract.defaultAccount })
// console.log("approve", approve);
// }
async function mintToken() {
try {
var mint = await contractMeme1.value.methods.mint(10).send({ from: web3.value.eth.Contract.defaultAccount });
console.log("mint", mint);
} catch (error) {
console.log(error);
}
// var balanceOf = await contract.methods.balanceOf("0x66422602B2f4885c57EE794174f98d9E4DDBBBC6").call();
// console.log("balanceOf", balanceOf);
// var totalSupply = await contract.methods.totalSupply().call();
// console.log("totalSupply", totalSupply);
}
async function sacrificeMeme() {
const allowance = await contractMeme1.value.methods
.allowance(web3.value.eth.Contract.defaultAccount, MemeBurnerJson.contractAddress)
.call();
console.log("allowance", allowance);
var reward = await contractBurner.value.methods
.sacrificeMeme(Meme1Json.contractAddress, "100000000000000000")
.call({ from: web3.value.eth.Contract.defaultAccount });
console.log("reward", reward);
}
// console.log("balanceOf", contract.mint(10));
</script>