{"version":3,"sources":["logo.svg","components/button/Button.js","components/question/Question.js","components/abis/abi.js","pages/index/Index.js","App.js","reportWebVitals.js","index.js"],"names":["Button","props","className","disabled","children","Teams","convertToWei","amount","convertToBNB","Question","useState","setAmount","hasBetted","setHasBetted","hasEnded","setHasEnded","setWinTeam","rewardClaimed","setRewardClaimed","playerWon","setPlayerWon","isLoading","setIsLoading","firstTeamBetAmount","setFirstTeamBetAmount","secondTeamBetAmount","setSecondTeamBetAmount","contract","web3","eth","Contract","contractABI","contractAddress","updateBettingStatus","methods","getHasEnded","call","then","result","getPlayerBetted","selectedAccount","getWinTeam","getPlayerWon","getPlayerClaimedReward","getTotalBetOne","getTotalBetTwo","balance","optionClicked","team","bet","send","from","value","extraCallback","error","claimReward","title","onClick","type","onChange","event","target","placeholder","style","marginRight","firstTeamAnswer","secondTeamAnswer","href","CONTRACT_ABI","Questions","Index","setWeb3","setSelectedAccount","setBalance","updateBalance","web3Provider","account","web3Local","getBalance","err","console","log","utils","fromWei","provider","window","ethereum","Web3","request","method","accounts","catch","on","Math","round","toFixed","map","question","index","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.30c3b9b0.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo.6ce24c58.svg\";","import React from 'react';\nimport './button.css';\n\nexport default function Button(props) {\n return (\n \n )\n}","import React, { useState } from 'react';\nimport Button from '../button/Button';\nimport './question.css';\n\nconst Teams = {\n FIRST_TEAM: 1,\n SECOND_TEAM: 2,\n};\n\nconst convertToWei = (amount) => {\n return amount * (10 ** 18);\n};\n\nconst convertToBNB = (amount) => {\n return amount / (10 ** 18);\n}\n\nexport default function Question(props) {\n const [amount, setAmount] = useState(0);\n const [hasBetted, setHasBetted] = useState(null);\n const [hasEnded, setHasEnded] = useState(null);\n const [winTeam, setWinTeam] = useState(null);\n const [rewardClaimed, setRewardClaimed] = useState(null);\n const [playerWon, setPlayerWon] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const [firstTeamBetAmount, setFirstTeamBetAmount] = useState(0);\n const [secondTeamBetAmount, setSecondTeamBetAmount] = useState(0);\n\n const contract = props.web3 && new props.web3.eth.Contract(\n props.contractABI,\n props.contractAddress,\n );\n\n const optionPicked = (callback) => {\n callback(amount);\n };\n\n const updateBettingStatus = () => {\n contract.methods.getHasEnded().call().then((result) => {\n setHasEnded(result);\n });\n\n contract.methods.getPlayerBetted(props.selectedAccount).call().then((result) => {\n setHasBetted(result);\n });\n\n contract.methods.getWinTeam().call().then((result) => {\n setWinTeam(result);\n });\n\n contract.methods.getPlayerWon(props.selectedAccount).call().then((result) => {\n setPlayerWon(result);\n });\n\n contract.methods.getPlayerClaimedReward(props.selectedAccount).call().then((result) => {\n setRewardClaimed(result);\n });\n\n contract.methods.getTotalBetOne().call().then((result) => {\n setFirstTeamBetAmount(result);\n });\n\n contract.methods.getTotalBetTwo().call().then((result) => {\n setSecondTeamBetAmount(result);\n });\n };\n\n useState(() => {\n updateBettingStatus();\n }, []);\n\n useState(() => {\n updateBettingStatus();\n }, [props.balance]);\n\n const optionClicked = (team) => {\n setIsLoading(true);\n try {\n contract.methods.bet(team).send({\n from: props.selectedAccount,\n value: convertToWei(amount)\n }).then(() => {\n updateBettingStatus();\n if (props.extraCallback) {\n props.extraCallback();\n }\n setIsLoading(false);\n });\n } catch (error) {\n setIsLoading(false);\n }\n }\n\n const claimReward = () => {\n setIsLoading(true);\n try {\n contract.methods.claimReward().send({ from: props.selectedAccount }).then(() => {\n updateBettingStatus();\n if (props.extraCallback) {\n props.extraCallback();\n }\n setIsLoading(false);\n });\n } catch (error) {\n setIsLoading(false);\n }\n }\n\n const getButtonJSX = () => {\n if (hasEnded == null) {\n return null;\n }\n if (hasEnded) {\n return (\n <>\n
\n Bet has ended. \n You {\n playerWon \n ? 'won'\n : 'lost'\n }!\n \n
\n {\n playerWon &&\n <>\n {\n isLoading &&\nLoading, please wait...
\n }\n \n >\n }\n >\n );\n }\n if (hasBetted) {\n return (\n\n You already bet on this one! Check back later to see if you won or lost.\n
\n );\n }\n return (\n <>\n setAmount(event.target.value)} placeholder='Amount to bet (in BNB)' />\n {\n isLoading &&\nLoading, please wait...
\n }\n\n Bet contract URL: {props.contractAddress}\n
\nTotal bet YES: {convertToBNB(firstTeamBetAmount)} BNB
\nTotal bet NO: {convertToBNB(secondTeamBetAmount)} BNB
\nWe created this to give the people who don't believe in FutureCoin the ability to short us.
\nConnect your wallet (MetaMask) to see the bets and the pots.
\nMake sure you're conneted to Binance Smart Chain.
\nPlace the BNB amount you want to bet in the inputs below. Then pick YES or NO, and click the button.
\nIf you're using a mobile device, make sure you connect from the MetaMask browser.
\nMinimum bet is 0.01 BNB.
\n