{"version":3,"sources":["Standart/images/MMProLogo.svg","Standart/images/arrowUpWhite.svg","Standart/images/gate_logo.png","Standart/components/Footer.js","Standart/components/Button.js","Standart/components/Modal/index.js","Standart/hooks/useOnClickOutside.js","Standart/wallet/connectors.js","Standart/wallet/ethereum.js","Standart/components/ConnectModal/index.js","Standart/components/HidingText/index.tsx","Standart/components/Header/index.tsx","Standart/hooks/useConnectionCheck.js","Standart/StandardAppContainer.tsx","Standart/utils/web3.js","Standart/hooks/useWeb3.js","Standart/hooks/useContract.js","Standart/components/Spinner/index.js","Standart/components/ErrorMessage/index.js","Standart/hooks/useInput.js","Standart/config/constants/BigNumber.js","App.js","Standart/config/constants/contract.js","index.js"],"names":["module","exports","className","style","minWidth","href","target","rel","src","alt","width","color","bgColor","showBorder","onClick","children","uppercase","disabled","cx","transition","borderRadius","padding","fontSize","border","fontWeight","Modal","onClose","title","ref","useRef","handler","useEffect","listener","event","current","contains","document","addEventListener","removeEventListener","useOnClickOutside","querySelector","classList","remove","injected","InjectedConnector","supportedChainIds","walletconnect","WalletConnectConnector","rpc","56","97","qrcode","bridge","walletconnectNoQr","window","ethereum","isConnected","isMetaMask","ConnectModal","props","useWeb3React","chainId","activate","active","error","opened","closeHandle","setError","a","initNetwork","height","then","location","reload","HidingText","defaultText","hidingText","peekOut","Header","str","account","deactivate","connector","useState","isOpen","setIsOpen","disconnectIsPossible","setDisconnectIsPossible","isDisplayingMetamaskDisconnectTip","setIsDisplayingMetamaskDisconnectTip","logo","arrowUp","zIndex","Button","walletConnectProvider","setTimeout","length","substr","useConnectionCheck","shouldTryWalletConnect","setShouldTryWalletConnect","StandardAppContainer","networkError","isAuthorized","minHeight","display","flexDirection","justifyContent","Footer","httpProvider","Web3","providers","HttpProvider","web3NoAccount","getWeb3NoAccount","useWeb3","library","refEth","web3","setweb3","useContract","abi","address","eth","Contract","contract","setContract","Spinner","animationDuration","size","borderWidth","borderTopColor","borderBottomColor","defaultProps","Error","styled","div","type","ErrorMessage","text","useInput","initialState","validations","value","setValue","isDirty","setDirty","valid","useValidation","onChange","e","onBlur","clearValue","isEmpty","setEmptyError","emailError","setEmailError","validation","match","getBigNumber","MAX_BN","BigNumber","from","mul","Wrapper","CardWrapper","AllocationCardsWrapper","Text","span","marginBottom","WarningText","SuccessModal","AllocationContainer","App","marketplaceContract","AllocationMarketplace","allocationContract","AllocationPaymentReciever","useAllocationPaymentReceiverContract","busdContract","Busd","useBusdContract","nftCollection","setNftCollection","nftLoading","setNftLoading","allocationPrice","setAllocationPrice","email","isEmail","busd","totalAllocationError","setTotalAllocationError","transactionLoading","setTransactionLoading","transactionError","setTransactionError","userBusd","setUserBusd","successModal","setSuccessModal","successModalTimer","undefined","showNftCollection","i","methods","balanceOf","call","availableNft","allocations","nftPrice","prevState","name","price","Math","pow","getUserBalance","balance","checkApprove","allowance","busdCountApproved","isApprovedForAll","weiBusd","APPROVE_TRANS","approve","send","setApprovalForAll","getEncryptedEmail","axios","post","res","data","encryptedEmail","console","log","allocationSum","reduce","accumulator","object","sendTransaction","approveRes","applyForAllocations","status","toFixed","min","step","max","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","getLibrary","provider"],"mappings":"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","file":"static/js/main.f03a589c.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/MMProLogo.55877753.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowUpWhite.e6371f0c.svg\";","module.exports = \"data:image/png;base64,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\"","import React from \"react\";\r\n\r\nexport default () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport cx from \"classnames\";\r\n\r\nexport default ({\r\n color = \"white\",\r\n bgColor = \"primary\",\r\n showBorder = false,\r\n onClick,\r\n className,\r\n children,\r\n uppercase,\r\n disabled,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n","import React, {useRef} from \"react\";\nimport useOnClickOutside from \"../../hooks/useOnClickOutside\";\nimport './index.css'\n\nconst Modal = ({children, onClose, title}) => {\n const ref = useRef(null);\n\n const closeModal = () => {\n document.querySelector(\"body\").classList.remove(\"overflow-hidden\");\n onClose();\n };\n\n useOnClickOutside(ref, () => {\n closeModal();\n });\n\n return (\n \n \n
\n
{title}
\n
\n {children}\n \n \n );\n};\n\nexport default Modal;\n","import { useEffect } from \"react\";\n\nexport default function useOnClickOutside(ref, handler) {\n useEffect(() => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n}\n","import { InjectedConnector } from \"@web3-react/injected-connector\";\nimport { WalletConnectConnector } from \"@web3-react/walletconnect-connector\";\nimport Web3 from \"web3\";\n\n// Chain IDs\n// These are the IDs of the Ethereum chains that MetaMask supports by default. Consult chainid.network (opens new window)for more.\n// Hex\tDecimal\tNetwork\n// 0x1\t1\tEthereum Main Network (Mainnet)\n// 0x3\t3\tRopsten Test Network\n// 0x4\t4\tRinkeby Test Network\n// 0x5\t5\tGoerli Test Network\n// 0x2a\t42\tKovan Test Network\nexport const injected = new InjectedConnector({\n supportedChainIds: [56, 97],\n});\n\nexport const walletconnect = new WalletConnectConnector({\n rpc: {\n 56: \"https://bsc-dataseed.binance.org/\",\n 97: \"https://data-seed-prebsc-1-s1.binance.org:8545/\",\n },\n qrcode: true,\n bridge: \"https://bridge.walletconnect.org\",\n});\n\nexport const walletconnectNoQr = new WalletConnectConnector({\n rpc: {\n 56: \"https://bsc-dataseed.binance.org/\",\n 97: \"https://data-seed-prebsc-1-s1.binance.org:8545/\",\n },\n qrcode: false,\n bridge: \"https://bridge.walletconnect.org\",\n});\n\n\nexport const getLibrary = (provider) => new Web3(provider);\n","export const ethereumConnect = () =>\n window.ethereum.request({ method: \"eth_requestAccounts\" });\nexport const isEthereumConnected = window.ethereum\n ? window.ethereum.isConnected()\n : false;\nexport const isEthereumMetaMask = window.ethereum\n ? window.ethereum.isMetaMask\n : null;\nexport const ethereumSendTransaction = (params) =>\n window.ethereum.request({\n method: \"eth_sendTransaction\",\n params,\n });\n\nexport const switchNetwork = async (chainId) => {\n try {\n await window.ethereum.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: \"0x38\" }],\n });\n } catch (switchError) {\n // This error code indicates that the chain has not been added to MetaMask.\n if (switchError.code === 4902) {\n try {\n await window.ethereum.request({\n method: \"wallet_addEthereumChain\",\n params: [\n {\n chainId: \"0x38\",\n rpcUrls: [\"https://bsc-dataseed.binance.org/\"],\n chainName: \"BSC Mainnet\",\n nativeCurrency: { name: \"BNB\", decimals: 18, symbol: \"BNB\" },\n blockExplorerUrls: [\"https://bscscan.com/\"],\n },\n ],\n });\n } catch (error) {\n console.error(error);\n }\n }\n }\n};\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect } from \"react\";\nimport Modal from \"../Modal\";\nimport './index.css'\nimport { useWeb3React } from \"@web3-react/core\";\nimport { injected, walletconnect, switchNetwork } from \"../../wallet\";\n\nexport default function ConnectModal(props) {\n const { chainId, activate, active, error } = useWeb3React();\n const { opened, closeHandle, setError } = props;\n\n useEffect(() => {\n const initNetwork = async () => {\n // setError(56 !== chainId && active);\n // if (56 !== chainId) {\n // await switchNetwork();\n // }\n };\n initNetwork();\n }, [active, chainId, error]);\n\n return (\n <>\n {opened && (\n \n
\n {\n activate(injected);\n closeHandle();\n }}\n >\n \n

Metamask

\n \n {\n activate(walletconnect).then(()=>{\n window.location.reload()\n });\n closeHandle();\n }}\n >\n \n

Wallet connect

\n \n
\n
\n )}\n \n );\n}\n","import React from \"react\";\nimport './index.css'\n\ntype hidingTextProps = {\n defaultText: string,\n hidingText: string,\n peekOut: boolean\n}\n\nexport const HidingText = ({defaultText, hidingText, peekOut}: hidingTextProps) => {\n\n return (\n <>\n
\n {defaultText}\n
\n
\n {hidingText}\n
\n \n );\n};","import React, {useState} from \"react\";\nimport Button from \"../Button.js\";\nimport ConnectModal from \"../ConnectModal\";\nimport {useWeb3React} from \"@web3-react/core\";\nimport './index.css'\n// @ts-ignore\nimport {HidingText} from \"../HidingText\";\nimport logo from '../../images/MMProLogo.svg'\nimport arrowUp from '../../images/arrowUpWhite.svg'\n\nexport const Header = () => {\n const {account, deactivate, active, connector} = useWeb3React();\n const [isOpen, setIsOpen] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [error, setError] = useState(false);\n const [disconnectIsPossible, setDisconnectIsPossible] = useState(false)\n const [isDisplayingMetamaskDisconnectTip, setIsDisplayingMetamaskDisconnectTip] = useState(false)\n\n const disconnect = () => {\n if (disconnectIsPossible) {\n // @ts-ignore\n if(connector && connector.walletConnectProvider){\n deactivate();\n }else{\n setIsDisplayingMetamaskDisconnectTip(true)\n setTimeout(()=>{\n setIsDisplayingMetamaskDisconnectTip(false)\n }, 5000)\n }\n } else {\n setDisconnectIsPossible(true)\n setTimeout(() => {\n setDisconnectIsPossible(false)\n }, 1500)\n }\n };\n\n function truncate(str: string) {\n return str.length > 0\n ? str.substr(0, 6) + \"...\" + str.substr(str.length - 4, str.length - 1)\n : str;\n }\n\n return (\n <>\n
\n
\n
\n \n \n \n
\n {isDisplayingMetamaskDisconnectTip &&\n
Please disconnect using MetaMask
\n }\n {!isDisplayingMetamaskDisconnectTip &&\n <>\n {!active ? (\n // @ts-ignore\n {\n setIsOpen(true);\n }}\n >\n Connect Wallet\n \n ) : (\n
\n
\n {/* @ts-ignore */}\n \n
\n
\n )}\n \n }\n
\n
\n {\n setIsOpen(false);\n }}\n />\n \n );\n};","import {useEffect, useState} from \"react\";\nimport {useWeb3React} from \"@web3-react/core\";\nimport {walletconnectNoQr} from \"../wallet/connectors\";\n\nexport const useConnectionCheck = () => {\n const {active, activate} = useWeb3React();\n\n const [shouldTryWalletConnect, setShouldTryWalletConnect] = useState(false)\n\n function tryWalletConnect() {\n if(!active && shouldTryWalletConnect){\n activate(walletconnectNoQr)\n setShouldTryWalletConnect(false)\n }\n }\n\n useEffect(() => {\n if(active && shouldTryWalletConnect){\n setShouldTryWalletConnect(false)\n } else {\n tryWalletConnect()\n }\n }, [active, shouldTryWalletConnect])\n\n useEffect(()=>{\n setTimeout(()=>{\n setShouldTryWalletConnect(true)\n }, 1000)\n }, [])\n};","/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-undef */\nimport React, {useEffect} from \"react\";\nimport Footer from \"./components/Footer\";\nimport {Header} from \"./components/Header\";\nimport {useConnectionCheck} from \"./hooks/useConnectionCheck\";\nimport {injected} from \"./wallet\";\nimport {useWeb3React} from \"@web3-react/core\";\n\nconst StandardAppContainer = (props: any) => {\n // @ts-ignore\n const {active, activate, networkError} = useWeb3React();\n useConnectionCheck()\n\n useEffect(() => {\n injected.isAuthorized().then((isAuthorized) => {\n if (isAuthorized && !active && !networkError) {\n activate(injected);\n }\n });\n }, [activate, networkError]);\n\n return (\n
\n
\n
\n {props.children}\n
\n
\n
\n );\n};\n\nexport default StandardAppContainer;\n","import Web3 from 'web3';\n\nconst httpProvider = new Web3.providers.HttpProvider('https://bsc-dataseed.binance.org')\n\nconst web3NoAccount = new Web3(httpProvider)\n\nconst getWeb3 = () => {\n return new Web3(httpProvider)\n}\n\nconst getWeb3NoAccount = () => {\n return web3NoAccount\n}\n\nexport const getContract = (abi, address) => {\n const web3 = getWeb3()\n return new web3.eth.Contract(abi, address)\n}\n\nexport {getWeb3NoAccount}","import { useEffect, useRef, useState } from 'react'\nimport Web3 from 'web3'\nimport { useWeb3React } from '@web3-react/core'\nimport { getWeb3NoAccount } from '../utils/web3'\n\nconst useWeb3 = () => {\n const { library } = useWeb3React()\n const refEth = useRef(library)\n const [web3, setweb3] = useState(library ? new Web3(library) : getWeb3NoAccount())\n\n useEffect(() => {\n if (library !== refEth.current) {\n setweb3(library ? new Web3(library) : getWeb3NoAccount())\n refEth.current = library\n }\n }, [library])\n\n return web3\n}\n\nexport default useWeb3\n","import {useState, useEffect} from \"react\";\nimport useWeb3 from \"./useWeb3\";\nimport AllocationPaymentReciever from '../config/abi/AllocationPaymentReceiver.json';\nimport AllocationMarketplace from '../config/abi/AllocationMarketplace.json'\nimport Busd from '../config/abi/Busd.json'\n\nconst useContract = (abi, address) => {\n const web3 = useWeb3();\n const [contract, setContract] = useState(new web3.eth.Contract(abi, address));\n\n useEffect(() => {\n setContract(new web3.eth.Contract(abi, address));\n }, [abi, address, web3]);\n\n return contract;\n}\n\nexport const useAllocationPaymentReceiverContract = (address) => {\n const abi = AllocationPaymentReciever\n return useContract(abi, address);\n}\n\nexport const useAllocationMarketplaceContract = (address) => {\n const abi = AllocationMarketplace\n return useContract(abi, address);\n}\n\nexport const useBusdContract = (address) => {\n const abi = Busd\n return useContract(abi, address)\n}\n\n","import React from \"react\";\nimport \"./index.css\";\n\nconst Spinner = ({ animationDuration, size, color }) => {\n return (\n \n \n \n \n );\n};\n\nSpinner.defaultProps = {\n animationDuration: 1000,\n size: 40,\n color: \"#2c6fa5\",\n};\n\nexport default Spinner;\n","import React from 'react';\nimport styled from 'styled-components'\n\nconst Error = styled.div`\n font-size: 14px;\n font-weight: 600;\n background: ${props => props.type === 'primary' ? '#e5e5e51f' : ''};\n color: ${props => props.type === 'primary' ? 'white' : 'red'};\n padding: ${props => props.type === 'primary' ? '20px' : '0'};\n border-radius: ${props => props.type === 'primary' ? '10px' : '0'};\n margin-top: ${props => props.type === 'primary' ? '30px' : '10px'};\n`\n\nconst ErrorMessage = ({text, type}) => {\n return {text}\n};\n\nexport default ErrorMessage;\n","import {useState, useEffect} from \"react\";\n\nexport const useInput = (initialState, validations) => {\n const [value, setValue] = useState(initialState)\n const [isDirty, setDirty] = useState(false)\n const valid = useValidation(value, validations)\n\n const clearValue = () => setValue('')\n\n const onChange = e => setValue(e.target.value)\n\n const onBlur = () => setDirty(true)\n\n return {\n value,\n onChange,\n onBlur,\n isDirty,\n clearValue,\n ...valid\n }\n}\n\nexport const useValidation = (value, validations) => {\n const [isEmpty, setEmptyError] = useState(true)\n const [emailError, setEmailError] = useState(false)\n\n useEffect(() => {\n for (const validation in validations) {\n switch (validation) {\n case 'isEmpty':\n value ? setEmptyError(false) : setEmptyError(true)\n break\n case 'isEmail':\n const re = /^(([^<>()[\\],;:\\s@]+(\\.[^<>()[\\],;:\\s@]+)*)|(.+))@(([^<>()[\\],;:\\s@]+\\.)+[^<>()[\\],;:\\s@]{2,})$/i;\n return value.match(re) ? setEmailError(false) : setEmailError(true)\n }\n }\n\n }, [value])\n\n return {\n isEmpty,\n emailError,\n }\n}\n","import {BigNumber} from \"ethers\";\n\nexport const getBigNumber = (value) => {\n const MAX_BN = BigNumber.from(\"1000000000000000000\");\n const price = BigNumber.from(value)\n return price.mul(MAX_BN)\n}","/* eslint-disable react-hooks/exhaustive-deps */\r\n/* eslint-disable no-undef */\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport StandardAppContainer from \"./Standart/StandardAppContainer\";\r\nimport {\r\n useAllocationMarketplaceContract,\r\n useAllocationPaymentReceiverContract,\r\n useBusdContract\r\n} from \"./Standart/hooks/useContract\";\r\nimport {AllocationMarketplaceAddress, AllocationPaymentReceiverAddress, BusdAddress} from './Standart/config/constants/contract';\r\nimport {useWeb3React} from \"@web3-react/core\";\r\nimport Spinner from './Standart/components/Spinner';\r\nimport styled from 'styled-components';\r\nimport Button from './Standart/components/Button';\r\nimport ErrorMessage from \"./Standart/components/ErrorMessage\";\r\nimport {useInput} from \"./Standart/hooks/useInput\";\r\nimport {BigNumber} from \"ethers\";\r\nimport {getBigNumber} from \"./Standart/config/constants/BigNumber\";\r\nimport axios from 'axios';\r\nimport GATE_LOGO from './Standart/images/gate_logo.png'\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n`\r\n\r\nconst CardWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n background: rgba(255, 255, 255, 0.5);\r\n padding: 30px;\r\n border-radius: 20px;\r\n width: 100%;\r\n`\r\n\r\nconst AllocationCardsWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column\r\n`\r\n\r\nconst Text = styled.span`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: ${props => props.fontSize};\r\n width: ${props => props.width};\r\n margin-bottom: ${props => props.marginBottom};\r\n text-align: center;\r\n\r\n @media (max-width: 600px) {\r\n font-size: 14px;\r\n }\r\n`\r\n\r\nconst WarningText = styled.div`\r\n color: red;\r\n font-weight: bold;\r\n width: 320px;\r\n font-size: 12px;\r\n text-align: center;\r\n`\r\n\r\nconst SuccessModal = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 10px;\r\n background: #e5e5e51f;\r\n color: white;\r\n width: 380px;\r\n border-radius: 10px;\r\n margin-top: 20px;\r\n`\r\n\r\nconst AllocationContainer = styled.div`\r\n\r\n`\r\n\r\nconst SUCCESS_MODAL_TIMER = 5000;\r\n\r\nconst App = () => {\r\n\r\n const {account} = useWeb3React()\r\n const marketplaceContract = useAllocationMarketplaceContract(AllocationMarketplaceAddress)\r\n const allocationContract = useAllocationPaymentReceiverContract(AllocationPaymentReceiverAddress)\r\n const busdContract = useBusdContract(BusdAddress)\r\n const [nftCollection, setNftCollection] = useState([])\r\n const [nftLoading, setNftLoading] = useState(false)\r\n const [allocationPrice, setAllocationPrice] = useState('')\r\n const email = useInput('', {isEmpty: true, isEmail: true})\r\n const busd = useInput(allocationPrice, {isEmpty: true})\r\n const [totalAllocationError, setTotalAllocationError] = useState(false)\r\n const [transactionLoading, setTransactionLoading] = useState(false)\r\n const [transactionError, setTransactionError] = useState(false)\r\n const [userBusd, setUserBusd] = useState(null)\r\n const [successModal, setSuccessModal] = useState(false)\r\n const successModalTimer = useRef(undefined)\r\n\r\n const showNftCollection = async () => {\r\n setNftLoading(true)\r\n try {\r\n if (account) {\r\n for (let i = 0; i <= 4; i++) {\r\n const availableNft = await marketplaceContract.methods.balanceOf(account, i).call()\r\n const nftPrice = await allocationContract.methods.allocations(i).call()\r\n if (+availableNft) {\r\n setNftCollection(prevState => [...prevState, {name: `TIER-${i + 1}`, price: +nftPrice / Math.pow(10, 18)}])\r\n }\r\n }\r\n setNftLoading(false)\r\n }\r\n } catch (e) {\r\n setTransactionError(true)\r\n }\r\n }\r\n\r\n const getUserBalance = async () => {\r\n if (account) {\r\n const balance = await busdContract.methods.balanceOf(account).call()\r\n setUserBusd(balance / Math.pow(10, 18))\r\n }\r\n }\r\n\r\n const checkApprove = async () => {\r\n if (account) {\r\n const busdCountApproved = await busdContract.methods.allowance(account, AllocationPaymentReceiverAddress).call()\r\n const isApprovedForAll = await marketplaceContract.methods.isApprovedForAll(account, AllocationPaymentReceiverAddress).call()\r\n const weiBusd = getBigNumber(busd.value)\r\n\r\n if (+busdCountApproved < +weiBusd) {\r\n const APPROVE_TRANS = BigNumber.from(\"115792089237316195423570985008687907853269984665640564039457584007913129639935\");\r\n await busdContract.methods.approve(AllocationPaymentReceiverAddress, APPROVE_TRANS).send({from: account})\r\n }\r\n\r\n if (!isApprovedForAll) {\r\n await marketplaceContract.methods.setApprovalForAll(AllocationPaymentReceiverAddress, true).send({from: account})\r\n }\r\n\r\n return true\r\n }\r\n }\r\n\r\n const getEncryptedEmail = async (email) => {\r\n try {\r\n const res = await axios.post('https://encrypted-email-mmpro.herokuapp.com/encryptEmail', {\r\n email: email\r\n })\r\n return res.data.encryptedEmail\r\n } catch(e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n const showSuccessTransaction = () => {\r\n setSuccessModal(true)\r\n\r\n successModalTimer.current = setTimeout(() => {\r\n setSuccessModal(false);\r\n }, SUCCESS_MODAL_TIMER);\r\n }\r\n\r\n useEffect(() => {\r\n showNftCollection()\r\n getUserBalance()\r\n }, [account])\r\n\r\n useEffect(() => {\r\n const allocationSum = nftCollection.reduce((accumulator, object) => {\r\n return accumulator + object.price;\r\n }, 0);\r\n setAllocationPrice(allocationSum)\r\n }, [nftCollection.length])\r\n\r\n const sendTransaction = async () => {\r\n\r\n if (+busd.value <= +allocationPrice) {\r\n setTotalAllocationError(false)\r\n } else {\r\n setTotalAllocationError(true)\r\n\r\n return\r\n }\r\n\r\n if (email.value && !email.emailError && busd.value && !totalAllocationError) {\r\n setTransactionLoading(true)\r\n const weiBusd = getBigNumber(busd.value)\r\n try {\r\n const approveRes = await checkApprove()\r\n const encryptedEmail = await getEncryptedEmail(email.value)\r\n if(approveRes && encryptedEmail) {\r\n allocationContract.methods.applyForAllocations(encryptedEmail, weiBusd).send({from: account})\r\n .then((res) => {\r\n if (res.status) {\r\n email.clearValue()\r\n busd.clearValue()\r\n setTransactionLoading(false)\r\n showSuccessTransaction()\r\n showNftCollection()\r\n }\r\n })\r\n }\r\n } catch (e) {\r\n setTransactionError(true)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n {transactionError ?\r\n \r\n :\r\n \r\n \r\n

Allocation

\r\n {!nftCollection.length && Connect your wallet & buy allocation}\r\n {nftCollection.length ?\r\n <>\r\n Your balance: {userBusd?.toFixed(1)}$\r\n \r\n Please provide email that you are using for your personal account at Zima Bank.\r\n If you don’t have an account yet, please register it following that Link:\r\n https://remotebankingaccess.com/sign-up\r\n \r\n \r\n :\r\n ''\r\n }\r\n
\r\n {nftLoading ?\r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n {/*You have {nftCollection.map(item => {item.name} )} nft*/}\r\n \r\n \r\n {/*Your max allocation is {allocationPrice?.toFixed(1)}$*/}\r\n \r\n \r\n
\r\n \r\n \r\n {(email.isDirty && email.emailError) && }\r\n
\r\n
\r\n \r\n \r\n {(busd.isDirty && !busd.value) && }\r\n {(busd.isDirty && totalAllocationError) && }\r\n
\r\n {transactionLoading ?\r\n \r\n :\r\n \r\n \r\n Warning! You can only buy allocation once, after payment your NFT will be burned and you won’t be able to pay again. Please provide maximum amount of desired allocation that you plan to spend.\r\n \r\n \r\n Buy allocation\r\n \r\n \r\n }\r\n
\r\n {successModal && Transaction was successful}\r\n
\r\n {/*{nftCollection.length ?*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* You have {nftCollection.map(item => {item.name} )} nft*/}\r\n {/* */}\r\n {/* */}\r\n {/* Your max allocation is {allocationPrice?.toFixed(1)}$*/}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* {(email.isDirty && email.emailError) && }*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* {(busd.isDirty && !busd.value) && }*/}\r\n {/* {(busd.isDirty && totalAllocationError) && }*/}\r\n {/*
*/}\r\n {/* {transactionLoading ?*/}\r\n {/* */}\r\n {/* :*/}\r\n {/* */}\r\n {/* */}\r\n {/* Warning! You can only buy allocation once, after payment your NFT will be burned and you won’t be able to pay again. Please provide maximum amount of desired allocation that you plan to spend.*/}\r\n {/* */}\r\n {/* */}\r\n {/* Buy allocation*/}\r\n {/* */}\r\n {/* */}\r\n {/* }*/}\r\n {/*
*/}\r\n {/* {successModal && Transaction was successful}*/}\r\n {/*
*/}\r\n {/* :*/}\r\n {/* You don't have nft */}\r\n {/*}*/}\r\n
\r\n }\r\n
\r\n }\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default App;\r\n","export const AllocationPaymentReceiverAddress = '0xb49Be6bb3B708Cb02CB3c08A4b0e54aa475d3B31'\nexport const AllocationMarketplaceAddress = '0x15f77CB389D16E95ffbeb8ad395Bb140B0E868E3'\nexport const BusdAddress = '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56'\n","import \"./styles/tailwind.css\";\r\nimport \"./styles/index.css\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Web3ReactProvider } from \"@web3-react/core\";\r\nimport App from \"./App\";\r\nimport { getLibrary } from \"./Standart/wallet\";\r\n\r\nconst baseUrl = document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");\r\nconst rootElement = document.getElementById(\"root\");\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement\r\n);\r\n"],"sourceRoot":""}