const { ethers } = require("ethers"); var contractAddress = "0x5F109D5Cea7BD7345EFcC1b7b7Bb7FB2693e5Fb2"; var abi = [ { inputs: [ { internalType: "string", name: "_name", type: "string", }, { internalType: "uint256", name: "_favoriteNumber", type: "uint256", }, ], name: "addPerson", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "", type: "string", }, ], name: "nameToFavoriteNumber", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "people", outputs: [ { internalType: "uint256", name: "favoriteNumber", type: "uint256", }, { internalType: "string", name: "name", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "retrieve", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_favoriteNumber", type: "uint256", }, ], name: "store", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; async function connect() { if (typeof window.ethereum !== "undefined") { try { await ethereum.request({ method: "eth_requestAccounts" }); } catch (error) { console.log(error); } document.getElementById("connectButton").innerHTML = "Connected"; const accounts = await ethereum.request({ method: "eth_accounts" }); console.log(accounts); } else { document.getElementById("connectButton").innerHTML = "Please install MetaMask"; } } async function storeNumber() { if (typeof window.ethereum !== "undefined") { const provider = new ethers.providers.Web3Provider(window.ethereum); const signer = provider.getSigner(); const contract = new ethers.Contract(contractAddress, abi, signer); let inputNumber = document.getElementById("inputNumber").value; let divNumber = document.getElementById("divNumber"); try { await contract.store(inputNumber); } catch (error) { console.log(error); } } else { document.getElementById("executeButton").innerHTML = "Please install MetaMask"; } } async function retrieve() { if (typeof window.ethereum !== "undefined") { const provider = new ethers.providers.Web3Provider(window.ethereum); const signer = provider.getSigner(); const contract = new ethers.Contract(contractAddress, abi, signer); let divNumber = document.getElementById("divNumber"); try { let previousNumber = await contract.retrieve(); divNumber.innerHTML = previousNumber; alert(previousNumber); } catch (error) { console.log(error); } } else { document.getElementById("executeButton").innerHTML = "Please install MetaMask"; } } module.exports = { connect, storeNumber, retrieve, };