{"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":"4jBAAMA,EAAe,CACnBC,SAAS,EACTC,QAAS,KACTC,cAAe,KACfC,KAAM,KACNC,SAAU,IAkCGC,EA/BW,WAAmC,IAAlCC,EAAiC,uDAAzBP,EAAcQ,EAAW,uCAC1D,OAAQA,EAAOC,MACb,IAAK,qBACH,OAAO,2BACFT,GADL,IAEEC,SAAS,IAEb,IAAK,qBACH,OAAO,2BACFM,GADL,IAEEN,SAAS,EACTC,QAASM,EAAOE,QAAQR,QACxBC,cAAeK,EAAOE,QAAQP,cAC9BC,KAAMI,EAAOE,QAAQN,OAEzB,IAAK,oBACH,OAAO,2BACFJ,GADL,IAEEC,SAAS,EACTI,SAAUG,EAAOE,UAErB,IAAK,iBACH,OAAO,2BACFH,GADL,IAEEL,QAASM,EAAOE,QAAQR,UAE5B,QACE,OAAOK,ICnCPP,EAAe,CACnBC,SAAS,EACTU,YAAa,EACbC,KAAM,EACNC,OAAO,EACPR,SAAU,IAiCGS,EA9BK,WAAmC,IAAlCP,EAAiC,uDAAzBP,EAAcQ,EAAW,uCACpD,OAAQA,EAAOC,MACb,IAAK,qBACH,OAAO,2BACFF,GADL,IAEEN,SAAS,EACTY,OAAO,EACPR,SAAU,KAEd,IAAK,qBACH,OAAO,2BACFE,GADL,IAEEN,SAAS,EACTU,YAAaH,EAAOE,QAAQC,YAC5BC,KAAMJ,EAAOE,QAAQE,KACrBC,OAAO,EACPR,SAAU,KAEd,IAAK,oBACH,OAAO,2BACFL,GADL,IAEEC,SAAS,EACTY,OAAO,EACPR,SAAUG,EAAOE,UAErB,QACE,OAAOH,IC7BPQ,EAAcC,YAAgB,CAClCC,WAAYX,EACZY,KAAMJ,IAGFK,EAAa,CAACC,KACdC,EAAmBC,YAAQC,IAAe,WAAf,EAAmBJ,IAQrCK,EALNC,YAAYV,EAAaM,GCE5BK,EAAkB,SAAChB,GACvB,MAAO,CACLD,KAAM,oBACNC,QAASA,IAIAiB,EAAY,WACvB,8CAAO,WAAOC,GAAP,iBAAAC,EAAA,6DACLD,EArBK,CACLnB,KAAM,uBAmBD,kBAGqBe,EACrBM,WACAb,WAAWd,cAAc4B,QAAQpB,cACjCqB,OANA,cAGCrB,EAHD,gBAOca,EACdM,WACAb,WAAWd,cAAc4B,QAAQnB,OACjCoB,OAVA,OAOCpB,EAPD,OAYHgB,EA1BG,CACLnB,KAAM,qBACNC,QAyBqB,CACfC,cACAC,UAfD,kDAmBHqB,QAAQC,IAAR,MACAN,EAASF,EAAgB,uCApBtB,0DAAP,uDCLIS,EAAgB,SAACzB,GACrB,MAAO,CACLD,KAAM,oBACNC,QAASA,IAuEA0B,EAAgB,SAAClC,GAC5B,8CAAO,WAAO0B,GAAP,SAAAC,EAAA,sDACLD,EApEK,CACLnB,KAAM,iBACNC,QAkE8B,CAAER,QAASA,KACzC0B,EAASD,KAFJ,2CAAP,uD,QC/EWU,GAZSC,IAAOC,IAAV,yOAEG,gBAAGC,EAAH,EAAGA,MAAH,OAAgBA,EAAK,cAAUA,EAAV,KAAqB,UAUpCF,IAAOC,IAAV,4DAMZE,EAAcH,IAAOC,IAAV,6DAMXG,EAAeJ,IAAOC,IAAV,6DAMZI,EAAcL,IAAOC,IAAV,6DAMXK,EAAYN,IAAOC,IAAV,iQAEZ,gBAAGM,EAAH,EAAGA,KAAH,OAAeA,GAAc,KACnB,gBAAGC,EAAH,EAAGA,GAAH,OAAaA,GAAU,YACtB,gBAAGC,EAAH,EAAGA,GAAH,OAAaA,GAAU,gBAC3B,gBAAGC,EAAH,EAAGA,GAAH,OAAaA,GAAU,gBAClB,qBAAGC,KAAmB,OAAS,UAE/B,gBAAGT,EAAH,EAAGA,MAAH,OAAgBA,EAAK,cAAUA,EAAV,KAAqB,UAKnDU,EAAYZ,IAAOa,EAAV,6GAaTC,IANed,IAAOa,EAAV,wFAMMb,IAAOa,EAAV,yF,IAMGb,IAAOC,IAAV,iE,MC7Dfc,GAAef,IAAOgB,OAAV,0hBAoBZC,GAAoBjB,IAAOgB,OAAV,mnBAyBjBE,GAAoBlB,IAAOC,IAAV,6NAqBjBkB,IATanB,IAAOoB,IAAV,2JASEpB,IAAOoB,IAAV,0KAUTC,GAAarB,IAAOT,EAAV,mFAgdR+B,OA3cf,WACE,IArFgBC,EAAOC,EAqFjBlC,EAAWmC,cACX9C,EAAa+C,aAAY,SAACzD,GAAD,OAAWA,EAAMU,cAC1CC,EAAO8C,aAAY,SAACzD,GAAD,OAAWA,EAAMW,QAC1C,EAAsC+C,oBAAS,GAA/C,mBAAOC,EAAP,KAAoBC,EAApB,KACA,EAAgCF,mBAAS,+BAAzC,mBAAOG,EAAP,KAAiBC,EAAjB,KACA,EAAoCJ,mBAAS,GAA7C,mBAAOK,EAAP,KAAmBC,EAAnB,KACA,EAA6BN,mBAAS,CACpCO,iBAAkB,GAClBC,UAAW,GACXC,QAAS,CACPC,KAAM,GACNC,OAAQ,GACRC,GAAI,GAENC,SAAU,GACVF,OAAQ,GACRG,WAAY,EACZC,SAAU,EACVC,aAAc,EACdC,UAAW,EACXC,YAAa,GACbC,iBAAkB,GAClBC,iBAAiB,IAhBnB,mBAAOC,EAAP,KAAeC,EAAf,KAsEMC,EAAU,WACa,KAAvBvE,EAAWf,SAA+C,OAA7Be,EAAWd,eAC1CyB,EAASD,EAAUV,EAAWf,WAI5BuF,EAAS,uCAAG,8BAAA5D,EAAA,sEACa6D,MAAM,sBAAuB,CACxDC,QAAS,CACP,eAAgB,mBAChBC,OAAQ,sBAJI,cACVC,EADU,gBAOKA,EAAeC,OAPpB,OAOVC,EAPU,OAQhBR,EAAWQ,GARK,2CAAH,qDAmBf,OARAC,qBAAU,WACRP,MACC,IAEHO,qBAAU,WACRR,MACC,CAACvE,EAAWf,UAGb,gCACE,uBAAK+F,GAAG,MAAR,UACE,kCACE,sBAAKC,IAAI,qCAEX,eAAC,EAAD,IACA,gBAAC1C,GAAD,CAAmBX,KAAM,EAAGsD,MAAO,CAAEC,QAAS,IAAMnD,MAAI,EAAxD,UACE,eAAC,EAAD,CAAaJ,KAAM,EAAGE,GAAI,SAAUC,GAAI,SAAxC,SACE,eAACS,GAAD,CAAW4C,IAAK,UAAWH,IAAK,iCAElC,eAAC,EAAD,IACA,gBAAC,EAAD,CACErD,KAAM,EACNE,GAAI,SACJC,GAAI,SACJmD,MAAO,CAELG,eAAgB,YAChBF,QAAS,GACTG,UAAW,oCARf,UAWE,gBAAC,EAAD,CACEJ,MAAO,CACLK,UAAW,SACXC,SAAU,GACVC,WAAY,OACZC,MAAO,sBALX,UAQGzF,EAAKP,YARR,MAQwB2E,EAAOP,cAE/B,eAAC,GAAD,CACEoB,MAAO,CACLK,UAAW,SACXG,MAAO,uBAHX,SAME,eAAChD,GAAD,CAAYiD,OAAQ,SAAUC,KAAMvB,EAAOb,UAA3C,UAjOIZ,EAkOQyB,EAAOd,iBAlORV,EAkO0B,GAjOjDD,EAAMiD,OAAShD,EAAf,UAAwBD,EAAMkD,UAAU,EAAGjD,GAA3C,OAAuDD,OAoO7C,eAAC,EAAD,IACCmD,OAAO9F,EAAKP,cAAgB2E,EAAOP,WAClC,uCACE,eAAC,EAAD,CACEoB,MAAO,CAAEK,UAAW,SAAUG,MAAO,sBADvC,iCAKA,gBAAC,GAAD,CACER,MAAO,CAAEK,UAAW,SAAUG,MAAO,sBADvC,gCAGsBrB,EAAOR,SAH7B,SAKA,eAAC,EAAD,IACA,eAACnB,GAAD,CAAYiD,OAAQ,SAAUC,KAAMvB,EAAOF,iBAA3C,SACGE,EAAOH,iBAIZ,uCAOE,eAAC,EAAD,CACEgB,MAAO,CAAEK,UAAW,SAAUG,MAAO,sBADvC,8DAKA,eAAC,EAAD,IACA,eAAC,GAAD,CACER,MAAO,CAAEK,UAAW,SAAUG,MAAO,sBADvC,iCAKA,eAAC,EAAD,IACwB,KAAvB1F,EAAWf,SACiB,OAA7Be,EAAWd,cACT,gBAAC,EAAD,CAAa6C,GAAI,SAAUD,GAAI,SAA/B,UACE,gBAAC,GAAD,CACEoD,MAAO,CACLK,UAAW,SACXG,MAAO,sBAHX,4BAMkBrB,EAAOZ,QAAQC,KANjC,cAQA,eAAC,EAAD,IACA,eAACtB,GAAD,CACE4D,QAAS,SAACC,GACRA,EAAEC,iBACFvF,EF/PtB,uCAAO,WAAOA,GAAP,+BAAAC,EAAA,6DACLD,EA5BK,CACLnB,KAAM,uBA0BD,SAEqBiF,MAAM,mBAAoB,CAClDC,QAAS,CACP,eAAgB,mBAChBC,OAAQ,sBALP,cAECwB,EAFD,gBAQaA,EAAYtB,OARzB,cAQCuB,EARD,gBASwB3B,MAAM,sBAAuB,CACxDC,QAAS,CACP,eAAgB,mBAChBC,OAAQ,sBAZP,cASCC,EATD,iBAegBA,EAAeC,OAf/B,WAeCR,EAfD,SAgBgBgC,OAAbC,EAhBH,EAgBGA,SACuB,qBAApBD,OAAOC,SAjBb,wBAkBHC,IAAgBC,YAAYF,GACxBnH,EAAO,IAAIsH,IAAKH,GAnBjB,oBAqBsBA,EAASI,QAAQ,CACtCC,OAAQ,wBAtBT,eAqBKC,EArBL,iBAwBuBN,EAASI,QAAQ,CACvCC,OAAQ,gBAzBT,gBA2BgBtC,EAAOZ,QAAQG,IACxBiD,EAAmB,IAAIN,IAC3BH,EACA/B,EAAOd,kBAET5C,EArDD,CACLnB,KAAM,qBACNC,QAoDuB,CACbR,QAAS2H,EAAS,GAClB1H,cAAe2H,EACf1H,KAAMA,KAIVmH,EAASQ,GAAG,mBAAmB,SAACF,GAC9BjG,EAASQ,EAAcyF,EAAS,QAElCN,EAASQ,GAAG,gBAAgB,WAC1BT,OAAOU,SAASC,aAIlBrG,EAASO,EAAc,qBAAD,OAAsBmD,EAAOZ,QAAQC,KAArC,OAhDvB,mDAmDD/C,EAASO,EAAc,0BAnDtB,gCAsDHP,EAASO,EAAc,sBAtDpB,2DAAP,uDEgQsBqD,KAJJ,qBASyB,KAAxBvE,EAAWZ,SACV,uCACE,eAAC,EAAD,IACA,eAAC,GAAD,CACE8F,MAAO,CACLK,UAAW,SACXG,MAAO,sBAHX,SAMG1F,EAAWZ,cAGd,QAGN,uCACE,eAAC,GAAD,CACE8F,MAAO,CACLK,UAAW,SACXG,MAAO,sBAHX,SAMGvC,IAEH,eAAC,EAAD,IACA,gBAAC,EAAD,CAAapB,GAAI,SAAUD,GAAI,SAAUD,GAAI,MAA7C,UACE,eAACS,GAAD,CACE4C,MAAO,CAAE+B,WAAY,IACrBC,SAAUjE,EAAc,EAAI,EAC5B+C,QAAS,SAACC,GACRA,EAAEC,iBA7KE,WAC1B,IAAIiB,EAAgB9D,EAAa,EAC7B8D,EAAgB,IAClBA,EAAgB,GAElB7D,EAAc6D,GAyKQC,IALJ,eAUA,eAAC,EAAD,IACA,eAAC,GAAD,CACElC,MAAO,CACLK,UAAW,SACXG,MAAO,sBAHX,SAMGrC,IAEH,eAAC,EAAD,IACA,eAACf,GAAD,CACE4E,SAAUjE,EAAc,EAAI,EAC5B+C,QAAS,SAACC,GACRA,EAAEC,iBAxLE,WAC1B,IAAIiB,EAAgB9D,EAAa,EAC7B8D,EAAgB,KAClBA,EAAgB,IAElB7D,EAAc6D,GAoLQE,IAJJ,kBAUF,eAAC,EAAD,IACA,eAAC,EAAD,CAAatF,GAAI,SAAUD,GAAI,SAAUD,GAAI,MAA7C,SACE,eAACO,GAAD,CACE8E,SAAUjE,EAAc,EAAI,EAC5B+C,QAAS,SAACC,GACRA,EAAEC,iBA/OR,WAChB,IAAIvG,EAAOM,EAAKN,KACZ2H,EAAWjD,EAAOJ,UAClBsD,EAAeC,OAAO7H,EAAO0D,GAC7BoE,EAAgBD,OAAOF,EAAWjE,IACzB,IAAIqE,KACP,WACRtE,EAAY,0BAGdpC,QAAQC,IAAI,SAAUsG,GACtBvG,QAAQC,IAAI,cAAewG,GAC3BrE,EAAY,gBAAD,OAAiBiB,EAAOR,SAAxB,QACXX,GAAe,GACflD,EAAWd,cAAc4B,QACtB6G,KAAK3H,EAAWf,QAASoE,GACzBuE,KAAK,CACJN,SAAUE,OAAOC,GACjBI,GAAIxD,EAAOd,iBACXuE,KAAM9H,EAAWf,QACjB8I,MAAOR,IAERS,KAAK,SAAS,SAACC,GACdjH,QAAQC,IAAIgH,GACZ7E,EAAY,uDACZF,GAAe,MAEhBgF,MAAK,SAACC,GACLnH,QAAQC,IAAIkH,GACZ/E,EAAY,YAAD,OAAaiB,EAAOR,SAApB,eACXX,GAAe,GACfvC,EAASD,EAAUV,EAAWf,cAiNZmJ,GACA7D,KALJ,SAQGtB,EAAc,OAAS,gBAOpC,eAAC,EAAD,OAEF,eAAC,EAAD,IACA,eAAC,EAAD,CAAarB,KAAM,EAAGE,GAAI,SAAUC,GAAI,SAAxC,SACE,eAACS,GAAD,CACE4C,IAAK,UACLH,IAAK,6BACLC,MAAO,CAAEmD,UAAW,qBAI1B,eAAC,EAAD,IACA,2BAASC,MAAM,OAAf,UACE,sBAAKA,MAAM,aAAX,SACE,oBAAGA,MAAM,kCAAT,mIAKF,sBAAKA,MAAM,cAAX,SACE,sBAAKrD,IAAI,qCAGb,2BAASqD,MAAM,OAAf,UACE,sBAAKA,MAAM,cAAX,0BACA,sBAAKA,MAAM,aAAX,gMAMA,uBAAKA,MAAM,UAAX,UACE,sBAAKA,MAAM,gBACX,uBAAKA,MAAM,gBAAX,UACE,sBAAKrD,IAAI,2CADX,aAGE,wBAHF,qBAMA,uBAAKqD,MAAM,gBAAX,UACE,sBAAKrD,IAAI,2CADX,WAGE,wBAHF,YAMA,uBAAKqD,MAAM,gBAAX,UACE,sBAAKrD,IAAI,2CADX,KAGE,wBAHF,YAMA,uBAAKqD,MAAM,gBAAX,UACE,sBAAKrD,IAAI,2CADX,qBAGE,wBAHF,oBAQJ,2BAASqD,MAAM,UAAf,UACE,uBAAKA,MAAM,gBAAX,UACE,uBAAKA,MAAM,uBAAX,UACE,+BACE,sBAAKrD,IAAI,6BAEX,oBAAGqD,MAAM,iBAAT,+BAEF,uBAAKA,MAAM,sBAAX,UACE,4DACA,mTAOA,2SAQJ,uBAAKA,MAAM,gBAAX,UACE,uBAAKA,MAAM,uBAAX,UACE,+BACE,sBAAKrD,IAAI,gCAEX,oBAAGqD,MAAM,iBAAT,6CAEF,uBAAKA,MAAM,sBAAX,UACE,0EACA,4QAMA,uBAAKA,MAAM,gBAAX,UACE,uBAAKA,MAAM,sBAAX,UACE,sBAAKrD,IAAI,8BADX,0BAIA,uBAAKqD,MAAM,sBAAX,UACE,sBAAKrD,IAAI,8BADX,6BAIA,uBAAKqD,MAAM,sBAAX,UACE,sBAAKrD,IAAI,+BADX,uBAIA,uBAAKqD,MAAM,sBAAX,UACE,sBAAKrD,IAAI,4BADX,8CAQR,2BAASqD,MAAM,WAAf,UACE,qBAAGA,MAAM,kBAAT,UACE,uBAAMA,MAAM,iBAAZ,kCACA,uBAAMA,MAAM,YAAZ,SACE,uBAAMA,MAAM,iBAAZ,+BAGJ,oBAAGA,MAAM,qBAAT,uDAGA,qMAKA,+PAOF,2BAASA,MAAM,SAAf,UACE,uBAAKA,MAAM,gBAAX,UACE,sBAAKrD,IAAI,8BACT,oBAAGqD,MAAM,iBAAT,yDAIF,uBAAKA,MAAM,kBAAX,UACE,uBAAKA,MAAM,wBAAX,UACE,sBAAKrD,IAAI,6BADX,uCAIA,uBAAKqD,MAAM,wBAAX,UACE,sBAAKrD,IAAI,gCADX,uEAIA,uBAAKqD,MAAM,wBAAX,UACE,sBAAKrD,IAAI,6BADX,wDAIA,uBAAKqD,MAAM,wBAAX,UACE,sBAAKrD,IAAI,8BADX,0EAKA,uBAAKqD,MAAM,wBAAX,UACE,sBAAKrD,IAAI,8BADX,sDAIA,uBAAKqD,MAAM,wBAAX,UACE,sBAAKrD,IAAI,+BADX,0DC/gBGsD,GAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,8BAAqBP,MAAK,YAAkD,IAA/CQ,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,OCCdO,IAASC,OACP,eAAC,IAAD,CAAUzI,MAAOA,EAAjB,SACE,eAAC,GAAD,MAEF0I,SAASC,eAAe,SAM1BX,O","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
\n \n
\n \n \n \n \n \n \n \n \n {data.totalSupply} / {CONFIG.MAX_SUPPLY}\n \n \n \n {truncate(CONFIG.CONTRACT_ADDRESS, 15)}\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 {data.cost/Math.pow(10,18)}{\" \"}\n {CONFIG.NETWORK.SYMBOL}.\n */}\n \n 0.2 BNB for the first 50NFTs, after that 0.4 BNB\n \n \n \n Excluding gas fees.\n \n \n {blockchain.account === \"\" ||\n blockchain.smartContract === null ? (\n \n \n Connect to the {CONFIG.NETWORK.NAME} network\n \n \n {\n e.preventDefault();\n dispatch(connect());\n getData();\n }}\n >\n CONNECT\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

\n 500 unique NFTs that will allow investors to access premium\n blockchain startup investments in the Anypad ecosystem.\n

\n
\n
\n \n
\n
\n
\n
WHY ANYPAD ?
\n
\n Enjoy the full\n potential of Anypad NFTs and invest early in prestigious blockchain\n firms within the Anypad ecosystem. You can access ACE BLOCKCHAIN\n STARTUPS with Anypad NFTs and:\n
\n
\n
\n
\n \n No loss on\n
\n your Investment\n
\n
\n \n Zero Rug\n
\n Pulls.\n
\n
\n \n No\n
\n Frauds\n
\n
\n \n Exclusively 5-Star\n
\n projects\n
\n
\n
\n
\n
\n
\n
\n \n
\n

What are NFTs?

\n
\n
\n

Non-Fungible Tokens (NFTs)

\n
\n NFTs are unique digital assets created on the blockchain. They\n can be everything from gaming items and digital art, to sports\n collectibles and real-world assets. Non-fungible tokens are\n distinct in their own right, and they are available in a variety\n of sizes and shapes.\n
\n
\n The most well-known NFT use is digital art, but the ecosystem is\n also seeing rapid growth in blockchain games and metaverse land.\n Through collaborations to create bespoke avatars or open up shop\n in a virtual environment, brands are also embracing the trend.\n
\n
\n
\n
\n
\n
\n \n
\n

What are Anypad Shield NFTs?

\n
\n
\n

Anypad Shield Non-Fungible Tokens (NFTs)

\n
\n Anypad Shield NFTs are exclusive digital assets created on the\n blockchain. There are 500 unique NFTs that will allow investors\n access to premium blockchain startup investment in the Anypad\n ecosystem. Anypad Shield NFTs will give you\n
\n
\n
\n \n 100% Loss Protection\n
\n
\n \n Rugpulls free investing\n
\n
\n \n No Fraud startups\n
\n
\n \n Exclusive 5-star investments\n
\n
\n
\n
\n
\n
\n

\n Everything you need,\n \n in one place\n \n

\n

\n Premium Investing with Anypad Shield NFTs\n

\n
\n Are you looking to utilize NFTs? Great! You'll need a platform to\n mint them, a marketplace to list them, and a wallet to help users\n store, trade and manage them.\n
\n
\n Anypad offers the end-to-end solution required to invest in\n specialized blockchain businesses that support the creation of new\n revenue streams, the rapid expansion of your portfolio and give you\n the next 100x return.\n
\n
\n
\n
\n \n

\n Exclusive Features of Anypad Shield NFTs\n

\n
\n
\n
\n \n Zero loss on premium investments.\n
\n
\n \n All NFTs are resellable and will be available on the marketplace.\n
\n
\n \n You can stake your NFT and earn an attractive APR.\n
\n
\n \n Anypad NFTs will guarantee you airdrop from partner brands and\n more.\n
\n
\n \n Double your allocation size for Shield Projects.\n
\n
\n \n Get instant refunds of your investments.\n
\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\";\n//import \"./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":""}