├── .eslintrc.json ├── next.config.js ├── .vscode └── settings.json ├── public ├── demo.png ├── favicon.ico ├── images │ ├── 1.png │ ├── 11.png │ ├── 2.png │ ├── 5.png │ ├── 7.png │ ├── 9.png │ ├── preview.gif │ └── underline.svg └── vercel.svg ├── postcss.config.js ├── artifacts ├── contracts │ └── EmojiFaces.sol │ │ └── EmojiFaces.dbg.json └── @openzeppelin │ └── contracts │ ├── access │ └── Ownable.sol │ │ ├── Ownable.dbg.json │ │ └── Ownable.json │ ├── utils │ ├── Address.sol │ │ ├── Address.dbg.json │ │ └── Address.json │ ├── Context.sol │ │ ├── Context.dbg.json │ │ └── Context.json │ ├── Strings.sol │ │ ├── Strings.dbg.json │ │ └── Strings.json │ ├── math │ │ └── SafeMath.sol │ │ │ ├── SafeMath.dbg.json │ │ │ └── SafeMath.json │ └── introspection │ │ ├── ERC165.sol │ │ ├── ERC165.dbg.json │ │ └── ERC165.json │ │ └── IERC165.sol │ │ ├── IERC165.dbg.json │ │ └── IERC165.json │ └── token │ └── ERC721 │ ├── ERC721.sol │ ├── ERC721.dbg.json │ └── ERC721.json │ ├── IERC721.sol │ ├── IERC721.dbg.json │ └── IERC721.json │ ├── IERC721Receiver.sol │ ├── IERC721Receiver.dbg.json │ └── IERC721Receiver.json │ └── extensions │ ├── ERC721Enumerable.sol │ ├── ERC721Enumerable.dbg.json │ └── ERC721Enumerable.json │ ├── IERC721Metadata.sol │ ├── IERC721Metadata.dbg.json │ └── IERC721Metadata.json │ └── IERC721Enumerable.sol │ ├── IERC721Enumerable.dbg.json │ └── IERC721Enumerable.json ├── pages ├── api │ └── hello.js ├── _app.js └── index.js ├── .env ├── context └── statusContext.js ├── .gitignore ├── test └── sample-test.js ├── tailwind.config.js ├── scripts └── deploy.js ├── package.json ├── hardhat.config.js ├── components ├── EmblaCarouselButtons.js ├── Gallery.js ├── Hero.js ├── About.js ├── Header.js └── FAQ.js ├── README.md ├── styles ├── embla.css └── globals.css ├── utils └── interact.js ├── contracts └── EmojiFaces.sol └── cache └── solidity-files-cache.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | reactStrictMode: true, 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "solidity.defaultCompiler": "remote" 3 | } 4 | -------------------------------------------------------------------------------- /public/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/demo.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/1.png -------------------------------------------------------------------------------- /public/images/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/11.png -------------------------------------------------------------------------------- /public/images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/2.png -------------------------------------------------------------------------------- /public/images/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/5.png -------------------------------------------------------------------------------- /public/images/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/7.png -------------------------------------------------------------------------------- /public/images/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/9.png -------------------------------------------------------------------------------- /public/images/preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingwithdidem/emojifacesdapp/HEAD/public/images/preview.gif -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /artifacts/contracts/EmojiFaces.sol/EmojiFaces.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /pages/api/hello.js: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | 3 | export default function handler(req, res) { 4 | res.status(200).json({ name: 'John Doe' }) 5 | } 6 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_API_URL=https://eth-rinkeby.alchemyapi.io/v2/bhwL9aR43PcVagejzxaZJZRNvdINBM2E 2 | PRIVATE_KEY=588b9704b4c6f48778423bb5b92acc602082e01b648c50b52c24df6a9ea4ae21 3 | ETHERSCAN_API_KEY=VU5CDHE8TAMGPBGVFA7BUFEB5EUPCG3TXR -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol/ERC721Enumerable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol/IERC721Enumerable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "../../../../../../build-info/35e29ddf4b632ac35a29e7d73b92ed07.json" 4 | } 5 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import "../styles/globals.css"; 2 | import { StatusProvider } from "../context/statusContext"; 3 | 4 | function MyApp({ Component, pageProps }) { 5 | return ( 6 | 7 | 8 | 9 | ); 10 | } 11 | 12 | export default MyApp; 13 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Context", 4 | "sourceName": "@openzeppelin/contracts/utils/Context.sol", 5 | "abi": [], 6 | "bytecode": "0x", 7 | "deployedBytecode": "0x", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /context/statusContext.js: -------------------------------------------------------------------------------- 1 | import React, { useContext, createContext, useState } from "react"; 2 | 3 | const StatusContext = createContext(); 4 | 5 | const StatusProvider = ({ children }) => { 6 | const [status, setStatus] = useState(""); 7 | 8 | return ( 9 | 10 | {children} 11 | 12 | ); 13 | }; 14 | 15 | const useStatus = () => useContext(StatusContext); 16 | 17 | export { StatusProvider, useStatus }; 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | 28 | 29 | # vercel 30 | .vercel 31 | 32 | node_modules 33 | coverage 34 | coverage.json 35 | typechain 36 | 37 | #Hardhat files 38 | -------------------------------------------------------------------------------- /pages/index.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Image from "next/image"; 3 | 4 | import Header from "../components/Header"; 5 | import Hero from "../components/Hero"; 6 | import About from "../components/About"; 7 | import Gallery from "../components/Gallery"; 8 | import FAQ from "../components/FAQ"; 9 | 10 | export default function Home() { 11 | return ( 12 |
13 |
14 | 15 | 16 | 17 | 18 |
19 | ); 20 | } 21 | -------------------------------------------------------------------------------- /test/sample-test.js: -------------------------------------------------------------------------------- 1 | const { expect } = require("chai"); 2 | const { ethers } = require("hardhat"); 3 | 4 | describe("Greeter", function () { 5 | it("Should return the new greeting once it's changed", async function () { 6 | const Greeter = await ethers.getContractFactory("Greeter"); 7 | const greeter = await Greeter.deploy("Hello, world!"); 8 | await greeter.deployed(); 9 | 10 | expect(await greeter.greet()).to.equal("Hello, world!"); 11 | 12 | const setGreetingTx = await greeter.setGreeting("Hola, mundo!"); 13 | 14 | // wait until the transaction is mined 15 | await setGreetingTx.wait(); 16 | 17 | expect(await greeter.greet()).to.equal("Hola, mundo!"); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const defaultTheme = require("tailwindcss/defaultTheme"); 2 | const colors = require("tailwindcss/colors"); 3 | 4 | module.exports = { 5 | purge: ["./pages/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"], 6 | darkMode: false, // or 'media' or 'class' 7 | theme: { 8 | extend: { 9 | fontFamily: { 10 | sans: ["Roboto", ...defaultTheme.fontFamily.sans], 11 | comfortaa: ["'Comfortaa', cursive"], 12 | }, 13 | colors: { 14 | sky: colors.sky, 15 | cyan: colors.cyan, 16 | primary: "#0f1033", 17 | secondary: "#7d08ff", 18 | }, 19 | }, 20 | }, 21 | variants: { 22 | extend: {}, 23 | }, 24 | plugins: [], 25 | }; 26 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Address", 4 | "sourceName": "@openzeppelin/contracts/utils/Address.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209e711f4403d5f2f920346d7c366ffc7e0ab3f79f9b2c0ec54c95c08546d712b664736f6c63430008040033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209e711f4403d5f2f920346d7c366ffc7e0ab3f79f9b2c0ec54c95c08546d712b664736f6c63430008040033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Strings", 4 | "sourceName": "@openzeppelin/contracts/utils/Strings.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a2f2f8e12b48c9f6d685c445f55390fed09b5cb33d8cb25813363357e8b62b864736f6c63430008040033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a2f2f8e12b48c9f6d685c445f55390fed09b5cb33d8cb25813363357e8b62b864736f6c63430008040033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC165", 4 | "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC165", 4 | "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "SafeMath", 4 | "sourceName": "@openzeppelin/contracts/utils/math/SafeMath.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220765b27ffbbb2106fbdf2c5b485495f3a59fc309d4715543c8391db726c4aea7064736f6c63430008040033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220765b27ffbbb2106fbdf2c5b485495f3a59fc309d4715543c8391db726c4aea7064736f6c63430008040033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /scripts/deploy.js: -------------------------------------------------------------------------------- 1 | // We require the Hardhat Runtime Environment explicitly here. This is optional 2 | // but useful for running the script in a standalone fashion through `node