JSFiddle - React, Tailwind, and code Playground

by ZeNz0r

HTML

<script src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js"></script>

JavaScript

const GIVEAWAY_START = 12
const GIVEAWAY_ID = 20

const template = {
  name: "",
  wallet: ""
}
const listOfWallets = [{
  name: "zenz0r",
  wallet: "0x2491751014D48E83E74AbfA47b29A1a9888eAE4d"
}, {
  name: "zt",
  wallet: "0x1d2FDB34234f56d1C641eC2F36f56DF83B1DBF84"
}, {
  name: "jbs",
  wallet: "0x5C836fb04dac2Ab3944fd2648a910378C3F1Fc0E"
}, {
  name: "postal",
  wallet: "0x0c73dd476a66b40a9524f5b9252894488e78c9da"
}, {
  name: "levi",
  wallet: "0x2E4FE79a0D8418F1012EE9f174019d6C78A912d1"
}, {
  name: "nutshot",
  wallet: "0xA96070eF29522926cF3De0a521046b8717Cfc11b"
}]


const provider = new ethers.providers.JsonRpcProvider("https://api.avax.network/ext/bc/C/rpc")

const giveawayContractAddress = "0xEDD2D2D21F7c7882AcEF93002899Fd169ac19043";

const giveawayAbi = [{
  "anonymous": false,
  "inputs": [{
    "indexed": true,
    "internalType": "address",
    "name": "previousOwner",
    "type": "address"
  }, {
    "indexed": true,
    "internalType": "address",
    "name": "newOwner",
    "type": "address"
  }],
  "name": "OwnershipTransferred",
  "type": "event"
}, {
  "inputs": [],
  "name": "GetWinningNumbers",
  "outputs": [{
    "internalType": "uint256[]",
    "name": "winningNodeBearIds_",
    "type": "uint256[]"
  }],
  "stateMutability": "nonpayable",
  "type": "function"
}, {
  "inputs": [{
    "internalType": "uint256",
    "name": "",
    "type": "uint256"
  }],
  "name": "GiveawayMap",
  "outputs": [{
    "internalType": "uint256",
    "name": "_id",
    "type": "uint256"
  }, {
    "internalType": "uint256",
    "name": "_totalNumBears",
    "type": "uint256"
  }, {
    "internalType": "uint256",
    "name": "_VRFValue",
    "type": "uint256"
  }, {
    "internalType": "uint256",
    "name": "_numWinners",
    "type": "uint256"
  }],
  "stateMutability": "view",
  "type": "function"
}, {
  "inputs": [{
    "internalType": "uint256",
    "name": "",
    "type": "uint256"
  }],
  "name": "WinnerMap",
  "outputs": [{
    "internalType": "uint256",
  ...