{"version":3,"sources":["redux/blockchain/blockchainReducer.js","redux/data/dataReducer.js","redux/store.js","redux/data/dataActions.js","redux/blockchain/blockchainActions.js","styles/globalStyles.js","App.js","reportWebVitals.js","index.js"],"names":["initialState","loading","account","smartContract","web3","errorMsg","blockchainReducer","state","action","type","payload","totalSupply","cost","error","dataReducer","rootReducer","combineReducers","blockchain","data","middleware","thunk","composeEnhancers","compose","applyMiddleware","store","createStore","fetchDataFailed","fetchData","dispatch","a","getState","methods","call","console","log","connectFailed","updateAccount","SpacerXSmall","styled","div","image","SpacerSmall","SpacerMedium","SpacerLarge","Container","flex","fd","jc","ai","test","TextTitle","p","TextDescription","StyledButton","button","StyledRoundButton","ResponsiveWrapper","StyledImg","img","StyledLink","App","input","len","useDispatch","useSelector","useState","claimingNft","setClaimingNft","feedback","setFeedback","mintAmount","setMintAmount","CONTRACT_ADDRESS","SCAN_LINK","NETWORK","NAME","SYMBOL","ID","NFT_NAME","MAX_SUPPLY","WEI_COST","DISPLAY_COST","GAS_LIMIT","MARKETPLACE","MARKETPLACE_LINK","SHOW_BACKGROUND","CONFIG","SET_CONFIG","getData","getConfig","fetch","headers","Accept","configResponse","json","config","useEffect","id","src","style","padding","alt","backgroundSize","boxShadow","textAlign","fontSize","fontWeight","color","target","href","length","substring","Number","onClick","e","preventDefault","abiResponse","abi","window","ethereum","Web3EthContract","setProvider","Web3","request","method","accounts","SmartContractObj","on","location","reload","lineHeight","disabled","newMintAmount","decrementMintAmount","incrementMintAmount","gasLimit","totalCostWei","String","totalGasLimit","Date","mint","send","to","from","value","once","err","then","receipt","claimNFTs","transform","class","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.b9f4feee.chunk.js","sourcesContent":["const initialState = {\n loading: false,\n account: null,\n smartContract: null,\n web3: null,\n errorMsg: \"\",\n};\n\nconst blockchainReducer = (state = initialState, action) => {\n switch (action.type) {\n case \"CONNECTION_REQUEST\":\n return {\n ...initialState,\n loading: true,\n };\n case \"CONNECTION_SUCCESS\":\n return {\n ...state,\n loading: false,\n account: action.payload.account,\n smartContract: action.payload.smartContract,\n web3: action.payload.web3,\n };\n case \"CONNECTION_FAILED\":\n return {\n ...initialState,\n loading: false,\n errorMsg: action.payload,\n };\n case \"UPDATE_ACCOUNT\":\n return {\n ...state,\n account: action.payload.account,\n };\n default:\n return state;\n }\n};\n\nexport default blockchainReducer;\n","const initialState = {\n loading: false,\n totalSupply: 0,\n cost: 0,\n error: false,\n errorMsg: \"\",\n};\n\nconst dataReducer = (state = initialState, action) => {\n switch (action.type) {\n case \"CHECK_DATA_REQUEST\":\n return {\n ...state,\n loading: true,\n error: false,\n errorMsg: \"\",\n };\n case \"CHECK_DATA_SUCCESS\":\n return {\n ...state,\n loading: false,\n totalSupply: action.payload.totalSupply,\n cost: action.payload.cost,\n error: false,\n errorMsg: \"\",\n };\n case \"CHECK_DATA_FAILED\":\n return {\n ...initialState,\n loading: false,\n error: true,\n errorMsg: action.payload,\n };\n default:\n return state;\n }\n};\n\nexport default dataReducer;\n","import { applyMiddleware, compose, createStore, combineReducers } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport blockchainReducer from \"./blockchain/blockchainReducer\";\nimport dataReducer from \"./data/dataReducer\";\n\nconst rootReducer = combineReducers({\n blockchain: blockchainReducer,\n data: dataReducer,\n});\n\nconst middleware = [thunk];\nconst composeEnhancers = compose(applyMiddleware(...middleware));\n\nconst configureStore = () => {\n return createStore(rootReducer, composeEnhancers);\n};\n\nconst store = configureStore();\n\nexport default store;\n","// log\nimport store from \"../store\";\n\nconst fetchDataRequest = () => {\n return {\n type: \"CHECK_DATA_REQUEST\",\n };\n};\n\nconst fetchDataSuccess = (payload) => {\n return {\n type: \"CHECK_DATA_SUCCESS\",\n payload: payload,\n };\n};\n\nconst fetchDataFailed = (payload) => {\n return {\n type: \"CHECK_DATA_FAILED\",\n payload: payload,\n };\n};\n\nexport const fetchData = () => {\n return async (dispatch) => {\n dispatch(fetchDataRequest());\n try {\n let totalSupply = await store\n .getState()\n .blockchain.smartContract.methods.totalSupply()\n .call();\n let cost = await store\n .getState()\n .blockchain.smartContract.methods.cost()\n .call();\n\n dispatch(\n fetchDataSuccess({\n totalSupply,\n cost,\n })\n );\n } catch (err) {\n console.log(err);\n dispatch(fetchDataFailed(\"Could not load data from contract.\"));\n }\n };\n};\n","// constants\nimport Web3EthContract from \"web3-eth-contract\";\nimport Web3 from \"web3\";\n// log\nimport { fetchData } from \"../data/dataActions\";\n\nconst connectRequest = () => {\n return {\n type: \"CONNECTION_REQUEST\",\n };\n};\n\nconst connectSuccess = (payload) => {\n return {\n type: \"CONNECTION_SUCCESS\",\n payload: payload,\n };\n};\n\nconst connectFailed = (payload) => {\n return {\n type: \"CONNECTION_FAILED\",\n payload: payload,\n };\n};\n\nconst updateAccountRequest = (payload) => {\n return {\n type: \"UPDATE_ACCOUNT\",\n payload: payload,\n };\n};\n\nexport const connect = () => {\n return async (dispatch) => {\n dispatch(connectRequest());\n const abiResponse = await fetch(\"/config/abi.json\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n const abi = await abiResponse.json();\n const configResponse = await fetch(\"/config/config.json\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n const CONFIG = await configResponse.json();\n const { ethereum } = window;\n if (typeof window.ethereum !== 'undefined') {\n Web3EthContract.setProvider(ethereum);\n let web3 = new Web3(ethereum);\n try {\n const accounts = await ethereum.request({\n method: \"eth_requestAccounts\",\n });\n const networkId = await ethereum.request({\n method: \"net_version\",\n });\n if (networkId == CONFIG.NETWORK.ID) {\n const SmartContractObj = new Web3EthContract(\n abi,\n CONFIG.CONTRACT_ADDRESS\n );\n dispatch(\n connectSuccess({\n account: accounts[0],\n smartContract: SmartContractObj,\n web3: web3,\n })\n );\n // Add listeners start\n ethereum.on(\"accountsChanged\", (accounts) => {\n dispatch(updateAccount(accounts[0]));\n });\n ethereum.on(\"chainChanged\", () => {\n window.location.reload();\n });\n // Add listeners end\n } else {\n dispatch(connectFailed(`Change network to ${CONFIG.NETWORK.NAME}.`));\n }\n } catch (err) {\n dispatch(connectFailed(\"Something went wrong.\"));\n }\n } else {\n dispatch(connectFailed(\"Install Metamask.\"));\n }\n };\n};\n\nexport const updateAccount = (account) => {\n return async (dispatch) => {\n dispatch(updateAccountRequest({ account: account }));\n dispatch(fetchData(account));\n };\n};\n","import styled from \"styled-components\";\n\n// Used for wrapping a page component\nexport const Screen = styled.div`\n background-color: var(--primary);\n background-image: ${({ image }) => (image ? `url(${image})` : \"none\")};\n background-size: cover;\n background-position: center;\n width: 100%;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n`;\n\n// Used for providing space between components\nexport const SpacerXSmall = styled.div`\n height: 8px;\n width: 8px;\n`;\n\n// Used for providing space between components\nexport const SpacerSmall = styled.div`\n height: 16px;\n width: 16px;\n`;\n\n// Used for providing space between components\nexport const SpacerMedium = styled.div`\n height: 24px;\n width: 24px;\n`;\n\n// Used for providing space between components\nexport const SpacerLarge = styled.div`\n height: 32px;\n width: 32px;\n`;\n\n// Used for providing a wrapper around a component\nexport const Container = styled.div`\n display: flex;\n flex: ${({ flex }) => (flex ? flex : 0)};\n flex-direction: ${({ fd }) => (fd ? fd : \"column\")};\n justify-content: ${({ jc }) => (jc ? jc : \"flex-start\")};\n align-items: ${({ ai }) => (ai ? ai : \"flex-start\")};\n background-color: ${({ test }) => (test ? \"pink\" : \"none\")};\n width: 100%;\n background-image: ${({ image }) => (image ? `url(${image})` : \"none\")};\n background-size: cover;\n background-position: center;\n`;\n\nexport const TextTitle = styled.p`\n color: #FFFFFF;\n font-size: 22px;\n font-weight: 500;\n line-height: 1.6;\n`;\n\nexport const TextSubTitle = styled.p`\n color: #FFFFFF;\n font-size: 18px;\n line-height: 1.6;\n`;\n\nexport const TextDescription = styled.p`\n color: #FFFFFF;\n font-size: 16px;\n line-height: 1.6;\n`;\n\nexport const StyledClickable = styled.div`\n :active {\n opacity: 0.6;\n }\n`;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { connect } from \"./redux/blockchain/blockchainActions\";\nimport { fetchData } from \"./redux/data/dataActions\";\nimport * as s from \"./styles/globalStyles\";\nimport styled from \"styled-components\";\n\nconst truncate = (input, len) =>\n input.length > len ? `${input.substring(0, len)}...` : input;\n\nexport const StyledButton = styled.button`\n padding: 10px;\n border-radius: 50px;\n border-img: url(border.png);\n background-color: var(--secondary);\n padding: 10px;\n font-weight: bold;\n color: var(--secondary-text);\n width: 100px;\n cursor: pointer;\n box-shadow: 0px 6px 0px -2px rgba(250, 250, 250, 0.3);\n -webkit-box-shadow: 0px 6px 0px -2px rgba(250, 250, 250, 0.3);\n -moz-box-shadow: 0px 6px 0px -2px rgba(250, 250, 250, 0.3);\n :active {\n box-shadow: none;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n }\n`;\n\nexport const StyledRoundButton = styled.button`\n padding: 10px;\n border-radius: 100%;\n border: none;\n background-color: var(--secondary);\n padding: 10px;\n font-weight: bold;\n font-size: 15px;\n color: var(--primary-text);\n width: 30px;\n height: 30px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0px 4px 0px -2px rgba(250, 250, 250, 0.3);\n -webkit-box-shadow: 0px 4px 0px -2px rgba(250, 250, 250, 0.3);\n -moz-box-shadow: 0px 4px 0px -2px rgba(250, 250, 250, 0.3);\n :active {\n box-shadow: none;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n }\n`;\n\nexport const ResponsiveWrapper = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: stretched;\n align-items: stretched;\n width: 100%;\n @media (min-width: 767px) {\n flex-direction: row;\n }\n`;\n\nexport const StyledLogo = styled.img`\n width: 200px;\n @media (min-width: 767px) {\n width: 300px;\n }\n transition: width 0.5s;\n transition: height 0.5s;\n`;\n\nexport const StyledImg = styled.img`\n border: none;\n border-radius: 100%;\n width: 200px;\n @media (min-width: 1000px) {\n width: 350px;\n }\n transition: width 0.5s;\n`;\n\nexport const StyledLink = styled.a`\n color: rgb(0, 0, 255, 1);\n text-decoration: none;\n`;\n\nfunction App() {\n const dispatch = useDispatch();\n const blockchain = useSelector((state) => state.blockchain);\n const data = useSelector((state) => state.data);\n const [claimingNft, setClaimingNft] = useState(false);\n const [feedback, setFeedback] = useState(`Click buy to mint your NFT.`);\n const [mintAmount, setMintAmount] = useState(1);\n const [CONFIG, SET_CONFIG] = useState({\n CONTRACT_ADDRESS: \"\",\n SCAN_LINK: \"\",\n NETWORK: {\n NAME: \"\",\n SYMBOL: \"\",\n ID: 0,\n },\n NFT_NAME: \"\",\n SYMBOL: \"\",\n MAX_SUPPLY: 1,\n WEI_COST: 0,\n DISPLAY_COST: 0,\n GAS_LIMIT: 0,\n MARKETPLACE: \"\",\n MARKETPLACE_LINK: \"\",\n SHOW_BACKGROUND: false,\n });\n\n const claimNFTs = () => {\n let cost = data.cost;\n let gasLimit = CONFIG.GAS_LIMIT;\n let totalCostWei = String(cost * mintAmount);\n let totalGasLimit = String(gasLimit * mintAmount);\n const now = +new Date();\n if (now < 1656428400000) {\n setFeedback('Its not time to start');\n return;\n }\n console.log(\"Cost: \", totalCostWei);\n console.log(\"Gas limit: \", totalGasLimit);\n setFeedback(`Minting your ${CONFIG.NFT_NAME}...`);\n setClaimingNft(true);\n blockchain.smartContract.methods\n .mint(blockchain.account, mintAmount)\n .send({\n gasLimit: String(totalGasLimit),\n to: CONFIG.CONTRACT_ADDRESS,\n from: blockchain.account,\n value: totalCostWei,\n })\n .once(\"error\", (err) => {\n console.log(err);\n setFeedback(\"Sorry, something went wrong please try again later.\");\n setClaimingNft(false);\n })\n .then((receipt) => {\n console.log(receipt);\n setFeedback(`WOW, the ${CONFIG.NFT_NAME} is yours!`);\n setClaimingNft(false);\n dispatch(fetchData(blockchain.account));\n });\n };\n\n const decrementMintAmount = () => {\n let newMintAmount = mintAmount - 1;\n if (newMintAmount < 1) {\n newMintAmount = 1;\n }\n setMintAmount(newMintAmount);\n };\n\n const incrementMintAmount = () => {\n let newMintAmount = mintAmount + 1;\n if (newMintAmount > 20) {\n newMintAmount = 20;\n }\n setMintAmount(newMintAmount);\n };\n\n const getData = () => {\n if (blockchain.account !== \"\" && blockchain.smartContract !== null) {\n dispatch(fetchData(blockchain.account));\n }\n };\n\n const getConfig = async () => {\n const configResponse = await fetch(\"/config/config.json\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n const config = await configResponse.json();\n SET_CONFIG(config);\n };\n\n useEffect(() => {\n getConfig();\n }, []);\n\n useEffect(() => {\n getData();\n }, [blockchain.account]);\n\n return (\n
\n\n 500 unique NFTs that will allow investors to access premium\n blockchain startup investments in the Anypad ecosystem.\n
\nWhat are NFTs?
\nNon-Fungible Tokens (NFTs)
\nWhat are Anypad Shield NFTs?
\nAnypad Shield Non-Fungible Tokens (NFTs)
\n\n Everything you need,\n \n in one place\n \n
\n\n Premium Investing with Anypad Shield NFTs\n
\n