{"version":3,"sources":["config/index.js","utils/injected.js","assets/svg/Buy_Icon.svg","assets/svg/Donate_Icon.svg","hooks/hodlPigs.js","assets/svg/pig/Wallet.svg","assets/91.png","components/SideCard/index.jsx","components/Navbar/MyHODL.jsx","components/Navbar/hooks.js","components/Navbar/Triangle/index.jsx","components/Navbar/index.jsx","assets/svg/LogoSwap.svg","assets/pigs/0.png","assets/pigs/1.png","assets/pigs/2.png","assets/pigs/3.png","assets/pigs/4.png","assets/pigs/5.png","assets/pigs/6.png","containers/Home/Pictures/index.jsx","assets/svg/GRIDBUY.svg","assets/svg/buy/Mystery.svg","containers/Home/Buy.jsx","assets/svg/how/Buy.svg","assets/svg/how/Deposit.svg","assets/svg/how/Sell.svg","assets/svg/how/Break.svg","containers/Home/How.jsx","containers/Home/Arrow.jsx","assets/us/Nick.jpg","assets/us/Sid.jpg","assets/us/Luna.jpg","assets/us/Dimitri.jpg","containers/Home/About.jsx","containers/Home/Provenance.jsx","components/Collapse.jsx","containers/Home/FAQ.jsx","containers/Home/index.jsx","containers/Pig.jsx","components/Footer.jsx","theme/components/table-row.js","theme/components/text.js","theme/components/index.js","theme/components/table.js","theme/components/table-cell.js","theme/components/table-head.js","theme/index.js","App.jsx","reportWebVitals.js","index.jsx"],"names":["ALCHEMY_URL","process","MAX_PER_TX","Number","CONTRACT_ADDRESS","TOTAL_SUPPLY","OPEN_SEA_URL","ETHERSCAN_URL","IPFS_NODE_PREEFIX","REACT_APP_TOKEN_URI","InjectedConnector","supportedChainIds","web3","createAlchemyWeb3","eth","handleRevert","contract","Contract","abi","getPigLedger","id","methods","ledger","call","then","wei","utils","fromWei","toFixed","catch","e","console","log","getPigMetadata","tmpUri","tokenURI","b","replace","uri","axios","res","data","image","split","pop","tokenUri","getPigOwner","ownerOf","SideCard","show","close","children","Portal","Overlay","containerProps","className","isShown","onBeforeClose","preventBodyScrolling","shouldCloseOnClick","TransitionGroup","CSSTransition","classNames","timeout","enter","exit","MyBTN","styled","button","MyPanel","div","View","FullImg","img","ActionBar","Owner","Name","h3","HoverTip","h6","Tagbar","Attr","Badge","BackArrow","SelectPig","HoverContainer","SpinnerDiv","MintNow","Button","badgeColorMap","Background","Pedestal","Body","Nose","Eyes","Forehead","Coin","Side","HoverImg","click","src","onClick","loader","Spinner","size","MiniPigView","back","pig","history","useHistory","tokenId","path","push","link","window","open","attributes","map","attr","Tooltip","content","trait_type","position","Position","TOP","color","isInteractive","value","SelectPigView","select","pigs","MyHODL","useState","loading","setLoading","showWindow","setShowWindow","selectedPig","setSelectedPig","useWeb3React","account","deactivate","loadedPigs","library","active","setPigs","useEffect","a","baseURI","toaster","danger","balanceOf","bal","_pigs","i","tokenOfOwnerByIndex","pigId","fetchPigs","useFetchPigs","addr","closeCard","find","length","marginRight","appearance","aria-label","type","Wallet","substring","join","sessionStorage","removeItem","notify","intent","TriContainer","TriangleSVG","BsTriangleFill","LinkList","Triangle","setShow","goto","NavContainer","Logo","h2","ConnectWallet","LogoSupply","Pill","LoginSpinner","Navbar","supply","setSupply","triedEager","tried","setTried","activate","authed","getItem","injected","isAuthorized","undefined","useEagerConnect","error","mintIdx","NoEthereumProviderError","UnsupportedChainIdError","UserRejectedRequestErrorInjected","toastError","isMobile","ImgTemplate","Anime","keyframes","Img1","Img2","Img3","Img4","Img5","Img6","Img7","Pictures","ImgSrc1","ImgSrc2","ImgSrc3","ImgSrc4","ImgSrc5","ImgSrc6","ImgSrc7","BuyContainer","GridBuy","Title","Svg","hr","object","PriceTag","MintCart","CartAmnt","CartCounter","h1","Loading","Buy","cart","setCart","hodlPigs","setHodlPigs","mintPig","useCallback","send","from","toWei","tx","success","message","Mystery","HowContainer","Text","How","firstScroll","setFirstScroll","addEventListener","removeEventListener","when","href","target","rel","Deposit","Sell","Break","arrowsAnimation","ArrowContainer","TextAnimation","ScrollDown","h4","HowItWorksContainer","SomeContainer","Arrow","AboutContainer","AboutTitle","AboutLeft","AboutRight","AbtImg","AboutContent","Emoji","span","About","forwardRef","_","ref","SidImg","NickImg","DimitriImg","LunaImg","ProvenanceContainer","Datainfo","SvgAnimation","ProvInfo","p","MoreInfo","GoToProofs","Provenance","LogoSwap","CollapseContainer","Collapse","emoji","title","FAQContainer","Holder","Column","FAQ","HeadContainer","Content","Presentation","Header","InfoText","GetPigContainer","MintAndScroll","MarginTest","Home","hash","useLocation","isBuy","useRouteMatch","provenanceRef","useRef","faqRef","aboutRef","current","scrollIntoView","behavior","PigContainer","Head","NameMeta","GiPerspectiveDiceSixFacesFive","PigImg","Img","InfoBox","Hodling","Amount","Actions","ActionDiv","DepositForm","Crack","CrackButton","ViewOn","Foot","Pig","setPig","validId","setValidId","depositValue","setDepositValue","reset","setReset","actionLoading","setActionLoading","useParams","isNaN","metadata","Error","pigOwner","pigLedger","owner","loadData","externalLink","crackPig","transactionHash","depositPig","deposit","String","Pane","display","alignItems","justifyContent","height","isPlaying","duration","revealDuration","characters","alt","name","width","characterSet","TextInput","placeholder","onChange","disabled","iconBefore","BankAccountIcon","isLoading","WarningSignIcon","FooterContainer","LegalSocial","Footer","colorMap","none","base","hover","focus","warning","getBackgroundForIntentAndState","state","textSizes","300","fontSize","fontWeight","lineHeight","letterSpacing","400","500","600","Table","baseStyle","borderRadius","border","appearances","sizes","TableCell","paddingX","default","_focus","outline","background","boxShadow","theme","colors","blue500","TableHead","borderBottom","fontFamily","textTransform","TableRow","textDecoration","_isSelectable","cursor","backgroundColor","props","_hover","_active","_current","small","medium","large","colorScales","gray900","gray800","gray700","gray600","gray500","gray400","gray300","gray200","gray100","gray90","gray75","gray50","blue900","blue800","blue700","blue600","blue400","blue300","blue200","blue100","blue50","blue25","red700","red600","red500","red300","red100","red25","green900","green800","green700","green600","green500","green400","green300","green200","green100","green25","orange700","orange500","orange100","orange25","purple600","purple100","teal800","teal100","yellow800","yellow100","defaultTheme","muted","dark","selected","tint1","tint2","overlay","yellowTint","greenTint","orangeTint","redTint","blueTint","purpleTint","tealTint","icon","text","info","zIndices","components","getLibrary","provider","writeProvider","setItem","AppContainer","App","exact","component","to","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.c674267e.chunk.js","sourcesContent":["export const NODE_ENV = process.env.REACT_APP_NODE_ENV || \"dev\";\nexport const ALCHEMY_URL = process.env.REACT_APP_ALCHEMY_URL || \"\";\nexport const PUBLIC_URL = process.env.PUBLIC_URL || \"\";\nexport const MAX_PER_TX = Number(process.env.REACT_APP_MAX_PRE_TX);\nexport const PRICE_IN_ETH = process.env.REACT_APP_PRICE_IN_ETH;\nexport const CONTRACT_ADDRESS = process.env.REACT_APP_CONTRACT_ADDRESS;\nexport const TOTAL_SUPPLY = process.env.REACT_APP_TOTAL_SUPPLY;\nexport const OPEN_SEA_URL = process.env.REACT_APP_OPEN_SEA_URL;\nexport const ETHERSCAN_URL = process.env.REACT_APP_ETHERSCAN_URL;\nexport const IPFS_NODE_PREEFIX = process.env.REACT_APP_IPFS_NODE_PREEFIX;\nexport const TOKEN_URI = process.env.REACT_APP_TOKEN_URI;\n","import { InjectedConnector } from \"@web3-react/injected-connector\";\n\nimport { NODE_ENV } from \"../config\";\n\nexport default new InjectedConnector({\n supportedChainIds: [NODE_ENV === \"dev\" ? 4 : 1],\n});\n","export default __webpack_public_path__ + \"static/media/Buy_Icon.00d49316.svg\";","export default __webpack_public_path__ + \"static/media/Donate_Icon.9f7f39de.svg\";","import { createAlchemyWeb3 } from \"@alch/alchemy-web3\";\nimport axios from \"axios\";\n\nimport { abi } from \"../assets/ABI/Pigs.json\";\nimport {\n ALCHEMY_URL,\n CONTRACT_ADDRESS,\n TOTAL_SUPPLY,\n IPFS_NODE_PREEFIX,\n} from \"../config\";\n\nconst web3 = new createAlchemyWeb3(ALCHEMY_URL);\nweb3.eth.handleRevert = true;\nconst contract = new web3.eth.Contract(abi, CONTRACT_ADDRESS);\n\nconst getSupplyLeft = () => {\n return contract.methods\n .mintIdx()\n .call()\n .then((res) => TOTAL_SUPPLY - res);\n};\n\nconst getPigLedger = (id) => {\n return contract.methods\n .ledger(id)\n .call()\n .then((wei) => web3.utils.fromWei(wei, \"ether\"))\n .then((eth) => Number(eth).toFixed(4))\n .catch((e) => {\n console.log(e);\n return null;\n });\n};\n\nconst getPigMetadata = (id) => {\n let tmpUri;\n return contract.methods\n .tokenURI(id)\n .call()\n .then((b) => b.replace(\"ipfs://\", `${IPFS_NODE_PREEFIX}/`))\n .then((uri) => {\n tmpUri = uri;\n return uri;\n })\n .then(axios)\n .then((res) => {\n return {\n ...res.data,\n image: `${IPFS_NODE_PREEFIX}/${res.data.image.split(\"/\").pop()}`,\n tokenUri: tmpUri,\n };\n })\n .catch((e) => {\n console.log(e);\n return null;\n });\n};\n\nconst getPigOwner = (id) => {\n return contract.methods\n .ownerOf(id)\n .call()\n .catch((e) => {\n console.log(e);\n return null;\n });\n};\n\n// get all tokens from index of balance of\n\nexport { getSupplyLeft, getPigLedger, getPigMetadata, getPigOwner };\n","export default __webpack_public_path__ + \"static/media/Wallet.b5a49c79.svg\";","export default __webpack_public_path__ + \"static/media/91.700b6391.png\";","import { Portal, Overlay } from \"evergreen-ui\";\n// import styled from \"styled-components\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\n\nimport \"./index.css\";\n\nconst SideCard = ({ show = false, close = () => {}, children }) => {\n return (\n \n \n
\n \n \n {!show ? null : (\n \n {children}\n \n )}\n \n
\n );\n};\n\nexport default SideCard;\n","/* eslint-disable */\nimport {\n Button,\n Spinner,\n Position,\n Tooltip,\n Badge,\n toaster,\n} from \"evergreen-ui\";\nimport { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport { IoIosArrowBack, IoIosClose } from \"react-icons/io\";\nimport { Img } from \"react-image\";\nimport { useWeb3React } from \"@web3-react/core\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n ETHERSCAN_URL,\n IPFS_NODE_PREEFIX,\n CONTRACT_ADDRESS,\n OPEN_SEA_URL,\n} from \"../../config\";\nimport { abi } from \"../../assets/ABI/Pigs.json\";\nimport { useFetchPigs } from \"./hooks\";\nimport Wallet from \"../../assets/svg/pig/Wallet.svg\";\nimport TmpImg from \"../../assets/91.png\";\nimport SideCard from \"../SideCard\";\n\nconst MyBTN = styled.button`\n /* width: 70px; */\n /* :hover ; */\n\n /* margin: 0 0 auto 0; */\n margin: auto 0;\n margin-left: 12px;\n border: none;\n text-align: right;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n font-size: 1.1rem;\n font-weight: bold;\n background: none;\n /* border-radius: 0 0 10px 10px; */\n border-radius: 10px;\n padding: 8px 29px;\n color: #ccd5ff;\n transition: 0.2s;\n\n :hover {\n color: #ebefff;\n transition: 0.2s;\n }\n\n span {\n font-family: \"Urbanist\";\n }\n`;\nconst MyPanel = styled.div`\n display: flex;\n flex-direction: column;\n padding: 15px 25px;\n position: fixed;\n right: 10px;\n top: 15%;\n height: 537px;\n width: 281px;\n margin: 0;\n border-radius: 10px;\n background: linear-gradient(90.75deg, #0f1241 0.71%, #1f2176 83.33%);\n z-index: 10;\n overflow: hidden;\n`;\n/* animation: 0.4s ${({ isShown }) =>\n isShown ? FadeInAnime : FadeOutAnime}; */\n\nconst View = styled.div`\n height: 90%;\n\n hr {\n margin: 0;\n margin-bottom: 8px;\n }\n`;\n\nconst FullImg = styled.img`\n width: 100%;\n border-radius: 5px;\n`;\n\nconst ActionBar = styled.div`\n display: flex;\n\n button {\n height: 2rem;\n flex-grow: 1;\n border: none;\n border-radius: 4px;\n font-size: 1rem;\n font-weight: bold;\n margin-top: 10px;\n color: #ffffff;\n }\n\n button:first-child {\n margin-right: 5px;\n background-color: #da2a82;\n transition: 0.2s;\n\n :hover {\n background-color: #ec4498;\n transition: 0.2s;\n box-shadow: 0px 0px 1px 1px #ec4498;\n cursor: pointer;\n }\n }\n button:last-child {\n background-color: #006bf7;\n margin-left: 5px;\n transition: 0.2s;\n\n :hover {\n background-color: #1b7eff;\n transition: 0.2s;\n box-shadow: 0px 0px 1px 1px #1b7eff;\n cursor: pointer;\n }\n }\n`;\n\nconst Owner = styled.div`\n align-self: flex-end;\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: auto;\n object {\n padding-bottom: 3px;\n width: 34px;\n margin-right: 10px;\n }\n h6 {\n font-family: Arial;\n font-size: 13px;\n font-style: normal;\n font-weight: 300;\n line-height: 17px;\n letter-spacing: 0em;\n text-align: left;\n display: inline-block;\n margin-bottom: auto;\n margin: 0;\n cursor: pointer;\n }\n button {\n margin-left: auto;\n }\n`;\n\nconst Name = styled.h3`\n display: flex;\n margin: 0;\n font-family: Urbanist;\n font-weight: bold;\n font-size: 1.3rem;\n align-self: flex-end;\n align-items: flex-start;\n margin-bottom: 8px;\n /* text-align: justified; */\n\n div {\n margin-top: auto;\n margin-right: 8px;\n cursor: pointer;\n }\n\n p {\n align-self: center;\n margin: 0;\n margin-top: -6px;\n span {\n font-family: Urbanist;\n align-self: flex-end;\n font-style: normal;\n text-align: justified;\n font-weight: 500;\n font-size: 1rem;\n margin-bottom: 2px;\n color: #648bff;\n }\n }\n`;\n\nconst HoverTip = styled.h6`\n font-family: Urbanist;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n text-align: left;\n color: #696f8c;\n margin: 10px 0;\n`;\n\nconst Tagbar = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\nconst Attr = styled(Badge)`\n margin: 0 8px 9px 0;\n font-family: \"Urbanist\";\n font-weight: bold;\n`;\n\nconst BackArrow = styled.div`\n display: inline;\n align-self: center;\n`;\n\nconst SelectPig = styled.div`\n height: 90%;\n overflow: auto;\n border-radius: 10px;\n display: flex;\n flex-wrap: wrap;\n`;\n\nconst HoverContainer = styled.div`\n width: 45%;\n margin: 2.5%;\n border-radius: 10px;\n position: relative;\n cursor: pointer;\n height: fit-content;\n\n img {\n width: 100%;\n border-radius: 10px;\n height: auto;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none;\n }\n\n .spinner {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n div {\n margin: 0 auto;\n align-self: center;\n }\n }\n\n .overlay {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 10px;\n /* height: 100%; */\n width: 100%;\n opacity: 0;\n transition: 0.5s ease;\n background-color: #24242460;\n\n h6 {\n font-family: Urbanist;\n font-style: normal;\n text-align: justified;\n font-weight: bold;\n font-size: 2rem;\n margin: 0;\n color: #ffffff;\n position: absolute;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n text-align: center;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none;\n }\n }\n\n :hover {\n /* transition: 0.5s; */\n outline: 4px solid white;\n transition: outline 0.1s linear;\n\n .overlay {\n opacity: 1;\n }\n }\n :active {\n /* transition: 0.5s; */\n outline: 2px solid white;\n transition: outline 0.1s linear;\n }\n`;\n\nconst SpinnerDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n /* align-items: center; */\n\n div {\n margin: auto;\n }\n\n h4 {\n margin: auto auto 0;\n font-size: 1rem;\n }\n`;\n\nconst MintNow = styled(Button)`\n height: 61px;\n width: 124px;\n padding: 8px, 16px, 8px, 16px;\n background: linear-gradient(270deg, #3366ff 0%, #52bd95 100%);\n font-family: Urbanist;\n font-size: 20px;\n font-style: normal;\n font-weight: 700;\n line-height: 16px;\n letter-spacing: 0px;\n text-align: center;\n margin: 8px auto auto;\n`;\n\nconst badgeColorMap = {\n Background: \"#9DB5FF\",\n Pedestal: \"#D0CAF4\",\n Body: \"#A3E6CD\",\n Nose: \"#C1C4D6\",\n Eyes: \"#FFDFA6\",\n Forehead: \"#A8EAEF\",\n Coin: \"#F2C8B6\",\n Side: \"#EFA8BD\",\n};\n\n// const badgeColorMap = {\n// \"G Blue Green\": \"#9DB5FF\",\n// \"Floating Island\": \"#D0CAF4\",\n// Perscription: \"#FFDFA6\",\n// \"Pigy Bank Pink\": \"#A3E6CD\",\n// Processor: \"#A8EAEF\",\n// \"Snakk Nyustache\": \"#C1C4D6\",\n// Panckakeswap: \"#F2C8B6\",\n// \"Lightsaber Purple\": \"#EFA8BD\",\n// };\n\nconst HoverImg = ({ click, src, children }) => {\n return (\n \n \n \n \n }\n />\n
\n
#{children}
\n
\n
\n );\n};\n\nconst MiniPigView = ({ close, back, pig }) => {\n const history = useHistory();\n\n const externalLink = (link) => {\n window.open(link, \"_blank\");\n };\n\n const goto = (path) => {\n close();\n history.push(path);\n };\n\n return (\n \n \n \n \n \n

\n HODLPIG  #{pig.tokenId}\n

\n
\n {/*
*/}\n \n \n \n \n externalLink(\n `${OPEN_SEA_URL}/assets/${CONTRACT_ADDRESS}/${pig.tokenId}`\n )\n }\n >\n OpeanSea\n \n \n Hover over to view layer\n \n {pig.attributes.map((attr) => (\n \n \n {attr.value}\n \n \n ))}\n \n
\n );\n};\n\nconst SelectPigView = ({ close, select, pigs }) => {\n return (\n \n \n \n \n \n

Select a Pig

\n
\n \n {pigs.map((pig) => (\n select(pig.tokenId)}\n // src={`${IPFS_NODE_PREEFIX}/${pig.image.split(\"//\").pop()}`}\n src={pig.image}\n key={pig.tokenId}\n >\n {pig.tokenId}\n \n ))}\n \n
\n );\n};\n\nconst MyHODL = ({ show }) => {\n const [loading, setLoading] = useState(true);\n const [showWindow, setShowWindow] = useState(false);\n const [selectedPig, setSelectedPig] = useState(null);\n const { account, deactivate } = useWeb3React();\n const history = useHistory();\n const loadedPigs = useFetchPigs();\n\n useEffect(() => {\n if (loadedPigs) setLoading(false);\n }, [loadedPigs, setLoading]);\n\n const addrShort = (addr) => {\n return [\n addr.substring(0, 8),\n \"...\",\n addr.substring(addr.length - 6, addr.length),\n ].join(\"\");\n };\n\n const externalLink = (link) => {\n window.open(link, \"_blank\");\n };\n\n const logout = () => {\n deactivate();\n setSelectedPig(null);\n setShowWindow(false);\n sessionStorage.removeItem(\"authed\");\n toaster.notify(\"Disconnected Metamask account\");\n };\n\n const closeCard = () => {\n setShowWindow(false);\n setSelectedPig(null);\n };\n\n const gotoBuy = () => {\n setShowWindow(false);\n history.push(\"/buy\");\n };\n\n return (\n <>\n setShowWindow(true)}>\n MY HODLPIGS\n \n {/* {showWindow && ( */}\n \n \n {loading ? (\n \n \n \n ) : selectedPig ? (\n setSelectedPig(null)}\n close={closeCard}\n pig={loadedPigs.find((pig) => pig.tokenId === selectedPig)}\n />\n ) : loadedPigs.length == 0 ? (\n \n

You don't own one.

\n \n Mint now\n \n
\n ) : (\n \n )}\n \n \n \n externalLink(`${ETHERSCAN_URL}/address/${account}`)\n }\n >\n {addrShort(account)}\n \n \n \n \n \n \n );\n};\n\nexport default MyHODL;\n","import { useState, useEffect } from \"react\";\nimport { useWeb3React, UnsupportedChainIdError } from \"@web3-react/core\";\nimport {\n NoEthereumProviderError,\n UserRejectedRequestError as UserRejectedRequestErrorInjected,\n} from \"@web3-react/injected-connector\";\nimport { toaster } from \"evergreen-ui\";\nimport axios from \"axios\";\n\nimport { CONTRACT_ADDRESS, IPFS_NODE_PREEFIX } from \"../../config\";\nimport { abi } from \"../../assets/ABI/Pigs.json\";\nimport injected from \"../../utils/injected\";\n\nexport function toastError(error) {\n if (error instanceof NoEthereumProviderError) {\n toaster.danger(\n \"No Ethereum browser extension detected, install MetaMask on desktop or visit from a dApp browser on mobile.\"\n );\n } else if (error instanceof UnsupportedChainIdError) {\n toaster.danger(\"You're connected to an unsupported network.\");\n } else if (error instanceof UserRejectedRequestErrorInjected) {\n toaster.danger(\n \"Please authorize this website to access your Ethereum account.\"\n );\n } else {\n console.error(error);\n toaster.danger(\n \"An unknown error occurred. Check the console for more details.\"\n );\n }\n}\n\nexport function useFetchPigs() {\n const { account, library, active } = useWeb3React();\n const [pigs, setPigs] = useState(null);\n\n useEffect(() => {\n const fetchPigs = async () => {\n if (!active) return;\n\n const contract = new library.eth.Contract(abi, CONTRACT_ADDRESS);\n\n const baseURI = await contract.methods\n .baseURI()\n .call()\n .then((b) => b.replace(\"ipfs://\", `${IPFS_NODE_PREEFIX}/`))\n .catch((e) => {\n console.log(e);\n toaster.danger(\"There was an error: BASE URI FAILED\");\n });\n\n const bal = await contract.methods\n .balanceOf(account)\n .call()\n .catch((e) => toaster.danger(\"There was an error: BAL CALL FAILED\"));\n\n let _pigs = [];\n if (baseURI)\n for (var i = 0; i < bal; i++) {\n const pigId = await contract.methods\n .tokenOfOwnerByIndex(account, i)\n .call();\n\n const pig = await axios(baseURI + pigId)\n .then((res) => res.data)\n .catch((e) => {\n console.log(e);\n toaster.danger(\"There was an error: PIG FETCH\");\n });\n\n _pigs.push({\n ...pig,\n image: `${IPFS_NODE_PREEFIX}/${pig.image.split(\"/\").pop()}`,\n tokenId: pigId,\n });\n }\n\n setPigs(_pigs);\n };\n fetchPigs().catch((e) => {\n // i = bal;\n toaster.danger(\"There was an error: TOKEN OWNER INDEX FAILED\");\n });\n }, []);\n\n return pigs;\n}\n\nexport function useEagerConnect() {\n const [tried, setTried] = useState(false);\n const { activate, active } = useWeb3React();\n\n const authed = sessionStorage.getItem(\"authed\");\n\n useEffect(() => {\n if (!authed) {\n setTried(true);\n return;\n }\n injected.isAuthorized().then((isAuthorized) => {\n if (isAuthorized) {\n activate(injected, undefined, true).catch(() => {\n setTried(true);\n });\n } else {\n setTried(true);\n }\n });\n }, [tried, activate]); // intentionally only running on mount (make sure it's only mounted once :))\n\n // if the connection worked, wait until we get confirmation of that to flip the flag\n useEffect(() => {\n if (!tried && active) {\n setTried(true);\n }\n }, [tried, active]);\n\n return tried;\n}\n","/* eslint-disable */\nimport { useState } from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport { useHistory } from \"react-router-dom\";\nimport { BsTriangleFill } from \"react-icons/bs\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\n\nimport \"./index.css\";\n\nconst TriContainer = styled.div`\n display: flex;\n cursor: pointer;\n position: relative;\n`;\nconst TriangleSVG = styled(BsTriangleFill)`\n align-self: center;\n`;\n\nconst LinkList = styled.div`\n display: flex;\n flex-direction: column;\n text-align: center;\n position: absolute;\n right: -200%;\n top: 65%;\n width: 100px;\n height: 100px;\n\n h3 {\n font-size: 1rem;\n margin: 8px 0;\n color: #d6d6d6;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none;\n\n :hover {\n transition: 0.1s;\n color: white;\n }\n :active {\n transition: 0.1s;\n color: #b8b8b8;\n }\n }\n`;\n\nconst Triangle = () => {\n const [show, setShow] = useState(false);\n const history = useHistory();\n\n const goto = (path) => {\n history.push(path);\n };\n\n return (\n <>\n \n {\n setShow(!show);\n }}\n className={`triangle ${show ? \"open\" : \"close\"}`}\n size={20}\n />\n \n {show ? (\n \n \n

goto(\"/#provenance\")}>Provenance

\n

goto(\"/#faq\")}>FAQ

\n

goto(\"/#about\")}>About

\n
\n
\n ) : null}\n
\n \n \n );\n};\n\nexport default Triangle;\n","/* eslint-disable */\nimport styled from \"styled-components\";\nimport { useState, useEffect } from \"react\";\nimport { Pill, Spinner } from \"evergreen-ui\";\nimport { useHistory } from \"react-router-dom\";\n// import { Container, Row, Col } from \"react-grid-system\";\nimport { useWeb3React } from \"@web3-react/core\";\nimport { createAlchemyWeb3 } from \"@alch/alchemy-web3\";\nimport { isMobile } from \"react-device-detect\";\n\nimport { useEagerConnect, toastError } from \"./hooks\";\nimport injected from \"../../utils/injected\";\nimport BuyIcon from \"../../assets/svg/Buy_Icon.svg\";\nimport DonatetIcon from \"../../assets/svg/Donate_Icon.svg\";\nimport { getSupplyLeft } from \"../../hooks/hodlPigs\";\nimport MyHODL from \"./MyHODL\";\nimport Triangle from \"./Triangle/index\";\n\nimport \"./index.css\";\n\nconst NavContainer = styled.div`\n height: 70px;\n display: flex;\n justify-content: space-between;\n margin-bottom: 5rem;\n`;\n\nconst Logo = styled.h2`\n font-family: \"Bungee\";\n text-align: center;\n font-size: 1.9rem;\n margin: auto 0 2.5px 0;\n cursor: pointer;\n`;\n\n// const LinkContainer = styled.div`\n// width: 40%;\n// min-width: 300px;\n// display: flex;\n// margin: auto 0;\n// `;\n\n// const Link = styled.a`\n// font-weight: 500;\n// font-size: 1.2rem;\n// text-decoration: none;\n// cursor: pointer;\n// margin: 0 1rem;\n// color: #ccd5ff;\n// transition: 0.2s;\n// &:hover {\n// color: #ebefff;\n// transition: 0.2s;\n// }\n// &:visited {\n// color: inherit;\n// }\n// `;\n\nconst ConnectWallet = styled.h3`\n margin: auto 0;\n text-align: right;\n cursor: pointer;\n font-size: 1.3rem;\n color: #e7e7e7;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none;\n span {\n color: #f66a0a;\n }\n\n :hover {\n color: #fdfdfd;\n span {\n color: #ff8534;\n }\n }\n`;\n\nconst LogoSupply = styled(Pill)`\n width: fit-content;\n margin: 0 0 0 auto;\n position: relative;\n display: block;\n color: white;\n font-family: \"Urbanist\";\n font-size: 0.8rem;\n font-style: normal;\n font-weight: 600;\n line-height: 16px;\n letter-spacing: 0.20000000298023224px;\n text-align: left;\n background: linear-gradient(85.09deg, #fb3dc4 21.59%, #6c9eff 98.92%);\n`;\n\n// const LoggedIn = styled.div`\n// /* width: 70px; */\n// /* :hover ; */\n\n// /* margin: 0 0 auto 0; */\n// margin: auto 0;\n// text-align: right;\n// cursor: pointer;\n// font-size: 1.1rem;\n// background: linear-gradient(270deg, #6407bb 0%, #5405d3 100%);\n// /* border-radius: 0 0 10px 10px; */\n// border-radius: 10px;\n// padding: 14px 29px;\n\n// span {\n// font-family: \"Bungee\";\n// }\n// `;\n\nconst LoginSpinner = styled(Spinner)`\n margin-left: 117px;\n`;\n\nconst Navbar = () => {\n const [manageHover, setManageHover] = useState(false);\n const [supply, setSupply] = useState(null);\n const history = useHistory();\n const triedEager = useEagerConnect();\n const { error, activate, active, library } = useWeb3React();\n\n useEffect(() => {\n getSupplyLeft().then(setSupply).catch(console.log);\n }, [setSupply]);\n\n useEffect(() => {\n if (error) toastError(error);\n }, [error]);\n\n const goto = (path) => {\n history.push(path);\n };\n\n return (\n \n );\n};\n\nexport default Navbar;\n","export default __webpack_public_path__ + \"static/media/LogoSwap.a20d503d.svg\";","export default __webpack_public_path__ + \"static/media/0.1a21e34a.png\";","export default __webpack_public_path__ + \"static/media/1.700b6391.png\";","export default __webpack_public_path__ + \"static/media/2.d1e93315.png\";","export default __webpack_public_path__ + \"static/media/3.42dab2ea.png\";","export default __webpack_public_path__ + \"static/media/4.56a5a5ea.png\";","export default __webpack_public_path__ + \"static/media/5.75cddce9.png\";","export default __webpack_public_path__ + \"static/media/6.3a646b6d.png\";","/* eslint-disable */\nimport styled, { keyframes } from \"styled-components\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\n\n// import TmpImg from \"../../../assets/91.png\";\nimport ImgSrc1 from \"../../../assets/pigs/0.png\";\nimport ImgSrc2 from \"../../../assets/pigs/1.png\";\nimport ImgSrc3 from \"../../../assets/pigs/2.png\";\nimport ImgSrc4 from \"../../../assets/pigs/3.png\";\nimport ImgSrc5 from \"../../../assets/pigs/4.png\";\nimport ImgSrc6 from \"../../../assets/pigs/5.png\";\nimport ImgSrc7 from \"../../../assets/pigs/6.png\";\n\nimport \"./index.css\";\n\nconst ImgTemplate = styled.img`\n border-radius: 15px;\n box-shadow: 0px 0px 30px black;\n`;\n\nconst Anime = keyframes`\n 0% {\n transform: translate(0px, 0px);\n animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95)\n }\n\n 25% {\n transform: translate(0px, 25px);\n animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95)\n }\n\n 50% {\n transform: translate(0px, 0px);\n animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95)\n }\n\n 75% {\n transform: translate(0px, 25px);\n animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95)\n }\n\n 100% {\n transform: translate(0px, 0px);\n animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95)\n }\n`;\n\nconst Img1 = styled(ImgTemplate)`\n width: 40%;\n position: absolute;\n top: 11%;\n left: 40%;\n z-index: 5;\n animation: ${Anime} 16000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img2 = styled(ImgTemplate)`\n width: 34%;\n position: absolute;\n top: 28%;\n left: 10%;\n z-index: 4;\n animation: ${Anime} 14000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img3 = styled(ImgTemplate)`\n width: 44%;\n position: absolute;\n top: 52%;\n left: 40%;\n z-index: 3;\n animation: ${Anime} 22000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img4 = styled(ImgTemplate)`\n width: 24%;\n position: absolute;\n top: 62%;\n left: 18%;\n z-index: 2;\n animation: ${Anime} 20000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img5 = styled(ImgTemplate)`\n width: 24%;\n position: absolute;\n top: 28%;\n left: 78%;\n z-index: 1;\n animation: ${Anime} 18000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img6 = styled(ImgTemplate)`\n width: 24%;\n position: absolute;\n top: 0%;\n left: 0%;\n z-index: 1;\n animation: ${Anime} 18000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\nconst Img7 = styled(ImgTemplate)`\n width: 20%;\n position: absolute;\n top: 78%;\n left: 90%;\n z-index: 1;\n animation: ${Anime} 18000ms linear infinite normal forwards;\n animation-iteration-count: infinite;\n`;\n\nconst Pictures = () => {\n // const timeout = { enter: 4000, exit: 4000 };\n return (\n <>\n \n \n \n \n \n \n \n \n );\n};\nexport default Pictures;\n","export default __webpack_public_path__ + \"static/media/GRIDBUY.f5706155.svg\";","export default __webpack_public_path__ + \"static/media/Mystery.6f9fa95b.svg\";","/* eslint-disable */\nimport { useState, useEffect, useCallback } from \"react\";\nimport { useWeb3React } from \"@web3-react/core\";\nimport styled from \"styled-components\";\nimport { Button, Spinner, toaster } from \"evergreen-ui\";\nimport { FaMinus, FaPlus } from \"react-icons/fa\";\nimport { useHistory } from \"react-router-dom\";\n\nimport injected from \"../../utils/injected\";\nimport GridBuy from \"../../assets/svg/GRIDBUY.svg\";\nimport Mystery from \"../../assets/svg/buy/Mystery.svg\";\nimport { abi } from \"../../assets/ABI/Pigs.json\";\nimport { MAX_PER_TX, PRICE_IN_ETH, CONTRACT_ADDRESS } from \"../../config\";\n\nimport SideCard from \"../../components/SideCard\";\n\nconst BuyContainer = styled.div`\n /* height: 100%; */\n /* width: auto; */\n /* margin: 1rem 2rem; */\n /* display: flex; */\n /* flex-direction: column; */\n /* background: url(${GridBuy}); */\n display: flex;\n flex-direction: column;\n padding: 25px;\n position: fixed;\n right: 10px;\n top: 15%;\n height: 537px;\n width: 281px;\n margin: 0;\n border-radius: 10px;\n background: linear-gradient(90.75deg, #0f1241 0.71%, #1f2176 83.33%);\n z-index: 10;\n overflow: hidden;\n`;\n\nconst Title = styled.h2`\n margin: 0;\n font-size: 1.3rem;\n`;\n\nconst Ruler = styled.hr`\n width: 100%;\n`;\n\nconst Svg = styled.object`\n margin: 2.5rem 0 0 0;\n`;\n\nconst PriceTag = styled.div`\n width: fit-content;\n padding: 6px 13px;\n text-align: center;\n margin: 0.5rem auto;\n border: 1px solid #1d5cff;\n border-radius: 10px;\n background-color: #180e35;\n h2 {\n margin: 0;\n font-weight: bold;\n font-size: 36px;\n line-height: 43.2px;\n\n span {\n font-size: 0.9rem;\n }\n }\n h6 {\n margin: 0;\n font-size: 0.8rem;\n font-weight: 400;\n }\n`;\n\nconst MintCart = styled.div`\n width: 100%;\n margin-top: auto;\n -webkit-user-select: none; /* Safari */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* IE10+/Edge */\n user-select: none; /* Standard */\n\n button {\n width: 100%;\n padding: 8px 16px;\n font-weight: bold;\n font-style: italic;\n line-height: 16px;\n text-align: center;\n color: white;\n height: 32px;\n /* border: none; */\n -webkit-appearance: none;\n appearance: none;\n outline: none;\n }\n`;\n\nconst CartAmnt = styled.div`\n display: flex;\n justify-content: space-around;\n align-items: center;\n input {\n width: 61px;\n height: 32px;\n background-color: #474d66;\n margin: 0 9px;\n }\n h2 {\n font-weight: bold;\n line-height: 24px;\n }\n`;\n\nconst CartCounter = styled.h1`\n font-family: \"bungee\";\n min-width: 42px;\n text-align: center;\n`;\n\nconst Loading = styled.div`\n margin: 0 auto;\n margin-top: auto;\n`;\n\n// const ConnectMetamask = styled(Button)`\n// background-color: orange;\n// :hover {\n// background-color: orange;\n// }\n// `;\n\nconst Buy = ({ show }) => {\n const history = useHistory();\n const [loading, setLoading] = useState(false);\n const [cart, setCart] = useState(1);\n const [hodlPigs, setHodlPigs] = useState(null);\n const { library, activate, active, account } = useWeb3React();\n useEffect(() => {\n if (!active) return;\n\n const contract = new library.eth.Contract(abi, CONTRACT_ADDRESS);\n setHodlPigs(contract);\n }, [active, library]);\n\n const onClose = () => {\n history.push(\"/\");\n };\n\n const addCart = () => {\n if (cart + 1 < MAX_PER_TX + 1) setCart(cart + 1);\n };\n const minusCart = () => {\n if (cart - 1 > 0) setCart(cart - 1);\n };\n\n const mintPig = useCallback(() => {\n if (!active) return;\n setLoading(true);\n hodlPigs.methods\n .mintPig(cart)\n .send({ from: account, value: library.utils.toWei(PRICE_IN_ETH) * cart })\n .then((tx) => {\n console.log(tx);\n history.push(\"/\");\n toaster.success(\"Transaction Submited\");\n })\n .catch((e) => {\n toaster.danger(e.message);\n setLoading(false);\n });\n }, [cart, active, hodlPigs, library, setLoading, account, history]);\n\n return (\n \n \n MINT\n \n \n

\n 0.05Ξ each\n

\n
\n {loading ? (\n \n \n \n ) : (\n \n \n \n\n {cart}\n \n \n {active ? (\n \n ) : (\n \n )}\n \n )}\n
\n
\n );\n};\n\nexport default Buy;\n","export default __webpack_public_path__ + \"static/media/Buy.ecd78559.svg\";","export default __webpack_public_path__ + \"static/media/Deposit.b1b34a90.svg\";","export default __webpack_public_path__ + \"static/media/Sell.2947ea43.svg\";","export default __webpack_public_path__ + \"static/media/Break.608579ca.svg\";","import { useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\nimport Fade from \"react-reveal/Fade\";\nimport { isMobile } from \"react-device-detect\";\n\nimport Buy from \"../../assets/svg/how/Buy.svg\";\nimport Deposit from \"../../assets/svg/how/Deposit.svg\";\nimport Sell from \"../../assets/svg/how/Sell.svg\";\nimport Break from \"../../assets/svg/how/Break.svg\";\n\nconst HowContainer = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n text-align: start;\n\n @media only screen and (max-width: 500px) {\n flex-direction: column;\n }\n object {\n width: 50%;\n flex-grow: 50%;\n max-height: 550px;\n @media only screen and (max-width: 500px) {\n width: 100%;\n flex-grow: 100%;\n }\n }\n\n .react-reveal {\n /* margin: auto; */\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 50%;\n @media only screen and (max-width: 500px) {\n width: 100%;\n }\n }\n`;\n\nconst Text = styled.div`\n /* align-self: flex-start; */\n\n flex-grow: 50%;\n margin: auto;\n width: 27rem;\n @media only screen and (max-width: 500px) {\n width: 100%;\n flex-grow: 100%;\n flex-direction: column;\n margin: 0;\n }\n h2 {\n font-family: \"Urbanist\";\n font-size: 2.5rem;\n -webkit-text-stroke-width: 1px;\n letter-spacing: 2px;\n font-weight: 400;\n }\n\n h2.mint {\n color: #24eaff;\n /* -webkit-text-stroke-color: #24eaff; */\n }\n h2.deposit {\n color: #5ce079;\n /* -webkit-text-stroke-color: #5ce079; */\n }\n h2.sell {\n color: #ffcd1e;\n /* -webkit-text-stroke-color: #ffcd1e; */\n }\n h2.crack {\n color: #ff2440;\n /* -webkit-text-stroke-color: #ff2440; */\n }\n\n p.pad {\n margin-left: 0.4rem;\n }\n\n p {\n font-weight: normal;\n font-size: 1.2rem;\n line-height: 25px;\n color: #e7e4ed;\n /* text-align: justify; */\n\n a {\n color: #1bc5d8;\n :visited {\n color: #1d7be6;\n }\n :hover {\n color: #24eaff;\n }\n }\n\n span {\n font-weight: bold;\n }\n span.warning {\n color: red;\n }\n span.eth {\n background-image: -webkit-linear-gradient(\n 255deg,\n rgb(36, 234, 255),\n #a47af1\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n span.nft {\n background-image: -webkit-linear-gradient(\n 255deg,\n rgb(74, 4, 238),\n #d400ff\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n span.emoji {\n font-size: 1.7rem;\n }\n code.code {\n font-family: monospace;\n padding: 1px 4px;\n border-radius: 5px;\n color: #da2525;\n font-weight: lighter;\n background-color: #2a2436;\n }\n }\n`;\n\nconst How = () => {\n const [firstScroll, setFirstScroll] = useState(false);\n\n useEffect(() => {\n window.addEventListener(\"scroll\", (e) => setFirstScroll(true));\n\n return () => {\n window.removeEventListener(\"scroll\", () => {});\n };\n }, [setFirstScroll]);\n return (\n <>\n \n \n \n

MINT

\n

\n Once the pre-sale starts you can reserve a HODLPIG{\" \"}\n before they are revealed a week after. Each HODLPIGS{\" \"}\n is unique, generated from over 180 possible attributes and vary in\n rarity. Each pig can store Ether like\n a wallet can.\n

\n

\n 💎 10,000 Rare,\n first-of its kind NFT piggy banks.\n

\n

\n ⚖ïļ Fair Distribution, Fair Launch.\n

\n

\n 📈 0.05{\" \"}\n ETH each, no{\" \"}\n \n bonding curve\n \n .\n

\n

\n  ðŸ”Ĩ \n Burnable finite supply, see below\n

\n
\n {isMobile ? (\n <>\n ) : (\n \n )}\n \n \n {isMobile ? (\n <>\n ) : (\n \n )}\n \n

DEPOSIT

\n

\n The HODLPIGS contract implements a deposit function.\n This allows anyone to deposit Ether into any other HODLPIG.\n

\n

\n WARNING: Do NOT{\" \"}\n send any tokens or other NFT's to the contract address, the pigs\n are not wallets, to deposit you must interact with the contract's{\" \"}\n deposit function.\n

\n
\n \n \n \n

SELL

\n

\n HODLPIGS hold their balance when traded. Trading a\n pig that has 1 Eth in it, it will by default be worth\n 1 Eth minimum.\n

\n

\n This makes HODLPIGS great for gifting. Think of your{\" \"}\n HODLPIG as a mini eth wallet, that you\n can trade.\n

\n
\n {isMobile ? (\n <>\n ) : (\n \n )}\n \n \n {isMobile ? (\n <>\n ) : (\n \n )}\n \n

CRACK

\n

\n To retrive the stored ETH, break your{\" \"}\n HODLPIG open by calling the contract's crack function\n or through your HODLPIG's page.\n

\n

\n The crackPig function sends you all\n the stored ETH and{\" \"}\n burns the NFT.\n

\n

\n Once a HODLPIG is{\" \"}\n burned it is removed from the\n total supply and can never be minted again. This makes any{\" \"}\n HODLPIG increasingly rare.\n

\n
\n \n \n \n );\n};\n\nexport default How;\n","import styled, { keyframes } from \"styled-components\";\n\nconst arrowsAnimation = keyframes`\n 0%{\n border-color:#b692f7;\n transform:translate(0,0);\n }\n 20%{\n border-color:#b692f7;\n transform:translate(10px,10px);\n }\n 20.1%,100%{\n border-color:rgb(36,234,255);\n }\n`;\n\nconst ArrowContainer = styled.div`\n margin-top: 3rem;\n margin-left: -4px;\n padding-top: 15px;\n display: flex;\n justify-content: center;\n align-items: center;\n .indicator {\n position: relative;\n width: 50px;\n height: 50px;\n\n transform: rotate(45deg);\n span {\n position: absolute;\n left: 0;\n top: 0;\n width: 75%;\n height: 75%;\n /* font-weight: bolder; */\n box-sizing: border-box;\n border: none;\n border-bottom: 3px solid #fff;\n border-right: 3px solid #fff;\n animation: ${arrowsAnimation} 1s linear infinite;\n &:nth-child(1) {\n top: -20px;\n left: -20px;\n animation-delay: 0s;\n }\n &:nth-child(2) {\n top: -10px;\n left: -10px;\n animation-delay: 0.2s;\n }\n &:nth-child(3) {\n top: 0;\n left: 0;\n animation-delay: 0.4s;\n }\n /* &:nth-child(4) {\n top: 15px;\n left: 15px;\n animation-delay: 0.6s;\n }\n &:nth-child(5) {\n top: 30px;\n left: 30px;\n animation-delay: 0.8s;\n } */\n }\n }\n`;\n\nconst TextAnimation = keyframes`\n from {\n -webkit-filter: hue-rotate(0deg);\n }\n to {\n -webkit-filter: hue-rotate(-360deg);\n }\n`;\n\nconst ScrollDown = styled.h4`\n margin: 0;\n margin-left: 0.01rem;\n margin-top: 3rem;\n /* margin: 0 45%; */\n /* writing-mode: vertical-rl; */\n /* text-orientation: mixed; */\n font-size: 2rem;\n letter-spacing: 2px;\n font-weight: bolder;\n background-image: -webkit-linear-gradient(180deg, #b692f7, rgb(36, 234, 255));\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n animation: ${TextAnimation} 10s linear infinite;\n`;\nconst HowItWorksContainer = styled.div`\n display: flex;\n /* flex-direction: column; */\n margin: 0 50%;\n`;\n\nconst SomeContainer = styled.div`\n margin-left: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n`;\n\nconst Arrow = () => {\n return (\n \n How it Works\n \n \n
\n \n \n \n {/* \n */}\n
\n
\n
\n
\n );\n};\n\nexport default Arrow;\n","export default __webpack_public_path__ + \"static/media/Nick.2d76e379.jpg\";","export default __webpack_public_path__ + \"static/media/Sid.46ad851f.jpg\";","export default __webpack_public_path__ + \"static/media/Luna.0118f13c.jpg\";","export default __webpack_public_path__ + \"static/media/Dimitri.ba729600.jpg\";","import { forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport { isMobile } from \"react-device-detect\";\n\nimport NickImg from \"../../assets/us/Nick.jpg\";\nimport SidImg from \"../../assets/us/Sid.jpg\";\nimport LunaImg from \"../../assets/us/Luna.jpg\";\nimport DimitriImg from \"../../assets/us/Dimitri.jpg\";\n\nconst AboutContainer = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n color: #d0c8e0;\n flex-wrap: wrap;\n margin: 5% 0;\n`;\n\nconst AboutTitle = styled.h1`\n font-size: 5rem;\n margin-top: 0;\n margin-bottom: 2.5rem;\n color: white;\n flex-basis: 100%;\n @media only screen and (max-width: 500px) {\n font-size: 3.5rem;\n }\n`;\n\nconst AboutLeft = styled.div`\n align-self: center;\n flex-basis: 50%;\n width: 50%;\n @media only screen and (max-width: 500px) {\n flex-basis: 100%;\n width: 100%;\n }\n`;\n\nconst AboutRight = styled.div`\n width: 50%;\n flex-basis: 50%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: center;\n`;\n\nconst AbtImg = styled.div`\n flex-basis: 30%;\n padding: 1rem;\n height: auto;\n\n img {\n width: 100%;\n border-radius: 5px;\n }\n`;\n\nconst AboutContent = styled.div`\n h1 {\n color: white;\n font-size: 2rem;\n }\n p {\n color: #e7e4ed;\n font-size: 1.25rem;\n }\n\n a {\n font-size: 2rem;\n font-weight: bold;\n }\n\n a.raid {\n background-image: -webkit-linear-gradient(\n 60deg,\n rgb(78, 199, 255) 20%,\n #d400ff 100%\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n a.stand {\n background-image: -webkit-linear-gradient(80deg, rgb(0, 195, 255), #00ff6a);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n\n a.dimitri {\n background: rgb(76, 249, 253);\n background: linear-gradient(\n 45deg,\n rgba(27, 35, 255, 1) 0%,\n rgba(76, 249, 253, 1) 100%\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n\n a.luna {\n background: rgb(238, 61, 50);\n background: linear-gradient(\n 45deg,\n rgba(238, 61, 50, 1) 0%,\n rgba(253, 231, 76, 1) 100%\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n\n :hover {\n color: inherit;\n cursor: pointer;\n }\n :visited {\n color: inherit;\n }\n`;\n\nconst Emoji = styled.span`\n font-size: 2rem;\n margin-right: 8px;\n`;\n\nconst About = forwardRef((_, ref) => {\n return (\n \n About\n \n \n ðŸŽĻ\n \n Standardflinch\n \n

... what about?

\n ðŸ’ŧ\n \n Raid55\n \n

I want my MTV

\n 🚀\n Bacon\n

submissive and breedable

\n ðŸĶī\n Luna\n

Mad keep away player

\n
\n
\n {isMobile ? null : (\n \n \n \n {/*

standardFlinch

*/}\n
\n \n \n {/*

Raid55

*/}\n
\n \n \n {/*

Dimitri

*/}\n
\n \n \n {/*

Luna

*/}\n
\n
\n )}\n\n {/*

\n {\" \"}\n Made by{\" \"}\n \n Raid55\n {\" \"}\n and{\" \"}\n \n StandardFlinch\n \n

*/}\n
\n );\n});\n\nexport default About;\n\n// h4 {\n// font-size: 1.2rem;\n// margin: 0;\n// margin-bottom: 0.5rem;\n// font-weight: normal;\n// }\n// h5 {\n// font-size: 1rem;\n// font-weight: bold;\n// }\n// h3 {\n// font-size: 0.9rem;\n// a {\n// font-weight: 700;\n// font-size: 1.1rem;\n// text-decoration: none;\n// cursor: pointer;\n// }\n// a.raid {\n// background-image: -webkit-linear-gradient(\n// 60deg,\n// rgb(78, 199, 255) 20%,\n// #d400ff 100%\n// );\n// -webkit-background-clip: text;\n// -webkit-text-fill-color: transparent;\n// }\n// a.stand {\n// background-image: -webkit-linear-gradient(\n// 80deg,\n// rgb(0, 195, 255),\n// #00ff6a\n// );\n// -webkit-background-clip: text;\n// -webkit-text-fill-color: transparent;\n// }\n\n// :hover {\n// color: inherit;\n// }\n// :visited {\n// color: inherit;\n// }\n","import { forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport { useHistory } from \"react-router-dom\";\nimport { isMobile } from \"react-device-detect\";\n\nimport { ETHERSCAN_URL, CONTRACT_ADDRESS } from \"../../config\";\nimport LogoSwap from \"../../assets/svg/LogoSwap.svg\";\n\nconst ProvenanceContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n width: auto;\n margin: 10% auto 2% auto;\n`;\n\nconst Datainfo = styled.div`\n display: flex;\n flex-direction: column;\n max-width: 50%;\n flex: 30%;\n @media only screen and (max-width: 500px) {\n max-width: 100%;\n flex: 100%;\n }\n`;\n\nconst SvgAnimation = styled.div`\n /* flex-grow: 25%; */\n align-self: center;\n width: 45%;\n margin-left: 5%;\n object {\n width: 100%;\n margin-top: -3rem;\n }\n`;\n\nconst Title = styled.h1`\n font-size: 5rem;\n @media only screen and (max-width: 500px) {\n font-size: 3.5rem;\n }\n`;\n\nconst ProvInfo = styled.p`\n font-size: 1.25rem;\n font-weight: thin;\n text-align: justify;\n line-height: 1.75rem;\n color: #e7e4ed;\n`;\n\nconst MoreInfo = styled.div`\n margin-top: 5%;\n color: #e7e4ed;\n width: 50%;\n h1 {\n font-size: 2rem;\n }\n\n p {\n font-size: 1rem;\n line-height: 1.25rem;\n\n a {\n /* font-size: 0.8rem; */\n color: #8f59ef;\n text-decoration: none;\n :hover {\n color: #ab83f2;\n }\n :visited {\n color: #8f59ef;\n }\n @media only screen and (max-width: 500px) {\n font-size: 0.7rem;\n }\n }\n\n span {\n color: #9d96a8;\n @media only screen and (max-width: 500px) {\n font-size: 0.6rem;\n }\n }\n }\n`;\n\nconst GoToProofs = styled.div`\n display: flex;\n margin-top: 5%;\n\n button {\n height: 2rem;\n flex-grow: 1;\n border: none;\n border-radius: 4px;\n background-color: #8f59ef;\n font-size: 1rem;\n font-weight: bold;\n margin-right: 5%;\n\n height: 40px;\n color: #e7e4ed;\n\n transition: 0.2s;\n\n :hover {\n background-color: #a576f5;\n transition: 0.2s;\n box-shadow: 0px 0px 1px 1px #a576f5;\n cursor: pointer;\n }\n\n :active {\n background-color: #9268db;\n color: #dbdadb;\n }\n }\n`;\n\nconst Provenance = forwardRef((_, ref) => {\n const history = useHistory();\n\n const goto = (path) => {\n history.push(path);\n };\n const externalLink = (link) => {\n window.open(link, \"_blank\");\n };\n return (\n \n \n Provenance Record\n \n The provenance record shows each HODLPIG that will ever exist. All\n images are hashed using the SHA-256 algorithm and a combined string is\n obtained by concatenating SHA-256 of each HODLPIG in their specific\n order. The final proof is obtained by SHA-256 hashing this combined\n string.\n \n \n \n {/* */}\n \n \n

\n Initialized Starting Index:{\" \"}\n (Revealed on the 25th of October)\n

\n

\n Contract Address:{\" \"}\n \n 0xb1b970658034dcF1FD0FEB24A20DA38A29AA5CCf\n \n

\n

\n Final Proof Hash:{\" \"}\n \n 75804417186d360a948d7734e3273fd210c60a3968ff9a83201439d9deb11270\n \n

\n
\n
\n\n {isMobile ? null : (\n \n \n \n )}\n
\n );\n});\n\nexport default Provenance;\n","import { useState } from \"react\";\nimport styled from \"styled-components\";\n\nconst CollapseContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 30rem;\n background-color: #1e2246;\n border-radius: 4px;\n padding: 20px;\n cursor: pointer;\n margin: 0.5rem;\n align-items: space-around;\n height: fit-content;\n @media only screen and (max-width: 500px) {\n width: auto;\n /* margin: 0 auto; */\n }\n\n div {\n overflow-wrap: break-word;\n display: flex;\n flex-direction: row;\n width: 100%;\n margin: 0 0.8rem;\n align-items: center;\n }\n span {\n font-size: 1.5rem;\n margin-right: 4px;\n }\n h3 {\n font-size: 1.1rem;\n font-weight: normal;\n }\n\n p {\n font-size: 1rem;\n color: #e7e4ed;\n margin: 1rem;\n }\n`;\n\nconst Collapse = ({ emoji, title, content }) => {\n const [show, setShow] = useState(false);\n return (\n setShow(!show)}>\n
\n {emoji}\n

{title}

\n
\n {show ?

{content}

: null}\n
\n );\n};\n\nexport default Collapse;\n","/* eslint-disable */\nimport { forwardRef } from \"react\";\nimport styled from \"styled-components\";\n\nimport Collapse from \"../../components/Collapse\";\n\nconst FAQContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n\n h2 {\n color: #fff;\n margin: 5% 0;\n font-size: 5rem;\n @media only screen and (max-width: 500px) {\n font-size: 3.5rem;\n }\n }\n`;\n\nconst Holder = styled.div`\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n\n @media only screen and (max-width: 1117px) {\n flex-direction: column;\n }\n @media only screen and (max-width: 500px) {\n width: 100%;\n }\n`;\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0 1rem;\n @media only screen and (max-width: 500px) {\n width: 100%;\n }\n /* align-items: center; */\n`;\n\nconst FAQ = forwardRef((_, ref) => {\n return (\n \n

FAQ

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n});\n\nexport default FAQ;\n","/* eslint-disable */\nimport { useState, useEffect, useRef } from \"react\";\nimport styled from \"styled-components\";\nimport { Button } from \"evergreen-ui\";\nimport { FaTwitter, FaInstagram, FaDiscord } from \"react-icons/fa\";\nimport {\n Switch,\n Route,\n // Redirect,\n useRouteMatch,\n useHistory,\n useLocation,\n} from \"react-router-dom\";\nimport { TransitionGroup } from \"react-transition-group\";\n\nimport { isMobile } from \"react-device-detect\";\n\nimport LogoSwap from \"../../assets/svg/LogoSwap.svg\";\n\nimport Pictures from \"./Pictures/index\";\nimport Buy from \"./Buy\";\nimport How from \"./How\";\nimport Arrow from \"./Arrow\";\nimport About from \"./About\";\nimport Provenance from \"./Provenance\";\nimport FAQ from \"./FAQ\";\n\nimport \"./index.css\";\n\nconst HeadContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n @media only screen and (max-width: 500px) {\n flex-direction: column;\n }\n`;\n\nconst Content = styled.div`\n width: 50%;\n @media only screen and (max-width: 500px) {\n width: 100%;\n }\n`;\nconst Presentation = styled.div`\n width: 50%;\n position: relative;\n @media only screen and (max-width: 500px) {\n height: 301px;\n width: 80%;\n margin: 0 auto;\n margin-top: -50px;\n order: -1;\n }\n`;\n\nconst Header = styled.h1`\n font-size: 6.3vw;\n font-weight: 900;\n margin: 0;\n color: #e8e1f5;\n`;\n\nconst InfoText = styled.p`\n margin-left: 5px;\n max-height: 150px;\n max-width: 25rem;\n font-family: Urbanist;\n font-size: 18px;\n font-style: normal;\n font-weight: 400;\n line-height: 27px;\n letter-spacing: 0em;\n text-align: justify;\n color: #e7e4ed;\n\n @media only screen and (max-width: 500px) {\n font-size: 12px;\n width: 85%;\n }\n span {\n font-weight: bold;\n }\n span.eth {\n background-image: -webkit-linear-gradient(\n 255deg,\n rgb(36, 234, 255),\n #a47af1\n );\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n`;\n\nconst GetPigContainer = styled.div`\n /* background-color: #412c66; */\n border-radius: 5px;\n padding: 15px;\n width: fit-content;\n display: flex;\n align-items: center;\n /* justify-content: space-around; */\n margin-top: 8px;\n /* margin: 1.5rem 5px 5px 5px; */\n\n h2 {\n font-weight: bold;\n font-size: 1.1rem;\n background-color: #b692f7;\n padding-left: 5px;\n padding-right: 5px;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n svg {\n margin: 0.5rem;\n }\n`;\n\nconst MintNow = styled(Button)`\n height: 61px;\n width: 124px;\n padding: 8px, 16px, 8px, 16px;\n background: linear-gradient(270deg, #3366ff 0%, #52bd95 100%);\n font-family: Urbanist;\n font-size: 20px;\n font-style: normal;\n font-weight: 700;\n line-height: 16px;\n letter-spacing: 0px;\n text-align: center;\n`;\n\nconst MintAndScroll = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n a {\n margin: auto 14px;\n text-decoration: none;\n @media only screen and (max-width: 500px) {\n margin: auto 4px;\n }\n }\n\n a.twitter {\n margin-left: 2rem;\n @media only screen and (max-width: 500px) {\n margin-left: 0.5rem;\n }\n transition: 0.2s;\n color: #1da1f2;\n :visited {\n color: #1da1f2;\n }\n :hover {\n transition: 0.2s;\n color: #71c9ff;\n }\n }\n a.insta {\n transition: 0.2s;\n color: #e1306c;\n\n :visited {\n color: #e1306c;\n }\n :hover {\n transition: 0.2s;\n color: #ffdc80;\n }\n }\n a.discord {\n transition: 0.2s;\n color: #5865f2;\n\n :visited {\n color: #5865f2;\n }\n :hover {\n transition: 0.2s;\n color: #848ef7;\n }\n }\n`;\n\nconst MarginTest = styled.div`\n margin: 0 5%;\n`;\n\nconst Home = () => {\n const { hash } = useLocation();\n const isBuy = useRouteMatch(\"/buy\");\n const provenanceRef = useRef(null);\n const faqRef = useRef(null);\n const aboutRef = useRef(null);\n const history = useHistory();\n\n useEffect(() => {\n if (!provenanceRef) return;\n if (!faqRef) return;\n if (!aboutRef) return;\n switch (hash) {\n case \"#provenance\":\n provenanceRef.current.scrollIntoView({ behavior: \"smooth\" });\n break;\n case \"#faq\":\n faqRef.current.scrollIntoView({ behavior: \"smooth\" });\n break;\n case \"#about\":\n aboutRef.current.scrollIntoView({ behavior: \"smooth\" });\n break;\n default:\n break;\n }\n }, [hash]);\n\n const gotoBuy = () => {\n history.push(\"/buy\");\n };\n\n return (\n <>\n {/* setIsShown(false)}\n hasCancel={false}\n containerProps={{ hasFooter: false }}\n >\n We are giving away 10 pigs! 5 on Instagram and 5 on Twitter.\n */}\n \n \n
Gift, Sell, {isMobile ? null :
} HODL
\n \n HODLPIGS are a collection of 10,000 unique{\" \"}\n Ether piggy banks. Generated from over\n 180 attributes, these wild looking piggy banks were\n not engineered with a cork on their bottoms. Accessing the funds may\n require blunt force.\n \n \n \n \n Mint now\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n\n \n
\n \n \n \n \n \n \n \n \n );\n};\n\nexport default Home;\n","/* eslint-disable */\nimport { useCallback, useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Button,\n TextInput,\n Badge,\n Tooltip,\n Position,\n WarningSignIcon,\n Spinner,\n Pane,\n toaster,\n BankAccountIcon,\n} from \"evergreen-ui\";\nimport { GiPerspectiveDiceSixFacesFive } from \"react-icons/gi\";\nimport { FaEthereum } from \"react-icons/fa\";\nimport { useWeb3React } from \"@web3-react/core\";\nimport { RandomReveal } from \"react-random-reveal\";\nimport { Img } from \"react-image\";\n\nimport {\n CONTRACT_ADDRESS,\n OPEN_SEA_URL,\n ETHERSCAN_URL,\n TOTAL_SUPPLY,\n} from \"../config\";\nimport Wallet from \"../assets/svg/pig/Wallet.svg\";\nimport { getPigLedger, getPigMetadata, getPigOwner } from \"../hooks/hodlPigs\";\nimport { abi } from \"../assets/ABI/Pigs.json\";\nimport injected from \"../utils/injected\";\n\nconst PigContainer = styled.div`\n margin: 5% 10% 0;\n display: flex;\n flex-direction: column;\n`;\n\nconst Head = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n`;\nconst NameMeta = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Name = styled.h1`\n margin: 0;\n font-family: Bungee;\n font-size: 36px;\n font-style: normal;\n font-weight: 400;\n line-height: 54px;\n letter-spacing: 0em;\n text-align: justified;\n\n span {\n font-family: Urbanist;\n font-size: 36px;\n font-style: normal;\n line-height: 54px;\n letter-spacing: 0em;\n text-align: justified;\n font-weight: 500;\n color: #3366ff;\n }\n`;\nconst Owner = styled.div`\n display: flex;\n align-items: center;\n h6 {\n font-family: Urbanist;\n font-size: 14px;\n font-style: normal;\n font-weight: 300;\n line-height: 17px;\n letter-spacing: 0em;\n text-align: left;\n display: inline-block;\n margin-bottom: auto;\n margin: 0;\n cursor: pointer;\n }\n object {\n padding-bottom: 3px;\n width: 34px;\n margin-right: 10px;\n }\n margin-bottom: 19px;\n`;\nconst Random = styled(GiPerspectiveDiceSixFacesFive)`\n align-self: flex-start;\n margin-left: auto;\n margin-top: 14px;\n`;\n\nconst Body = styled.div`\n height: 369px;\n width: 100%;\n display: flex;\n flex-direction: row;\n`;\nconst PigImg = styled(Img)`\n width: 369px;\n border-radius: 10px;\n border: 3px solid #1e0881;\n vertical-align: -webkit-baseline-middle;\n`;\nconst InfoBox = styled.div`\n height: 369px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-left: 31px;\n`;\nconst Hodling = styled.h1`\n margin: 0;\n margin-top: auto;\n font-family: Urbanist;\n font-size: 48px;\n font-style: italic;\n font-weight: 600;\n line-height: 72px;\n letter-spacing: 0em;\n text-align: justified;\n`;\nconst Amount = styled.h1`\n margin: 0;\n background: linear-gradient(240.12deg, #eb00ff 45.43%, #00e0ff 108.8%);\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n font-family: \"Urbanist\";\n font-size: 64px;\n font-style: italic;\n font-weight: 800;\n letter-spacing: 00em;\n text-align: justified;\n line-height: 60px;\n margin-left: 10px;\n margin-bottom: 10px;\n padding-left: 4px;\n`;\nconst Actions = styled.div`\n height: 224px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n`;\nconst ActionDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n\n h3 {\n font-family: Urbanist;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0px;\n text-align: left;\n margin: 0;\n }\n\n p {\n font-family: \"Urbanist\";\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0px;\n text-align: left;\n color: #c1c4d6;\n margin: 0;\n }\n`;\nconst Deposit = styled(ActionDiv)`\n h3 {\n color: #52bd94;\n }\n`;\nconst DepositForm = styled.div`\n position: relative;\n display: flex;\n min-width: 220px;\n input {\n width: 84px;\n background: #474d66;\n border: none;\n margin-right: 14px;\n color: white;\n }\n svg.eth-logo {\n position: absolute;\n /* margin: auto 0; */\n left: 55px;\n top: 5px;\n z-index: 100;\n }\n`;\nconst Crack = styled(ActionDiv)`\n margin-left: 1.5rem;\n h3 {\n color: #c04242;\n }\n`;\nconst CrackButton = styled(Button)`\n margin: 0 auto;\n`;\nconst ViewOn = styled.div`\n h6 {\n font-family: \"Urbanist\";\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: justified;\n margin: 10px 0;\n }\n button {\n padding: 8px 16px;\n margin-right: 14px;\n margin-bottom: 5px;\n }\n button.opensea {\n background-color: transparent;\n color: #3366ff;\n border: 1px solid #3366ff;\n :hover {\n background-color: #3366ff;\n color: white;\n border: 1px solid #3366ff;\n }\n }\n button.ipfs {\n background-color: transparent;\n color: #19778a;\n border: 1px solid #19778a;\n :hover {\n background-color: #19778a;\n color: white;\n border: 1px solid #19778a;\n }\n }\n button.rarity {\n background-color: transparent;\n color: #d14343;\n border: 1px solid #d14343;\n :hover {\n background-color: #d14343;\n color: white;\n border: 1px solid #d14343;\n }\n }\n button.airweave {\n background-color: transparent;\n color: white;\n border: 1px solid white;\n :hover {\n background-color: white;\n color: black;\n border: 1px solid white;\n }\n }\n`;\nconst Foot = styled.div`\n width: 369px;\n display: flex;\n flex-direction: column;\n margin-left: 14px;\n\n h6 {\n font-family: Urbanist;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0px;\n text-align: left;\n color: #696f8c;\n margin: 14px 0;\n }\n`;\nconst Tagbar = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\nconst Attr = styled(Badge)`\n margin: 0 14px 15px 0;\n font-family: \"Urbanist\";\n font-weight: bold;\n`;\n\nconst badgeColorMap = {\n Background: \"#9DB5FF\",\n Pedestal: \"#D0CAF4\",\n Body: \"#A3E6CD\",\n Nose: \"#C1C4D6\",\n Eyes: \"#FFDFA6\",\n Forehead: \"#A8EAEF\",\n Coin: \"#F2C8B6\",\n Side: \"#EFA8BD\",\n};\n\nconst Pig = () => {\n const [pig, setPig] = useState(null);\n const [validId, setValidId] = useState(null);\n const [depositValue, setDepositValue] = useState(0);\n const [loading, setLoading] = useState(true);\n const [reset, setReset] = useState(false);\n const [actionLoading, setActionLoading] = useState(false);\n const history = useHistory();\n const { account, activate, active, library } = useWeb3React();\n let { id } = useParams();\n id = Number(id);\n\n useEffect(() => {\n if (reset) setReset(false);\n }, [reset, setReset]);\n\n useEffect(() => {\n setLoading(true);\n }, [id, setLoading]);\n\n useEffect(() => {\n if (!isNaN(id) && id > -1 && id < TOTAL_SUPPLY + 1) setValidId(true);\n else setValidId(false);\n }, [id, setValidId]);\n\n useEffect(() => {\n if (validId === null) return;\n if (!validId) history.push(\"/404\");\n }, [validId]);\n\n useEffect(() => {\n const loadData = async () => {\n if (validId === null) return;\n if (!validId) return;\n\n const metadata = await getPigMetadata(id);\n if (!metadata) throw new Error(\"error\");\n\n const pigOwner = await getPigOwner(id);\n if (!pigOwner) throw new Error(\"error\");\n\n const pigLedger = await getPigLedger(id);\n if (!pigLedger) throw new Error(\"error\");\n\n setPig({\n ...metadata,\n owner: pigOwner,\n ledger: pigLedger,\n });\n setLoading(false);\n };\n\n loadData().catch((e) => {\n history.push(\"/\");\n toaster.danger(\"Pig does not exist or has been burned\");\n });\n }, [id, validId, setPig, getPigLedger, getPigOwner, getPigMetadata]);\n\n const externalLink = useCallback((link) => {\n window.open(link, \"_blank\");\n });\n\n const handleDeposit = ({ target }) => {\n if (!isNaN(Number(target.value))) setDepositValue(target.value);\n };\n\n const crackPig = useCallback(() => {\n setActionLoading(true);\n const contract = new library.eth.Contract(abi, CONTRACT_ADDRESS);\n contract.methods\n .crackPig(id)\n .send({ from: account })\n .then((tx) => {\n history.push(\"/\");\n toaster.success(\n `Cracking Pig processed on chain. Transaction Hash: ${tx.transactionHash}`\n );\n })\n .catch((e) => {\n setActionLoading(false);\n toaster.danger(e.message);\n });\n });\n const depositPig = useCallback(() => {\n if (!active) return activate(injected);\n\n setActionLoading(true);\n const contract = new library.eth.Contract(abi, CONTRACT_ADDRESS);\n contract.methods\n .deposit(id)\n .send({ from: account, value: library.utils.toWei(String(depositValue)) })\n .then((tx) => {\n setActionLoading(false);\n toaster.success(\n `Deposit processed on chain. Transaction Hash: ${tx.transactionHash}`\n );\n setReset(true);\n setPig({\n ...pig,\n ledger: (Number(pig.ledger) + Number(depositValue)).toFixed(4),\n });\n setDepositValue(0);\n })\n .catch((e) => {\n setActionLoading(false);\n toaster.danger(e.message);\n });\n }, [\n id,\n active,\n activate,\n library,\n setActionLoading,\n setDepositValue,\n depositValue,\n ]);\n\n return !loading ? (\n \n \n \n \n HODLPIG #{id}\n \n \n \n \n externalLink(`${ETHERSCAN_URL}/address/${pig.owner}`)\n }\n >\n \n \n \n {/* \"wallet{\" \"} */}\n \n \n \n \n \n \n }\n />\n \n
\n HODLING\n \n {reset ? null : (\n \n )}\n \n \n
\n \n \n

Deposit

\n

Enter an amount to deposit

\n \n \n \n \n {active ? \"Deposit\" : \"Connect\"}\n \n \n
\n {active && account == pig.owner ? (\n \n

Crack

\n

Break your pig

\n \n CRACK PIG\n \n
\n ) : null}\n
\n \n
View On
\n \n externalLink(`${OPEN_SEA_URL}/assets/${CONTRACT_ADDRESS}/${id}`)\n }\n size=\"small\"\n className=\"opensea\"\n >\n OpenSea\n \n externalLink(pig.tokenUri)}\n size=\"small\"\n className=\"ipfs\"\n >\n ipfs\n \n {/* \n */}\n
\n
\n \n \n
Hover over to view layer
\n \n {pig.attributes.map((attr) => (\n \n \n {attr.value}\n \n \n ))}\n \n
\n \n ) : (\n \n \n \n );\n};\n\nexport default Pig;\n","import styled from \"styled-components\";\nimport { FaTwitter, FaInstagram } from \"react-icons/fa\";\n\nconst FooterContainer = styled.div`\n /* height: 100%; */\n width: 100%;\n padding: 50px 0 50px 0;\n`;\nconst LegalSocial = styled.div`\n display: flex;\n flex-direction: row;\n float: right;\n margin-top: max(auto, 5rem);\n p {\n align-self: center;\n width: fit-content;\n font-family: Urbanist;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 14px;\n letter-spacing: 0em;\n text-align: center;\n }\n svg {\n align-self: center;\n width: fit-content;\n margin: 6px;\n }\n`;\n\nconst Footer = () => {\n return (\n \n \n {/* */}\n {/* */}\n

ÂĐ 2021 HODLPIGS

\n
\n
\n );\n};\n\nexport default Footer;\n","/* eslint-disable */\nconst colorMap = {\n none: {\n base: \"white\",\n hover: \"colors.gray75\",\n focus: \"colors.gray75\",\n active: \"intents.info.background\",\n current: \"intents.info.background\",\n },\n\n danger: {\n base: \"intents.danger.background\",\n hover: \"intents.danger.background\",\n focus: \"colors.red100\",\n active: \"colors.red100\",\n current: \"colors.red100\",\n },\n\n warning: {\n base: \"intents.warning.background\",\n hover: \"intents.warning.background\",\n focus: \"colors.orange100\",\n active: \"colors.orange100\",\n current: \"colors.orange100\",\n },\n\n success: {\n base: \"intents.success.background\",\n hover: \"intents.success.background\",\n focus: \"colors.green100\",\n active: \"colors.green100\",\n current: \"colors.green100\",\n },\n};\n\nconst getBackgroundForIntentAndState = (intent, state) =>\n colorMap[intent][state];\n\nconst baseStyle = {\n outline: \"none\",\n textDecoration: \"none\",\n height: 64,\n\n _isSelectable: {\n cursor: \"pointer\",\n },\n};\n\nconst appearances = {\n default: {\n backgroundColor: (_, props) =>\n getBackgroundForIntentAndState(props.intent, \"base\"),\n\n _hover: {\n backgroundColor: (_, props) =>\n getBackgroundForIntentAndState(props.intent, \"hover\"),\n },\n\n _focus: {\n backgroundColor: (_, props) =>\n getBackgroundForIntentAndState(props.intent, \"focus\"),\n },\n\n _active: {\n backgroundColor: (_, props) =>\n getBackgroundForIntentAndState(props.intent, \"active\"),\n },\n\n _current: {\n backgroundColor: (_, props) =>\n getBackgroundForIntentAndState(props.intent, \"current\"),\n },\n },\n};\n\nexport default {\n baseStyle,\n appearances,\n};\n","/* eslint-disable */\nconst baseStyle = {};\n\nconst appearances = {};\n\nconst textSizes = {\n 300: {\n fontSize: \"fontSizes.1\",\n fontWeight: \"fontWeights.normal\",\n lineHeight: \"lineHeights.0\",\n letterSpacing: \"letterSpacings.normal\",\n },\n 400: {\n fontSize: \"fontSizes.2\",\n fontWeight: \"fontWeights.normal\",\n lineHeight: \"lineHeights.2\",\n letterSpacing: \"letterSpacings.tight\",\n },\n 500: {\n fontSize: \"fontSizes.3\",\n fontWeight: \"fontWeights.normal\",\n lineHeight: \"lineHeights.2\",\n letterSpacing: \"letterSpacings.tight\",\n },\n 600: {\n fontSize: \"fontSizes.4\",\n fontWeight: \"fontWeights.normal\",\n lineHeight: \"lineHeights.3\",\n letterSpacing: \"letterSpacings.tighter\",\n },\n};\n\nconst sizes = {\n ...textSizes,\n small: textSizes[\"300\"],\n medium: textSizes[\"400\"],\n large: textSizes[\"500\"],\n};\n\nexport default {\n baseStyle,\n appearances,\n sizes,\n};\n","/* eslint-disable */\nimport Table from \"./table\";\nimport TableCell from \"./table-cell\";\nimport TableHead from \"./table-head\";\nimport TableRow from \"./table-row\";\nimport Text from \"./text\";\n\nexport default {\n Table,\n TableCell,\n TableHead,\n TableRow,\n Text,\n};\n","/* eslint-disable */\nconst baseStyle = {\n borderRadius: \"radii.1\",\n border: \"muted\",\n};\n\nconst appearances = {};\n\nconst sizes = {};\n\nexport default {\n baseStyle,\n appearances,\n sizes,\n};\n","/* eslint-disable */\nconst baseStyle = {\n paddingX: 12,\n};\n\nconst appearances = {\n default: {\n _focus: {\n outline: \"none\",\n background: \"colors.blue50\",\n boxShadow: (theme) => `inset 0 0 0 1px ${theme.colors.blue500}`,\n },\n },\n};\n\nconst sizes = {};\n\nexport default {\n baseStyle,\n appearances,\n sizes,\n};\n","/* eslint-disable */\nconst baseStyle = {\n borderBottom: \"default\",\n background: \"colors.tint2\",\n height: \"56px\",\n fontSize: \"fontSizes.1\",\n fontWeight: \"fontWeights.bold\",\n lineHeight: \"lineHeights.0\",\n letterSpacing: \"letterSpacings.normal\",\n fontFamily: \"fontFamilies.ui\",\n color: \"colors.muted\",\n textTransform: \"uppercase\",\n};\n\nconst appearances = {};\n\nconst sizes = {};\n\nexport default {\n baseStyle,\n appearances,\n sizes,\n};\n","/* eslint-disable */\nimport { defaultTheme } from \"evergreen-ui\";\n\n// import tokens from './tokens'\nimport components from \"./components\";\n\nconst colorScales = {\n // Grays / neutrals\n gray900: \"#101840\",\n gray800: \"#474d66\",\n gray700: \"#696f8c\",\n gray600: \"#8f95b2\",\n gray500: \"#c1c4d6\",\n gray400: \"#d8dae5\",\n gray300: \"#E6E8F0\",\n gray200: \"#edeff5\",\n gray100: \"#F4F5F9\",\n gray90: \"#F4F6FA\",\n gray75: \"#F9FAFC\",\n gray50: \"#FAFBFF\",\n\n // Blues\n blue900: \"#0A1433\",\n blue800: \"#142966\",\n blue700: \"#1F3D99\",\n blue600: \"#2952CC\",\n blue500: \"#3366FF\",\n blue400: \"#5C85FF\",\n blue300: \"#85A3FF\",\n blue200: \"#ADC2FF\",\n blue100: \"#D6E0FF\",\n blue50: \"#EBF0FF\",\n blue25: \"#F3F6FF\",\n\n // Reds\n red700: \"#7D2828\",\n red600: \"#A73636\",\n red500: \"#D14343\",\n red300: \"#EE9191\",\n red100: \"#F9DADA\",\n red25: \"#FDF4F4\",\n\n // Greens\n green900: \"#10261E\",\n green800: \"#214C3C\",\n green700: \"#317159\",\n green600: \"#429777\",\n green500: \"#52BD95\",\n green400: \"#75CAAA\",\n green300: \"#97D7BF\",\n green200: \"#BAE5D5\",\n green100: \"#DCF2EA\",\n green25: \"#F5FBF8\",\n\n // Oranges\n orange700: \"#996A13\",\n orange500: \"#FFB020\",\n orange100: \"#F8E3DA\",\n orange25: \"#FFFAF2\",\n\n // Purple\n purple600: \"#6E62B6\",\n purple100: \"#E7E4F9\",\n\n // Teals\n teal800: \"#0F5156\",\n teal100: \"#D3F5F7\",\n\n // Yellows\n yellow800: \"#66460D\",\n yellow100: \"#FFEFD2\",\n};\n\nconst theme = {\n ...defaultTheme,\n\n colors: {\n ...colorScales,\n muted: colorScales.gray700,\n default: colorScales.gray800,\n dark: colorScales.gray900,\n selected: colorScales.blue500,\n\n tint1: colorScales.gray50,\n tint2: colorScales.gray75,\n overlay: \"rgba(67, 90, 111, 0.7)\",\n\n yellowTint: colorScales.yellow100,\n greenTint: colorScales.green25,\n orangeTint: colorScales.orange25,\n redTint: colorScales.red25,\n blueTint: colorScales.blue25,\n purpleTint: colorScales.purple100,\n tealTint: colorScales.teal100,\n\n border: {\n default: colorScales.gray300,\n muted: colorScales.gray200,\n },\n\n icon: {\n default: colorScales.gray700,\n muted: colorScales.gray600,\n disabled: colorScales.gray400,\n selected: colorScales.blue500,\n },\n\n text: {\n danger: colorScales.red500,\n success: colorScales.green500,\n info: colorScales.blue500,\n },\n },\n zIndices: {\n ...defaultTheme.zIndices,\n overlay: 5,\n },\n components: {\n ...defaultTheme.components,\n ...components,\n },\n};\n\nexport default theme;\n","import styled from \"styled-components\";\n// import { Helmet } from \"react-helmet-async\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Redirect,\n // useRouteMatch,\n // useHistory,\n} from \"react-router-dom\";\nimport { ThemeProvider } from \"evergreen-ui\";\nimport { Web3ReactProvider } from \"@web3-react/core\";\nimport { createAlchemyWeb3 } from \"@alch/alchemy-web3\";\n\nimport Navbar from \"./components/Navbar\";\nimport Home from \"./containers/Home\";\nimport Pig from \"./containers/Pig\";\nimport Footer from \"./components/Footer\";\nimport theme from \"./theme\";\nimport { ALCHEMY_URL } from \"./config\";\n\nfunction getLibrary(provider) {\n const library = new createAlchemyWeb3(ALCHEMY_URL, {\n writeProvider: provider,\n });\n sessionStorage.setItem(\"authed\", \"1\");\n return library;\n}\n\nconst AppContainer = styled.div`\n margin: 0 17.5%;\n @media only screen and (max-width: 500px) {\n margin: 0;\n overflow-x: hidden;\n /* padding: 0 5%; */\n }\n @media only screen and (max-width: 912px) {\n margin: 0 5%;\n }\n`;\n\nconst App = () => {\n return (\n \n \n \n \n \n \n \n {/* /\n / */}\n \n \n \n {/* \n \n */}\n \n \n \n