{"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","arguments","length","undefined","action","type","_objectSpread","payload","totalSupply","cost","error","dataReducer","rootReducer","combineReducers","blockchain","data","middleware","thunk","composeEnhancers","compose","applyMiddleware","apply","store","createStore","fetchDataFailed","fetchData","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","wrap","_context","prev","next","getState","methods","call","sent","t0","console","log","stop","_x","connectFailed","updateAccount","_ref2","_callee2","_context2","_x2","Screen","styled","div","_templateObject","_taggedTemplateLiteral","image","concat","SpacerXSmall","_templateObject2","SpacerSmall","_templateObject3","SpacerMedium","_templateObject4","SpacerLarge","_templateObject5","Container","_templateObject6","flex","_ref3","fd","_ref4","jc","_ref5","ai","_ref6","test","_ref7","TextTitle","p","_templateObject7","TextDescription","_templateObject8","_templateObject9","_templateObject10","StyledButton","button","StyledRoundButton","ResponsiveWrapper","StyledImg","img","StyledLink","a","App","useDispatch","useSelector","_useState","useState","_useState2","_slicedToArray","claimingNft","setClaimingNft","_useState3","_useState4","feedback","setFeedback","_useState5","_useState6","mintAmount","setMintAmount","_useState7","CONTRACT_ADDRESS","SCAN_LINK","NETWORK","NAME","SYMBOL","ID","NFT_NAME","MAX_SUPPLY","MAX_MINT_AMOUNT","WEI_COST","DISPLAY_COST","GAS_LIMIT","MARKETPLACE","MARKETPLACE_LINK","SHOW_BACKGROUND","_useState8","CONFIG","SET_CONFIG","getData","getConfig","configResponse","config","fetch","headers","Accept","json","useEffect","_jsx","s","children","_jsxs","style","padding","backgroundColor","textAlign","fontSize","fontWeight","color","textShadow","alt","src","borderRadius","border","boxShadow","target","href","Number","_Fragment","display","onClick","e","preventDefault","abiResponse","abi","_window","ethereum","accounts","SmartContractObj","window","isMetaMask","Web3EthContract","setProvider","Web3","request","method","on","location","reload","lineHeight","disabled","newMintAmount","decrementMintAmount","incrementMintAmount","gasLimit","totalCostWei","String","totalGasLimit","mint","send","maxPriorityFeePerGas","maxFeePerGas","to","from","value","once","err","then","receipt","claimNFTs","transform","width","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","Provider","document","getElementById"],"mappings":"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","file":"static/js/main.4e4e4348.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 const metamaskIsInstalled = ethereum && ethereum.isMetaMask;\n if (metamaskIsInstalled) {\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: var(--primary-text);\n font-size: 22px;\n font-weight: 500;\n line-height: 1.6;\n`;\n\nexport const TextSubTitle = styled.p`\n color: var(--primary-text);\n font-size: 18px;\n line-height: 1.6;\n`;\n\nexport const TextDescription = styled.p`\n color: var(--primary-text);\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: none;\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(--primary);\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 box-shadow: 0px 5px 11px 2px rgba(0, 0, 0, 0.7);\n border: 4px dashed var(--secondary);\n background-color: var(--accent);\n border-radius: 100%;\n width: 200px;\n @media (min-width: 900px) {\n width: 250px;\n }\n @media (min-width: 1000px) {\n width: 300px;\n }\n transition: width 0.5s;\n`;\n\nexport const StyledLink = styled.a`\n color: var(--secondary);\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(10); //useState(1);//intital number to buy - dr\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 MAX_MINT_AMOUNT: 10, //dr\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 = CONFIG.WEI_COST;\n let gasLimit = CONFIG.GAS_LIMIT;\n let totalCostWei = String(cost * mintAmount);\n let totalGasLimit = String(gasLimit * mintAmount);\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 maxPriorityFeePerGas: null,\n maxFeePerGas: null,\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 setFeedback(\"If the transaction failed, please follow the steps above or try again later.\")\n setClaimingNft(false);\n })\n .then((receipt) => {\n console.log(receipt);\n setFeedback(\n `Welcome to the ${CONFIG.NFT_NAME} family! View your NFT(s) on OpenSea.io`\n );\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 > CONFIG.MAX_MINT_AMOUNT) { //max mint amount at a time - dr\n newMintAmount = CONFIG.MAX_MINT_AMOUNT; //max mint amount at a time - dr\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 \n {/**/}\n \n

Owl Dudes NFT

Minting Dapp

\n \n\n \n \n \n \n \n \n \n {blockchain.account === \"\" ||\n blockchain.smartContract === null ? (\n \n {/*Connect first to see the current supply.*/}\n All 10,000 Owl Dudes Series 1 have been minted!\n \n You can get Owl Dudes on \n {\"OpenSea\"}.\n \n . Thank you!\n \n \n ) : (\n \n {data.totalSupply} / {CONFIG.MAX_SUPPLY}\n \n )}\n \n {/**/}\n {/* {truncate(CONFIG.CONTRACT_ADDRESS, 14)}*/}\n {/**/}\n\n \n \n {Number(data.totalSupply) >= CONFIG.MAX_SUPPLY ? (\n <>\n \n The sale has ended.\n \n \n You can still find {CONFIG.NFT_NAME} on\n \n \n \n {CONFIG.MARKETPLACE}\n \n \n ) : (\n <>\n \n {/*1 {CONFIG.SYMBOL} costs {CONFIG.DISPLAY_COST}{\" \"}*/}\n {/*{CONFIG.NETWORK.SYMBOL}*/}\n \n \n \n \n {/*Reach out if you need a hand. We're here to help. Thank you! :)*/}\n \n {blockchain.account === \"\" ||\n blockchain.smartContract === null ? (\n \n \n {/*Connect to the {CONFIG.NETWORK.NAME} blockchain*/}\n \n \n {\n e.preventDefault();\n dispatch(connect());\n getData();\n }}\n >\n CONNECT\n \n\n {blockchain.errorMsg !== \"\" ? (\n <>\n \n \n {blockchain.errorMsg}\n \n \n ) : null}\n \n ) : (\n <>\n \n {feedback}\n \n \n \n {\n e.preventDefault();\n decrementMintAmount();\n }}\n >\n -\n \n \n \n {mintAmount}\n \n \n {\n e.preventDefault();\n incrementMintAmount();\n }}\n >\n +\n \n \n \n \n {\n e.preventDefault();\n claimNFTs();\n getData();\n }}\n >\n {claimingNft ? \"BUSY\" : \"BUY\"}\n \n \n \n )}\n \n )}\n \n \n \n \n \n \n \n \n \n {/**/}\n {/* Please make sure you are connected to the right network (*/}\n {/* {CONFIG.NETWORK.NAME} Mainnet) and the correct address. Please note:*/}\n {/* Once you make the purchase, you cannot undo this action.*/}\n {/**/}\n \n {/**/}\n {/* We have set the gas limit to {CONFIG.GAS_LIMIT} for the contract to*/}\n {/* successfully mint your NFT. We recommend that you don't lower the*/}\n {/* gas limit.*/}\n {/**/}\n \n \n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport store from \"./redux/store\";\nimport { Provider } from \"react-redux\";\nimport \"./styles/reset.css\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}