├── jsconfig.json ├── src ├── components │ ├── Chains │ │ ├── index.js │ │ ├── Chains.jsx │ │ ├── Networks.js │ │ └── Logos.jsx │ ├── Wallet │ │ ├── index.js │ │ ├── Wallet.jsx │ │ └── components │ │ │ ├── Assets.jsx │ │ │ ├── AssetSelector.jsx │ │ │ └── Transfer.jsx │ ├── Address │ │ ├── identicon.css │ │ └── Address.jsx │ ├── NativeTransactions │ │ ├── index.js │ │ ├── styles.js │ │ └── NativeTransactions.jsx │ ├── ui │ │ ├── NetworkLogos.js │ │ ├── WalletLogos.js │ │ ├── ImageWithFallback.js │ │ ├── icons │ │ │ ├── Medium.js │ │ │ ├── Wallet.js │ │ │ └── Discord.js │ │ ├── Backdrop.js │ │ └── Alert.js │ ├── account │ │ ├── index.js │ │ ├── Unauthenticated.js │ │ ├── Authenticated.js │ │ └── AccountDetails.js │ ├── NativeBalance.jsx │ ├── shared │ │ ├── CryptoDisclaimer.js │ │ ├── Countdown.js │ │ ├── CopyToClipboard.js │ │ └── Contracts.js │ ├── Blockie.jsx │ ├── pre-sale │ │ ├── PhaseI │ │ │ ├── Renderer.js │ │ │ └── CountingDown.js │ │ ├── PreSaleSteps.js │ │ └── PhaseII │ │ │ └── Renderer.js │ ├── stake │ │ ├── HowToStake.js │ │ ├── StakeSteps.js │ │ ├── TokenPools.js │ │ └── StakingGuide.js │ ├── TokenPrice.jsx │ ├── about │ │ ├── NftPlatformSection.js │ │ ├── HeroSection.js │ │ ├── FunFactSection.js │ │ ├── BridgeSection.js │ │ ├── AlreadyConvincedSection.js │ │ └── TeamSection.js │ ├── Ramper.jsx │ ├── Contract │ │ ├── ContractMethods.jsx │ │ └── Contract.jsx │ ├── MenuItems.jsx │ ├── home │ │ ├── PartnersSection.js │ │ ├── FeaturesSection.js │ │ ├── HeroSection.js │ │ ├── TokenomicsSection.js │ │ └── HowToSection.js │ ├── QuickStart.jsx │ ├── ERC20Transfers │ │ └── index.js │ ├── ERC20Balance.jsx │ ├── gallery │ │ ├── GalleryItemDetails.js │ │ └── GalleryItems.js │ ├── layout │ │ ├── Footer.js │ │ └── Header │ │ │ ├── MainNavigation.js │ │ │ ├── SideDrawer.js │ │ │ └── Navbar.js │ ├── AddressInput.jsx │ └── swap │ │ └── Tokens.js ├── assets │ └── images │ │ ├── logo-elo.png │ │ ├── team │ │ ├── ajay.png │ │ ├── gow.png │ │ ├── bhumish.png │ │ ├── derek.png │ │ ├── kevin.png │ │ └── vladimir.png │ │ ├── logo-blue-art1.png │ │ ├── logo-blue-art2.png │ │ ├── partners │ │ ├── fairyproof.png │ │ ├── gateio.svg │ │ ├── ethereum.svg │ │ └── polynetwork.svg │ │ ├── placeholder.svg │ │ ├── network-logos │ │ ├── ethereum.svg │ │ └── binance.svg │ │ ├── wallet-logos │ │ ├── wallet-connect.svg │ │ └── metamask.svg │ │ ├── wallet-providers │ │ ├── wallet-connect.svg │ │ └── metamask.svg │ │ └── cubes.svg ├── context.js ├── providers │ └── MoralisDappProvider │ │ ├── context.js │ │ └── MoralisDappProvider.js ├── hooks │ ├── useIPFS.js │ ├── useScroll.js │ ├── useAPIContract.js │ ├── useNativeTransactions.js │ ├── useERC20Balance.js │ ├── useERC20Transfers.js │ ├── useNFTBalance.js │ ├── useNativeBalance.js │ ├── useTokenPrice.js │ └── useInchDex.js ├── helpers │ ├── ContractAddress.js │ ├── formatters.js │ └── networks.js ├── containers │ ├── about │ │ └── index.js │ ├── home │ │ └── index.js │ ├── nfts │ │ └── index.js │ ├── transactions │ │ └── index.js │ ├── gallery │ │ └── index.js │ ├── mint │ │ └── index.js │ ├── pre-sale │ │ ├── Ended.js │ │ └── index.js │ ├── stake │ │ └── index.js │ └── swap │ │ └── index.js ├── index.css ├── App.js ├── index.js └── contracts │ └── presale.json ├── public ├── favicon.ico ├── favicon_.ico ├── logo512.png ├── logo512_.png └── index.html ├── .gitignore ├── package.json └── README.md /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { "baseUrl": "src" } 3 | } 4 | -------------------------------------------------------------------------------- /src/components/Chains/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Chains"; 2 | -------------------------------------------------------------------------------- /src/components/Wallet/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Wallet"; 2 | -------------------------------------------------------------------------------- /src/components/Address/identicon.css: -------------------------------------------------------------------------------- 1 | .identicon { 2 | border-radius: 50px; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/NativeTransactions/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./NativeTransactions"; 2 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon_.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/public/favicon_.ico -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/logo512_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/public/logo512_.png -------------------------------------------------------------------------------- /src/assets/images/logo-elo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/logo-elo.png -------------------------------------------------------------------------------- /src/assets/images/team/ajay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/ajay.png -------------------------------------------------------------------------------- /src/assets/images/team/gow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/gow.png -------------------------------------------------------------------------------- /src/assets/images/team/bhumish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/bhumish.png -------------------------------------------------------------------------------- /src/assets/images/team/derek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/derek.png -------------------------------------------------------------------------------- /src/assets/images/team/kevin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/kevin.png -------------------------------------------------------------------------------- /src/context.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const DappContext = React.createContext(); 4 | export default DappContext; 5 | -------------------------------------------------------------------------------- /src/assets/images/logo-blue-art1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/logo-blue-art1.png -------------------------------------------------------------------------------- /src/assets/images/logo-blue-art2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/logo-blue-art2.png -------------------------------------------------------------------------------- /src/assets/images/team/vladimir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/team/vladimir.png -------------------------------------------------------------------------------- /src/assets/images/partners/fairyproof.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Crypto27dev/Sandwich-bot-main/HEAD/src/assets/images/partners/fairyproof.png -------------------------------------------------------------------------------- /src/assets/images/placeholder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/providers/MoralisDappProvider/context.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const MoralisDappContext = React.createContext(); 4 | 5 | export default MoralisDappContext; 6 | -------------------------------------------------------------------------------- /src/hooks/useIPFS.js: -------------------------------------------------------------------------------- 1 | export const useIPFS = () => { 2 | const resolveLink = (url) => { 3 | if (!url || !url.includes("ipfs://")) return url; 4 | return url.replace("ipfs://", "https://gateway.ipfs.io/ipfs/"); 5 | }; 6 | 7 | return { resolveLink }; 8 | }; 9 | -------------------------------------------------------------------------------- /src/hooks/useScroll.js: -------------------------------------------------------------------------------- 1 | import { useRef } from 'react'; 2 | 3 | const useScroll = () => { 4 | const scrollRef = useRef(null); 5 | const executeScroll = () => scrollRef.current && scrollRef.current.scrollIntoView(); 6 | 7 | return [executeScroll, scrollRef]; 8 | }; 9 | 10 | export default useScroll -------------------------------------------------------------------------------- /src/components/ui/NetworkLogos.js: -------------------------------------------------------------------------------- 1 | import Ethereum from '../../assets/images/network-logos/ethereum.svg'; 2 | import Binance from '../../assets/images/network-logos/binance.svg'; 3 | 4 | export const EthereumLogo = ({width=25}) => ( 5 | Ethereum Logo 6 | ) 7 | 8 | export const BinanceLogo = ({width=25}) => ( 9 | Binance Logo 10 | ) -------------------------------------------------------------------------------- /src/components/account/index.js: -------------------------------------------------------------------------------- 1 | import { useWeb3React } from '@web3-react/core'; 2 | import Authenticated from "./Authenticated"; 3 | import Unauthenticated from "./Unauthenticated"; 4 | 5 | function Account() { 6 | const { library, account } = useWeb3React() 7 | 8 | if (library) 9 | return 10 | 11 | return 12 | 13 | } 14 | 15 | export default Account; 16 | -------------------------------------------------------------------------------- /src/components/ui/WalletLogos.js: -------------------------------------------------------------------------------- 1 | import Metamask from '../../assets/images/wallet-logos/metamask.svg'; 2 | import WalletConnect from '../../assets/images/wallet-logos/wallet-connect.svg'; 3 | 4 | export const MetamaskLogo = ({width=25}) => ( 5 | Metamask Logo 6 | ) 7 | 8 | export const WalletConnectLogo = ({width=25}) => ( 9 | Wallet Connect Logo 10 | ) -------------------------------------------------------------------------------- /src/components/ui/ImageWithFallback.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from 'react'; 2 | 3 | const ImageWithFallback = (props) => { 4 | const { src, fallbackSrc, ...rest } = props; 5 | const [imgSrc, setImgSrc] = useState(src); 6 | 7 | return ( 8 | { 12 | setImgSrc(fallbackSrc); 13 | }} 14 | alt="" 15 | /> 16 | ); 17 | }; 18 | 19 | export default ImageWithFallback; -------------------------------------------------------------------------------- /src/hooks/useAPIContract.js: -------------------------------------------------------------------------------- 1 | import { useMoralisWeb3Api, useMoralisWeb3ApiCall } from "react-moralis"; 2 | 3 | export const useAPIContract = (options) => { 4 | const { native } = useMoralisWeb3Api(); 5 | 6 | const { 7 | fetch: runContractFunction, 8 | data: contractResponse, 9 | error, 10 | isLoading, 11 | } = useMoralisWeb3ApiCall(native.runContractFunction, { ...options }); 12 | 13 | return { runContractFunction, contractResponse, error, isLoading }; 14 | }; 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # dependencies 3 | /node_modules 4 | /.pnp 5 | .pnp.js 6 | 7 | # testing 8 | /coverage 9 | 10 | # production 11 | /build 12 | 13 | # misc 14 | .DS_Store 15 | .env 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | yarn.lock 25 | 26 | node_modules 27 | .env 28 | coverage 29 | coverage.json 30 | typechain 31 | 32 | #Truffle files 33 | /Truffle/build 34 | /Truffle/data -------------------------------------------------------------------------------- /src/helpers/ContractAddress.js: -------------------------------------------------------------------------------- 1 | 2 | export const CONTRACT_ADDRESS = { 3 | // ERC721 contract address 4 | ERC_721: "0xe66326CE9B97Bd59CCE370692aeeF8fA9feadEF6", 5 | 6 | // ERC20 contract address 7 | ERC_20: "0x40D6EC8B51B1874C980a907769de850359028575", 8 | 9 | // Presale contract address 10 | PRESALE_ADDRESS: "0x9238c202C55d3dAE6dC8d645F7a78c57683A8bcc", 11 | 12 | // Staking contract address 13 | //STAKING_ADDRESS: "0x9238c202C55d3dAE6dC8d645F7a78c57683A8bcc" 14 | } -------------------------------------------------------------------------------- /src/components/NativeBalance.jsx: -------------------------------------------------------------------------------- 1 | import { useMoralis, useNativeBalance } from "react-moralis"; 2 | import Chip from '@mui/material/Chip'; 3 | 4 | function NativeBalance() { 5 | const { data: balance } = useNativeBalance(); 6 | const { isAuthenticated } = useMoralis(); 7 | 8 | if (!isAuthenticated) 9 | return null 10 | 11 | return 18 | } 19 | 20 | export default NativeBalance; 21 | -------------------------------------------------------------------------------- /src/components/NativeTransactions/styles.js: -------------------------------------------------------------------------------- 1 | const styles = { 2 | title: { 3 | fontSize: "30px", 4 | fontWeight: "700", 5 | }, 6 | card: { 7 | padding: "20px", 8 | display: "flex", 9 | background: "#FFFFFF", 10 | boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.25)", 11 | border: "2px solid #e7eaf3", 12 | borderRadius: "15px", 13 | marginBottom: "20px", 14 | }, 15 | table: { 16 | tableLayout: "fixed", 17 | width: "100%", 18 | textAlign: "left", 19 | borderCollapse: "collapse", 20 | maxWidth: "100%", 21 | }, 22 | }; 23 | 24 | export default styles; 25 | -------------------------------------------------------------------------------- /src/components/shared/CryptoDisclaimer.js: -------------------------------------------------------------------------------- 1 | import Alert from '@mui/material/Alert'; 2 | import AlertTitle from '@mui/material/AlertTitle'; 3 | 4 | const CryptoDisclaimer = () => { 5 | return ( 6 | 7 | Cryptoasset Disclaimer 8 | Trading/Minting crypto-assets carries a high level of risk. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. 9 | 10 | ); 11 | } 12 | 13 | export default CryptoDisclaimer; -------------------------------------------------------------------------------- /src/components/Blockie.jsx: -------------------------------------------------------------------------------- 1 | import Blockies from "react-blockies"; 2 | import { useMoralisDapp } from "../providers/MoralisDappProvider/MoralisDappProvider"; 3 | 4 | /** 5 | * Shows a blockie image for the provided wallet address 6 | * @param {*} props 7 | * @returns JSX Elemenet 8 | */ 9 | 10 | function Blockie(props) { 11 | const { walletAddress } = useMoralisDapp(); 12 | if ((!props.address && !props.currentWallet) || !walletAddress) return null; 13 | 14 | return ( 15 | 20 | ); 21 | } 22 | 23 | export default Blockie; 24 | -------------------------------------------------------------------------------- /src/assets/images/network-logos/ethereum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/components/pre-sale/PhaseI/Renderer.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Countdown from 'react-countdown'; 3 | import Opened from './Opened'; 4 | import CountingDown from './CountingDown'; 5 | 6 | const opensIn = 1649113200000; 7 | //const opensIn = 1649980800000; // UTC 15th Apirl 2022 unixtimestamp 8 | 9 | //const opensIn = Date.now() + 20000; 10 | 11 | const renderer = ({ days, hours, minutes, seconds, completed }) => { 12 | 13 | if (completed) 14 | return 15 | 16 | return 20 | 21 | }; 22 | 23 | const PhaseI = () => { 24 | return ; 28 | } 29 | 30 | export default PhaseI; -------------------------------------------------------------------------------- /src/containers/about/index.js: -------------------------------------------------------------------------------- 1 | import { Fragment } from 'react' 2 | import HeroSection from '../../components/about/HeroSection'; 3 | import PartnersSection from '../../components/home/PartnersSection'; 4 | //import BridgeSection from '../../components/about/BridgeSection'; 5 | //import NftPlatformSection from '../../components/about/NftPlatformSection'; 6 | import AlreadyConvincedSection from '../../components/about/AlreadyConvincedSection'; 7 | //import FunFactSection from '../../components/about/FunFactSection'; 8 | import TeamSection from 'components/about/TeamSection'; 9 | 10 | export default function About() { 11 | return ( 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ) 20 | } 21 | -------------------------------------------------------------------------------- /src/components/ui/icons/Medium.js: -------------------------------------------------------------------------------- 1 | import SvgIcon from '@mui/material/SvgIcon'; 2 | 3 | export default function Medium(props) { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | ); 11 | } -------------------------------------------------------------------------------- /src/components/stake/HowToStake.js: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | import Button from '@mui/material/Button'; 3 | import Box from '@mui/material/Box'; 4 | import StakingGuide from './StakingGuide'; 5 | 6 | const HowToStake = () => { 7 | const [stakingGuideDialogOpen, setStakingGuideDialogOpen] = useState(false); 8 | 9 | const handleStakingGuideDialogToggle = () => { 10 | setStakingGuideDialogOpen(!stakingGuideDialogOpen); 11 | }; 12 | 13 | return ( 14 | 15 | 18 | 22 | 23 | ); 24 | } 25 | 26 | export default HowToStake; -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ELO - Efforless Order 13 | 14 | 15 | 16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /src/components/TokenPrice.jsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import useTokenPrice from "hooks/useTokenPrice"; 3 | import Chip from '@mui/material/Chip'; 4 | 5 | const TokenImage = ({src}) => ( 6 | Token logo 7 | ) 8 | 9 | function TokenPrice(props) { 10 | const { tokenPrice } = useTokenPrice(props); 11 | const [isUSDMode, setIsUSDMode] = useState(false); 12 | 13 | const toggleDisplayStyle = () => setIsUSDMode(!isUSDMode); 14 | 15 | 16 | return ( 17 | } 19 | label={tokenPrice && (isUSDMode ? tokenPrice.usdPrice : tokenPrice.nativePrice)} 20 | onClick={toggleDisplayStyle} 21 | sx={{fontWeight: 500, minWidth: '130px'}} 22 | title={`Show in ${isUSDMode ? "ETH" : "USD"}`} 23 | /> 24 | ); 25 | } 26 | export default TokenPrice; 27 | -------------------------------------------------------------------------------- /src/components/pre-sale/PhaseI/CountingDown.js: -------------------------------------------------------------------------------- 1 | import moment from 'moment'; 2 | import Typography from '@mui/material/Typography'; 3 | import Box from '@mui/material/Box'; 4 | 5 | const CountingDown = ({counter, opensIn}) => { 6 | return ( 7 | 8 | 12 | Opens in 13 | 14 | 18 | {counter} 19 | 20 | 24 | {moment.utc(opensIn).format('Do of MMMM, h A')} UTC 25 | 26 | 27 | ); 28 | } 29 | 30 | export default CountingDown; -------------------------------------------------------------------------------- /src/components/shared/Countdown.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Countdown from 'react-countdown'; 3 | import Chip from '@mui/material/Chip'; 4 | import Typography from '@mui/material/Typography'; 5 | 6 | const renderer = ({ days, hours, minutes, seconds, completed }) => { 7 | if (completed) { 8 | return ( 9 | 14 | ); 15 | } else { 16 | return ( 17 | 21 | Opens in {days}:{hours}:{minutes}:{seconds} 22 | 23 | ) 24 | } 25 | }; 26 | 27 | const TimeCountdown = ({date}) => { 28 | return (); 32 | } 33 | 34 | export default TimeCountdown; -------------------------------------------------------------------------------- /src/hooks/useNativeTransactions.js: -------------------------------------------------------------------------------- 1 | import { useMoralisDapp } from "providers/MoralisDappProvider/MoralisDappProvider"; 2 | import { useEffect, useState } from "react"; 3 | import { useMoralisWeb3Api, useMoralisWeb3ApiCall } from "react-moralis"; 4 | 5 | const useNativeTransactions = (options) => { 6 | const { account } = useMoralisWeb3Api(); 7 | const { chainId } = useMoralisDapp(); 8 | const [nativeTransactions, setNativeTransactions] = useState([]); 9 | const { 10 | fetch: getNativeTransations, 11 | data, 12 | error, 13 | isLoading, 14 | } = useMoralisWeb3ApiCall(account.getTransactions, { chain: chainId, ...options }); 15 | 16 | useEffect(() => data && setNativeTransactions(data?.result), [data]); 17 | 18 | return { getNativeTransations, nativeTransactions, chainId, error, isLoading }; 19 | }; 20 | 21 | export default useNativeTransactions 22 | -------------------------------------------------------------------------------- /src/containers/home/index.js: -------------------------------------------------------------------------------- 1 | import { Fragment } from 'react' 2 | import HeroSection from '../../components/home/HeroSection'; 3 | import HowToSection from '../../components/home/HowToSection'; 4 | import TokenomicsSection from '../../components/home/TokenomicsSection'; 5 | import RoadmapSection from '../../components/home/RoadmapSection'; 6 | import PartnersSection from '../../components/home/PartnersSection'; 7 | import FeaturesSection from '../../components/home/FeaturesSection'; 8 | import AlreadyConvincedSection from '../../components/about/AlreadyConvincedSection'; 9 | 10 | export default function Home() { 11 | return ( 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ) 22 | } 23 | -------------------------------------------------------------------------------- /src/components/stake/StakeSteps.js: -------------------------------------------------------------------------------- 1 | import Box from '@mui/material/Box'; 2 | import Stepper from '@mui/material/Stepper'; 3 | import Step from '@mui/material/Step'; 4 | import StepLabel from '@mui/material/StepLabel'; 5 | import Typography from '@mui/material/Typography'; 6 | 7 | const steps = [ 8 | 'Approve you\'ve $', 9 | 'Enter an amount', 10 | 'Press stake', 11 | ]; 12 | 13 | const StakeSteps = () => { 14 | return ( 15 | 16 | 17 | {steps.map((label) => ( 18 | 19 | 20 | 21 | {label} 22 | 23 | 24 | 25 | ))} 26 | 27 | 28 | ); 29 | } 30 | 31 | export default StakeSteps; -------------------------------------------------------------------------------- /src/assets/images/network-logos/binance.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/components/shared/CopyToClipboard.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import { CopyToClipboard } from "react-copy-to-clipboard"; 3 | import Tooltip from "@mui/material/Tooltip"; 4 | import IconButton from '@mui/material/IconButton'; 5 | import ContentCopyIcon from '@mui/icons-material/ContentCopy'; 6 | 7 | const CopyText = ({text}) => { 8 | const [copied, setCopied] = useState(false); 9 | 10 | const handleTooltipOpen = () => { 11 | setCopied(true); 12 | }; 13 | 14 | const handleTooltipClose = () => { 15 | setCopied(false); 16 | }; 17 | 18 | return ( 19 | 23 | 24 | 25 | 26 | 27 | ); 28 | } 29 | 30 | export default CopyText; -------------------------------------------------------------------------------- /src/components/pre-sale/PreSaleSteps.js: -------------------------------------------------------------------------------- 1 | import Box from '@mui/material/Box'; 2 | import Stepper from '@mui/material/Stepper'; 3 | import Step from '@mui/material/Step'; 4 | import StepLabel from '@mui/material/StepLabel'; 5 | import Typography from '@mui/material/Typography'; 6 | 7 | const steps = [ 8 | 'Connect Wallet', 9 | 'Choose Network', 10 | 'Enter Amount', 11 | 'Click Buy', 12 | ]; 13 | 14 | const PreSaleSteps = () => { 15 | return ( 16 | 17 | 18 | {steps.map((label) => ( 19 | 20 | 21 | 22 | {label} 23 | 24 | 25 | 26 | ))} 27 | 28 | 29 | 30 | ); 31 | } 32 | 33 | export default PreSaleSteps; -------------------------------------------------------------------------------- /src/components/about/NftPlatformSection.js: -------------------------------------------------------------------------------- 1 | import Typography from '@mui/material/Typography'; 2 | import Box from '@mui/material/Box'; 3 | import Container from '@mui/material/Container'; 4 | 5 | const NftPlatformSection = () => { 6 | return ( 7 | 14 | 15 | 21 | NFT Platform 22 | 23 | 28 | ... 29 | 30 | 31 | 32 | ); 33 | } 34 | 35 | export default NftPlatformSection; 36 | -------------------------------------------------------------------------------- /src/hooks/useERC20Balance.js: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | import { useMoralis, useMoralisWeb3Api } from "react-moralis"; 3 | import { useMoralisDapp } from "providers/MoralisDappProvider/MoralisDappProvider"; 4 | 5 | export const useERC20Balance = (params) => { 6 | const { account } = useMoralisWeb3Api(); 7 | const { isInitialized } = useMoralis(); 8 | const { walletAddress, chainId } = useMoralisDapp(); 9 | 10 | const [assets, setAssets] = useState(); 11 | 12 | useEffect(() => { 13 | if (isInitialized) { 14 | fetchERC20Balance() 15 | .then((balance) => setAssets(balance)) 16 | } 17 | // eslint-disable-next-line react-hooks/exhaustive-deps 18 | }, [isInitialized, chainId, walletAddress]); 19 | 20 | const fetchERC20Balance = async () => { 21 | return await account 22 | .getTokenBalances({ address: walletAddress, chain: params?.chain || chainId }) 23 | .then((result) => result) 24 | }; 25 | 26 | return { fetchERC20Balance, assets }; 27 | }; 28 | -------------------------------------------------------------------------------- /src/hooks/useERC20Transfers.js: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | import { useMoralis, useMoralisWeb3Api } from "react-moralis"; 3 | import { useMoralisDapp } from "providers/MoralisDappProvider/MoralisDappProvider"; 4 | 5 | export const useERC20Transfers = () => { 6 | const { account } = useMoralisWeb3Api(); 7 | const { walletAddress, chainId } = useMoralisDapp(); 8 | const { isInitialized } = useMoralis(); 9 | const [ERC20Transfers, setERC20Transfers] = useState(); 10 | 11 | useEffect(() => { 12 | if (isInitialized) 13 | fetchERC20Transfers() 14 | .then((result) => setERC20Transfers(result)) 15 | // eslint-disable-next-line react-hooks/exhaustive-deps 16 | }, [isInitialized, chainId, walletAddress]); 17 | 18 | const fetchERC20Transfers = async () => { 19 | return await account 20 | .getTokenTransfers({ address: walletAddress, chain: chainId }) 21 | .then((result) => result.result) 22 | }; 23 | return { fetchERC20Transfers, ERC20Transfers, chainId }; 24 | }; 25 | -------------------------------------------------------------------------------- /src/assets/images/partners/gateio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/ui/Backdrop.js: -------------------------------------------------------------------------------- 1 | import Backdrop from '@mui/material/Backdrop'; 2 | import Typography from '@mui/material/Typography'; 3 | import TimerIcon from '@mui/icons-material/Timer'; 4 | import Countdown from 'react-countdown'; 5 | import Chip from '@mui/material/Chip'; 6 | 7 | const renderer = ({ days, hours, minutes, seconds }) => { 8 | return ( 9 | 13 | {days}:{hours}:{minutes}:{seconds} 14 | 15 | ) 16 | }; 17 | 18 | const TimeCountdown = ({date}) => { 19 | return (); 23 | } 24 | 25 | const BackdropMask = ({date}) => { 26 | return ( 27 | 31 | } 33 | label={} 34 | color="primary" 35 | /> 36 | 37 | ); 38 | } 39 | 40 | export default BackdropMask; -------------------------------------------------------------------------------- /src/components/Wallet/Wallet.jsx: -------------------------------------------------------------------------------- 1 | import Transfer from "./components/Transfer"; 2 | import NativeBalance from "../NativeBalance"; 3 | import Address from "../Address/Address"; 4 | import Blockie from "../Blockie"; 5 | import { Card } from "antd"; 6 | 7 | const styles = { 8 | title: { 9 | fontSize: "30px", 10 | fontWeight: "600", 11 | }, 12 | header: { 13 | display: "flex", 14 | flexDirection: "column", 15 | alignItems: "center", 16 | }, 17 | card: { 18 | boxShadow: "0 0.5rem 1.2rem rgb(189 197 209 / 20%)", 19 | border: "1px solid #e7eaf3", 20 | borderRadius: "1rem", 21 | width: "450px", 22 | fontSize: "16px", 23 | fontWeight: "500", 24 | }, 25 | }; 26 | 27 | function Wallet() { 28 | return ( 29 | 33 | 34 |
35 | 36 | 37 | } 38 | > 39 | 40 | 41 | ); 42 | } 43 | 44 | export default Wallet; 45 | -------------------------------------------------------------------------------- /src/components/account/Unauthenticated.js: -------------------------------------------------------------------------------- 1 | import { Fragment, useState } from "react"; 2 | import Button from '@mui/material/Button'; 3 | import WalletProviders from "./NetworkWalletProviders"; 4 | import WalletIcon from '../ui/icons/Wallet' 5 | 6 | const Unauthenticated = () => { 7 | const [walletProvidersDialogOpen, setWalletProvidersDialogOpen] = useState(false); 8 | 9 | const handleWalletProvidersDialogToggle = () => { 10 | setWalletProvidersDialogOpen(!walletProvidersDialogOpen); 11 | }; 12 | 13 | return ( 14 | 15 | 25 | 29 | 30 | ); 31 | } 32 | 33 | export default Unauthenticated; -------------------------------------------------------------------------------- /src/components/ui/icons/Wallet.js: -------------------------------------------------------------------------------- 1 | import SvgIcon from '@mui/material/SvgIcon'; 2 | 3 | export default function Wallet(props) { 4 | return ( 5 | 6 | 9 | 10 | ); 11 | } -------------------------------------------------------------------------------- /src/components/ui/Alert.js: -------------------------------------------------------------------------------- 1 | import React, { Fragment } from 'react'; 2 | import Snackbar from '@mui/material/Snackbar'; 3 | import IconButton from '@mui/material/IconButton'; 4 | import CloseIcon from '@mui/icons-material/Close'; 5 | 6 | const SnackbarAlert = ({openAlert, setOpenAlert, msg}) => { 7 | 8 | const action = ( 9 | 10 | setOpenAlert(false)} 15 | sx={{ 16 | bgcolor: 'rgba(255,255,255,0.2)', 17 | '&:hover': { 18 | backgroundColor: 'rgba(255,255,255,0.3)', 19 | } 20 | }} 21 | > 22 | 23 | 24 | 25 | ); 26 | 27 | return setOpenAlert(false)} 32 | message={msg} 33 | action={action} 34 | ContentProps={{ 35 | sx: { borderRadius: 10 } 36 | }} 37 | > 38 | 39 | } 40 | 41 | export default SnackbarAlert; -------------------------------------------------------------------------------- /src/components/Ramper.jsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import { useMoralis } from "react-moralis"; 3 | import { useEffect } from "react/cjs/react.development"; 4 | 5 | function Ramper() { 6 | const [ramper, setRamper] = useState(); 7 | const { Moralis } = useMoralis(); 8 | useEffect(() => { 9 | if (!Moralis?.["Plugins"]?.["fiat"]) return null; 10 | async function initPlugin() { 11 | Moralis.Plugins.fiat 12 | .buy({}, { disableTriggers: true }) 13 | .then((data) => setRamper(data.data)); 14 | } 15 | initPlugin(); 16 | // eslint-disable-next-line react-hooks/exhaustive-deps 17 | }, [Moralis.Plugins]); 18 | 19 | return ( 20 |